在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;

然后就退出了客户端命令行。


《Flink原理深入与编程实战》