在CentOS 7上单节点安装ClickHouse数据库
ClickHouse是由Yandex为OLAP和大数据用例创建的一个开源、面向列的分析数据库。在线分析处理(OLAP)系统允许组织大量的数据并执行复杂的查询。它们能够管理pb级的数据并快速返回查询结果。通过这种方式,OLAP对于数据科学和业务分析等领域的工作非常有用。
ClickHouse对实时查询处理的支持使它适合于需要亚秒级分析结果的应用程序。ClickHouse的查询语言是一种SQL方言,它支持强大的声明式查询功能,同时为最终用户提供熟悉度和更小的学习曲线。
目前国内ClickHouse社区火热,各个大厂纷纷跟进大规模使用:
- 今日头条,内部用ClickHouse来做用户行为分析,内部一共几千个ClickHouse节点,单集群最大1200节点,总数据量几十PB,日增原始数据300TB左右。
- 腾讯,内部用ClickHouse做游戏数据分析,并且为之建立了一整套监控运维体系。
- 携程,内部从18年7月份开始接入试用,目前80%的业务都跑在ClickHouse上。每天数据增量十多亿,近百万次查询请求。
- 快手,内部也在使用ClickHouse,存储总量大约10PB, 每天新增200TB, 90%查询小于3S。
在本教程中,我们将学习在自己的机器上安装ClickHouse数据库服务器和客户机。我们将使用DBMS执行典型任务,并可选地启用来自另一台服务器的远程访问,以便能够从另一台机器连接到数据库。
安装ClickHouse
在本节中,我们将使用yum安装ClickHouse服务器和客户端程序。请按以下步骤操作。
1. 首先,通过执行以下命令安装基本依赖项:
$ sudo yum install -y pygpgme yum-utils
pygpgme包用于添加和验证GPG签名,而yum-utils允许轻松管理源rpm。
Altinity是一家ClickHouse咨询公司,它维护着一个YUM存储库,其中包含最新版本的ClickHouse。通过添加存储库的详细信息,以便通过创建文件安全地下载经过验证的ClickHouse包。
2. 通过执行以下命令创建存储库详细信息文件:
$ sudo nano /etc/yum.repos.d/altinity_clickhouse.repo
接下来,向文件中添加以下内容:
[altinity_clickhouse] name=altinity_clickhouse baseurl=https://packagecloud.io/altinity/clickhouse/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [altinity_clickhouse-source] name=altinity_clickhouse-source baseurl=https://packagecloud.io/altinity/clickhouse/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [repo.yandex.ru_clickhouse_rpm_stable_x86_64] name=clickhouse stable baseurl=https://mirrors.aliyun.com/clickhouse/rpm/stable enabled=1
现在已经添加了存储库,使用以下命令启用它们:
$ sudo yum -q makecache -y --disablerepo='*' --enablerepo='altinity_clickhouse'
-q标志告诉命令在静默模式下运行。makecache命令使--enablerepo标志中指定的包可用。
3. 现在可以安装clickhouse-server和clickhouse-client包了。用以下方法安装:
$ sudo yum install -y clickhouse-server clickhouse-client
执行以上命令,经过安装过程,已经成功安装了ClickHouse服务器和客户机。现在可以启动数据库服务并确保其正确运行。
4. 启动服务。在上一步中安装的clickhouse-server包创建一个systemd服务,该服务执行启动、停止和重新启动数据库服务器等操作。systemd是Linux系统的初始化系统,用于初始化和管理服务。在本节中,将启动服务并验证它正在成功运行。
运行以下命令启动clickhouse-server服务:
$ sudo service clickhouse-server start
将看到类似如下的输出:
Start clickhouse-server service: Path to data directory in /etc/clickhouse-server/config.xml: /var/lib/clickhouse/ DONE
要验证服务是否成功运行,请执行:
$ sudo service clickhouse-server status
它将打印类似如下的输出,表明服务器正常运行:
clickhouse-server service is running
这表明已经成功启动了ClickHouse服务器,现在可以使用clickhouse-client CLI程序连接到服务器。
运行以下命令启动一个客户端会话:
$ clickhouse-client --multiline
这个命令将把用户登录到客户端提示符中,在那里您可以运行ClickHouse SQL语句来执行以下操作:
- 创建、更新和删除数据库、表、索引、分区和视图。
- 执行查询以检索使用各种条件可选筛选和分组的数据。
其中--multiline标志告诉CLI允许输入跨越多行的查询。
现在您已经进入了ClickHouse命令提示符,如下所示:
xueai8 :)
ClickHouse命令提示符是一个可爱的笑脸。然后就可以像MySQL命令行一样执行标准SQL语句。
要退出ClickHouse命令行,执行exit语句,如下所示:
xueai8 :) exit;
然后就退出了客户端命令行。