首先,访问官网 https://clickhouse.com/#quick-start 根据你主机的类型,下载clickhouse
我这里是centos8,因此采用如下方式
sudo yum install yum-utils -y sudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG sudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.repo sudo yum install clickhouse-server clickhouse-client sudo /etc/init.d/clickhouse-server start -y clickhouse-client修改数据存储目录
查看 clickhouse-server 的配置文件,默认的数据存储目录为 /var/lib/clickhouse 。可以修改为你自己的目录,但是必须保证目录的磁盘空间足够大
有两种方式可以查看运行状态,一种是clickhouse自带的方法,还有一种是systemctl工具
- /etc/init.d/clickhouse-server status
clickhouse 自带了查看启动状态的命令。对于其它命令,可以使用 help 参数进行查看。如果正在运行,会打印 running 和 pid
- systemctl status clickhouse-server
使用系统服务命令,可以查看 clickhouse-server 服务是否正在运行。正在运行的话,状态为 active(running);如果处于停止状态,则是 inactive(dead)。此外还会打印主进程PID,占用内存,启动参数等信息
- 启动 /etc/init.d/clickhouse-server start
- 停止 /etc/init.d/clickhouse-server stop
- 重启 /etc/init.d/clickhouse-server restart
- client 连接 server /usr/bin/clickhouse-client --host localhost --port 9000
由于服务器资源有限,zookeeper只需要部署一台机即可,并不需要做集群
下载并解压 zookeeper(https://downloads.apache.org/zookeeper/current/),然后进入bin目录,执行如下命令
# 启动zookeeper sh zkServer.sh start ../conf/zoo_sample.cfg # 查看zookeeper的运行状态 ./zkServer.sh status ../conf/zoo_sample.cfg # 查看zookeeper线程 jps
可以看到,启动的模式为 standalone,即单例模式
网上搜到常见的做法是新建/etc/metrika.xml 文件,添加如下内容(所有的IP改为你集群中的IP,这里演示3个节点【节点必须是奇数个,这于zookeeper的选举机制有关】)。除了macros节点需要为每台主机分别进行配置外,其它都是一样的。
true 192.168.100.101 9000 true 192.168.100.102 9000 true 192.168.100.103 9000 192.168.100.101 2181 192.168.100.101 ::/0 10000000000 0.01 lz4
如果zookeeper用的是集群,则需要将 zookeeper-servers节点改为
192.168.100.101 2181 192.168.100.101 2181 192.168.100.101 2181
然而,仅创建 /etc/metrika.xml 文件并不能使集群生效,我们查看 /etc/clickhouse-server/config.xml
- include_from 配置文件的默认位置在 /etc/metrika.xml,可以设置此参数来改变它的位置
- remote_servers 配置分片及副本
- zookeeper 配置zookeeper的IP和端口
- macros 指定当前主机
- compression 配置压缩块的大小及压缩算法
在如图(左上角)位置加上下面这段(另外,必须删除 /etc/clickhouse-server/config.xml 中的 remote_servers 节点,不然若是在前面配的,会被覆盖掉,导致集群无效)
/etc/metrika.xml
启动 clickhouse-server,然后用 clickhouse-clicent 连上去
#启动server /etc/init.d/clickhouse-server start #查看server状态 /etc/init.d/clickhouse-server status #使用client连接server /usr/bin/clickhouse-client --host localhost --port 9000
查询集群信息 select * from system.clusters(若仅有 test 打头的字段,表示集群搭建失败)



