ClickHouse安装过程:
ClickHouse支持运行在主流64位CPU架构(X86、AArch和PowerPC)的Linux操作 系统之上,可以通过源码编译、预编译压缩包、Docker镜像和RPM等多种方法进行安装。由于篇幅有限,本节着重讲解离线RPM的安装方法。更多的安装方法请参阅官方于册,此处不再赘述。
1、环境准备
在这个示例中,演示服务器的操作系统为CentOS 7.7,而ClickHouse 选用19.17.4.11版本。在正式安装之前,我们还需要做一些准备工作。
1.1 下载RPM安装包
用于安装的RPM包可以从下面两个仓库中任选一个进行下载:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
https://packagecloud.io/altinity/clickhouse
需要下载以下4个安装包文件:
clickhouse-client-19.17.4.11-1.c1.x86_64.rpm
clickhouse-comman-static-19.17.4.11-1.c1.x86_64.rpm
clickhouse-server-19.17.4.11-1.c1.x86_64.rpm
clickhouse-server-common-19.17.4.11-1.e17.x86_64.rpm
1.2 关闭防火墙井检查环境依赖
首先,考虑到后续的集群部署,通常建议关闭本机的防火墙,在Centos 7下关闭防墙的方法如下:
–关闭防火墙
systemccl stop firewnlld.service
–禁用开机启必项
systenct1 disable firewalld.oervice
接着,需要验证当前服务器的CPU是否支持SSE4.2指令集,因为向量化执行需要用到这项特性:
# grcp -q sse4_ 2 /proc/cpuinfo s& echo "SSE 4.2 supported" || echo " SSE 4.2 not supported"
如果不支持SSE指令集,则不能直接使用先前下载的预编泽安装包,需要通过源码编译特定的版本进行安装。
1.3 设置 FQDN
现在需要为服务器设置FQDN:
#hostnamectl--static set-hostname ch5.nauu.com
验证修改是否生效:
# hostname -f ch5.nauu.com
最后需要配置hosts文件,配置后的效果如下:
cat /etc/hosts
......
10.37.129.10 ch5.nauu.com ch5
2、安装clickhouse
2.1.安装执行
假设已经将待安装的RPM文件上传到了服务器的/chbase/setup路径下,此时进入该目录:#cd/chbase/setup
执行如下命令后即可安装RPM文件:
# rpm -ivh ./*.rpm
因为是离线安装,在安装的过程中可能会出现缺少依赖包的情况,
error: Failed dependencies:
Libioudaca.so.42()(64bit) Is needcd by ···..
此时需要将这些缺失的依赖补齐
2.2 目录结构
程序在安装的过程中会自动构建整套目录结构,接下来分别说明它们的作用。首先是核心目录部分:
要通过源码编
(1)/etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户 配置users.xml等。
(2)/var/lib/clickhouse:默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)。
(3)/var/log/clickhouse—server:默认保存日志的目录(通常会修改路径配置,将日志保存到大容量磁盘挂载的路径)。
接着是配置文件部分:
(1)/etc/security/limits.d/clickhouse.conf:文件句柄数量的配置,默认值如下所示。
# cat /etc/secu=ity/limits.d/clickhouse.conf
clickhouse soft nofile 262144
clickhouse hard nofile 262144
该配置也可以通过config.xml的max_open_files修改。
(2)/etc/cron.d/clickhouse-server:cron定时任务配置,用于恢复因异常原因中断的 ClickHouse服务进程,其默认的配置如下。
# cat/etc/cron.d/clickhouse-server
#*/10****root (which service>/dev/null 2>&1 && (service clickhouse-server
condstart ll:)) ll/etc/init.d/clickhouse-server condstart> /dev/null 2>&1
可以看到,在默认的情况下,每隔10秒就会使用condstart尝试启动一次 ClickHouse服务,而condstart命令的启动逻辑如下所示。
is_running |l service_or_func start
如果ClickHouse 服务正在运行,则跳过;如果没有运行,则通过 start 启动。
最后是一组在/usr/bin路径下的可执行文件:
- clickhouse:主程序的可执行文件。
- clickhouse-client:一个指向clickHouse可执行文件的软链接,供客户端连接使用
- clickhouse-server:一个指向clickHouse可执行文件的软链接,供服务端启动使用
- clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解。
2.3.启动服务
在启动服务之前,建议修改默认的数据保存目录,将它切换到大容量磁盘挂载的路径。
打开config.xml配置文件,修改数据保存的地址:
<path>/chbase/data/</path>
<tmp_path>/chbase/data/tmp/</tmp_path>
<user_files_path>/chbase/data/user_files/</user_files_path>
正因为修改了默认的存储路径,所以需要将该目录的Owner设置为clickhouse用户:
# chown clickhouse.clickhouse /chbase/data/ -R
clickhouse 用户由安装程序自动创建,启动脚本会基于此用户启动服务。
在上述准备工作全部完成之后,就可以启动ClickHouse了。有两种启动方式:
首先是基于默认配置启动,其启动命令如下。
# service clickhouse-server start
Start clickhouse-server service: Path to data directory in /etc/clickhouse-
server/config.xml: /chbase/data/
DONE
在这种启动方式下,会默认读取/etc/clickhouse-server/config.xml 配置文件。
其次是基于指定配置启动,在这种方式下需要手动切换到clickhouse用户启动。
# su clickhouse
This account is currently not available.
如果切换用户出现了上述的异常情况,这是由于clickhouse用户当前还未激活导致,
可用如下命令将其激活:
# usermod -s /bin/bash clickhouse
再次切换到clickhouse用户并基于指定配置启动:
# clickhouse-server --config-file=/etc/clickhouse-server/config-ch5.xml
在启动成功之后,就可以使用客户端测试连接了:
# clickhouse-client
ClickHouse client version 19.17.4.11.
Connecting to localhost:9000 as user default.
:) show databases;
2 rows in set. Elapsed: 0.001 sec.
至此,单节点的安装过程就全部完成了。如果需要安装新的节点,重复上述安装过程
即可。在新节点安装完成之后,记得在/etc/hosts中添加每台服务器节点的FQDN,例如:
的路径。
# cat /etc/hosts
......
10.37.129.10 ch5.nauu.com ch5
--新节点
10.37.129.13 ch6.nauu.ccm ch6
2.4 版本升级
在使用离线RPM安装包安装后,可以直接通过rpm命令升级:
# cd/chbase/setup
# rpm -Uvh./*.rpm
Preparing... #####################[100%]
......
在升级的过程中,原有的config.xml等配置均会被保留。基于其他安装方法的升级方
案,请参阅官方手册。