CentOS7系统安装单节点ClickHouse
- 关闭防火墙
- 验证是否支持SSE4.2指令集
- RPM包下载安装
- 依赖下载安装
- 启动ClickHouse
- 远程访问配置
- 密码配置
关闭防火墙
// 关闭防火墙
systemctl stop firewalld.service
// 禁止开机启动
systemctl disable firewalld.service
验证是否支持SSE4.2指令集
// 验证cpu是否支持SSE4.2指令集
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
显示SSE 4.2 supported即为支持。
ClickHouse的向量化执行功能依赖于SSE4.2特性,如果不支持,无法通过预编译安装包安装,需要编译源码的特定版本进行安装。
RPM包下载安装
- 安装版本:20.6.6.7
- 从https://packagecloud.io/altinity/clickhouse下载相应系统和版本的rpm包
- 安装
rpm -ivh clickhouse-server-common-20.6.6.7-1.el7.x86_64.rpm
rpm -ivh clickhouse-common-static-20.6.6.7-1.el7.x86_64.rpm
rpm -ivh clickhouse-server-20.6.6.7-1.el7.x86_64.rpm
rpm -ivh clickhouse-client-20.6.6.7-1.el7.x86_64.rpm
rpm -ivh clickhouse-test-20.6.6.7-1.el7.x86_64.rpm
- 缺少依赖包问题
错误:依赖检测失败:
/usr/bin/expect 被 clickhouse-test-20.6.6.7-1.el7.x86_64 需要
perl(Data::Dumper) 被 clickhouse-test-20.6.6.7-1.el7.x86_64 需要
perl(JSON::XS) 被 clickhouse-test-20.6.6.7-1.el7.x86_64 需要
依赖下载安装
- /usr/bin/expect依赖
yum install expect
- perl(Data:Dumper)依赖
yum install autoconf
-
perl(JSON::XS)依赖
在https://pkgs.org/中搜索该依赖,根据下载地址下载对应依赖并安装
// 下载三个依赖
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/perl-JSON-XS-3.01-2.el7.x86_64.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/perl-Types-Serialiser-1.0-1.el7.noarch.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/perl-common-sense-3.6-4.el7.noarch.rpm
// 安装
rpm -ivh perl-common-sense-3.6-4.el7.noarch.rpm
rpm -ivh perl-Types-Serialiser-1.0-1.el7.noarch.rpm
rpm -ivh perl-JSON-XS-3.01-2.el7.x86_64.rpm
最后执行未安装成功的rpm包即可。
启动ClickHouse
// 启动ClickHouse服务
service clickhouse-server start
// 启动客户端
clickhouse-client
启动成功并显示版本信息
远程访问配置
在/etc/clickhouse-server/config.xml文件中修改<Listen_host>标签来控制远程访问ip,这里分为两种模式,ipv6开放远程访问需要设置为<Listen_host>::<Listen_host>,ipv4需要设置为<listen_host>0.0.0.0<listen_host>。
密码配置
密码在/etc/clickhoust-server/user_files.xml文件中配置,默认用户为default,在标签中可以设置加密密码。
本地客户端访问可以在客户端用户文件中进行用户名密码的配置,便可以直接通过clickhouse-client登录本地服务。