目前使用的clickhouse版本为:22.2.3.5
官方文档:https://clickhouse.com/docs/zh/getting-started/install
clickhouse需要大量操作文件,故需要修改文件句柄数:
sudo vim /etc/security/limits.conf
尾部增加:
* soft nofile 655350
* hard nofile 655350
* soft nproc 655350
* hard nproc 655350
vim /etc/selinux/config
SELINUX=disabled
手册采用rpm包进行安装,clickhouse-RPM包地址:https://packages.clickhouse.com/rpm/stable/
注意:clickhouse版本要选择stable【稳定】目录下的版本
bdp平台clickhouse版本为:22.2.3.5
建议在root用户下执行命令
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server-22.2.3.5 clickhouse-client-22.2.3.5
启停命令:
sudo systemctl start clickhouse-server
sudo systemctl stop clickhouse-server
sudo systemctl status clickhouse-server
sudo systemctl restart clickhouse-server
# 如果没有systemctl,可以运行如下命令:
sudo /etc/init.d/clickhouse-server start
sudo /etc/init.d/clickhouse-server status
sudo /etc/init.d/clickhouse-server stop
sudo /etc/init.d/clickhouse-server restart
clickhouse交互式客户端:
# 默认连接localhost:9000
clickhouse-client
# 指定ip 和 端口
clickhouse-client -h 127.0.0.1 --port 9300
# 指定ip 和 端口 以及用户密码
clickhouse-client -h 127.0.0.1 --port 9300 -u bdp --password bdp
客户端可以在交互和非交互(批处理)模式下使用。要使用批处理模式,请指定query
参数,或将数据发送到stdin
(它会验证stdin
是否是终端),或两者同时进行。与HTTP接口类似,当使用query
参数并向stdin
发送数据时,客户端请求就是一行一行的stdin
输入作为query
的参数。这种方式在大规模的插入请求中非常方便。
使用客户端插入数据的示例:
$ clickhouse-client -h 127.0.0.1 --port 9300 --database=default --query="CREATE TABLE test(id Int64, name String, time DateTime)engine MergeTree ORDER BY id";
$ echo -ne "1, 'some text', '2016-08-14 00:00:00'\n2, 'some more text', '2016-08-14 00:00:01'" | clickhouse-client -h 127.0.0.1 --port 9300 --database=default --query="INSERT INTO test FORMAT CSV";
# 通过EOF符号确定结束边界
$ cat <<_EOF | clickhouse-client -h 127.0.0.1 --port 9300 --database=default --query="INSERT INTO test FORMAT CSV";
3, 'some text', '2016-08-14 00:00:00'
4, 'some more text', '2016-08-14 00:00:01'
_EOF
$ echo 1,A,2016-08-14 00:00:00 > file.csv
$ cat file.csv | clickhouse-client -h 127.0.0.1 --port 9300 --database=default --query="INSERT INTO test FORMAT CSV";
$ clickhouse-client -h 127.0.0.1 --port 9300 --database=default --query="select * from test";
更多参数参考官网:https://clickhouse.com/docs/zh/interfaces/cli
clickhouse日志位置:/var/log/clickhouse-server
查看命令:
tail -100f /var/log/clickhouse-server/clickhouse-server.log
tail -100f /var/log/clickhouse-server/clickhouse-server.err.log
clickhouse配置文件位置:/etc/clickhouse-server
config.xml为主要配置文件
user.xml为用户权限配置文件
clickhouse表数据存储位置为:/var/lib/clickhouse/data
clickhouse默认端口为9000, 如果要更改端口号,需要更改config.xml文件:
<tcp_port>9300tcp_port>
保存后重启即可
更改config.xml文件,寻找
<listen_host>0.0.0.0listen_host>
保存后重启即可
yum list installed | grep clickhouse
yum remove -y clickhouse-common-static
yum remove -y clickhouse-server-common
rm -rf /var/lib/clickhouse
rm -rf /etc/clickhouse-*
rm -rf /var/log/clickhouse-server
clickhouse内置查询可视化界面:tabix
只需更改config.xml文件,寻找
<http_server_default_response><![CDATA[<html ng-app="SMI2"><head><base href="http:///
ui.tabix.io/"></head><body><div ui-view="" class="content-ui"></div><script src="http:///
loader.tabix.io/master.js"></script></body></html>]]></http_server_default_response>
保存后重启即可
然后打开浏览器输入:ip:8123
默认用户为defualt,密码为空即可
当使用副本表 & 分布式表是就需要使用zookeeper做一致性协调
集成zookeeper只需更改config.xml文件,寻找zookeeper标签解除注释,如下:
多台clickhouse同步修改
若要验证zookeeper上是否注册成功,可以通过clickhouse命令来查看:
SELECT *
FROM system.zookeeper
WHERE path IN ('/', '/clickhouse')