-
参考文档:
-
下载地址:download
-
clickhouse版本:20.3.9.70-2
-
需要下载的包:
clickhouse-client-20.3.9.70-2.noarch.rpm clickhouse-common-static-20.3.9.70-2.x86_64.rpm clickhouse-common-static-dbg-20.3.9.70-2.x86_64.rpm clickhouse-server-20.3.9.70-2.noarch.rpm
安装步骤
-
clickhouse要求系统支持SSE 4.2指令集,一下命令检查CPU是否支持SSE:
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" -
安装:
yum install -y ./clickhouse-common-static-20.3.9.70-2.x86_64.rpm yum install -y ./clickhouse-common-static-dbg-20.3.9.70-2.x86_64.rpm yum install -y ./clickhouse-server-20.3.9.70-2.noarch.rpm yum install -y ./clickhouse-client-20.3.9.70-2.noarch.rpm -
配置修改,配置文件为
/etc/clickhouse-server/config.xml:<!-- 允许远程连接--> <listen_host>::</listen_host> <!-- 数据目录修改,修改为磁盘空间充足的路径,磁盘空间可通过 df -h 命令查看 --> <path>/data2/clickhouse/</path> <tmp_path>/data2/clickhouse/tmp/</tmp_path> <user_files_path>/data2/clickhouse/user_files/</user_files_path> <format_schema_path>/data2/clickhouse/format_schemas/</format_schema_path> <!-- 日志文件切割,根据需求调整,默认为1000m--> <size>100M</size> <count>10</count> <!-- 允许clickhouse打开的最大文件数,默认为maximum,结合linux的ulimit -a 配置, cat /proc/ck_pid/limits查看进行限制,不设置可能会出现open too many files的错误 如果不生效确认下/etc/security/limits.d/clickhouse.conf配置是否一致,以及服务是否重启了--> <!-- <max_open_files>262144</max_open_files> --> <!-- 允许的文件导入的错误数(放到<interserver_http_port> 配置项后面)--> <input_format_allow_errors_num>100</input_format_allow_errors_num> <!-- 配置连接超时时间参数 --> <keep_alive_timeout>900</keep_alive_timeout> <default_session_timeout>600</default_session_timeout> -
添加用户,在
/etc/clickhouse-server/users.xml中下修改或者添加以下内容(ckadmin为用户名,password中配置密码):<profiles> <default> <!-- 按环境修改单个查询使用的最大内存限制 这里为20G --> <max_memory_usage>21474836480</max_memory_usage> <!-- 启用未压缩块的缓存,提升短查询速度。警用0或启用1。默认情况下0(禁用) --> <use_uncompressed_cache>1</use_uncompressed_cache> <!-- join的时候是否使用null,默认为0,在join时如果为空会对空cell赋默认值,要在角色中配置才能生效!!! --> <join_use_nulls>1</join_use_nulls> <!-- 运行查询时可以从表中读取的最大行数 --> <max_rows_to_read>100000000</max_rows_to_read> </default> </profiles> <users> <default> <networks incl="networks" replace="replace"> <!-- 修改default用户的这一项 禁止远程登录 --> <ip>::1</ip> </networks> </default> <!-- 添加用户 --> <ckadmin> <password>ckadmin123</password> <networks incl="networks" replace="replace"> <ip>::/0</ip> </networks> <!-- Settings profile for user. --> <profile>default</profile> <!-- Quota for user. --> <quota>default</quota> </ckadmin> </users> -
修改
/etc/security/limits.d/clickhouse.conf(可选,默认情况下可不用修改),和/etc/clickhouse-server/config.xml中的max_open_files保持一致,centos7中/etc/security/limits.conf对系统服务不生效,修改这个文件没用,另外/etc/security/limits.d/clickhouse.conf默认是262144已经很大了:clickhouse soft nofile 262144 clickhouse hard nofile 262144 -
创建clickhouse用户:
useradd clickhouse # 修改登录密码 passwd clickhouse chmod u+w /etc/sudoers # 加入以下内容 clickhouse ALL=(ALL) NOPASSWD:ALL chmod u-w /etc/sudoers chown -R clickhouse:clickhouse /etc/clickhouse-* chown -R clickhouse:clickhouse /var/lib/clickhouse/ -
启动服务:
su clickhouse # 启动 sudo service clickhouse-server start # 查看状态 sudo service clickhouse-server status -
验证连接,本机测试后在用远程工具连接测试一下(远程连接的端口为8123):
clickhouse-client --host localhost --port 9000 --user ckadmin --password ckadmin123 show databases; SHOW DATABASES ┌─name────┐ │ default │ │ system │ └─────────┘ 2 rows in set. Elapsed: 0.004 sec. -
确认clickhouse-server进程文件数限制:
# 查找进程号 ps -ef | grep clickhouse # 查看限制 cat /proc/ck_pid/limits