ClickHouse版本:18.12.17

1、下载安装包

如下图所示:

clickhouse 分片负载均衡策略_clickhouse 分片负载均衡策略


安装命令:yum -y localinstall *.rpm

2、安装之后一些重要目录的说明

目录:/var/log/clickhouse-server 服务日志目录

目录:/etc/clickhouse-server 包含clickhouse的两个配置文件,config.xml和user.xml

脚本:/etc/init.d/clickhouse-server 手动启动clickhouse服务的脚本

目录:/var/lib/clickhouse/data clickhouse数据的存储目录,以数据库和表名进行区分

3、伪分布式搭建

伪分布式搭建也就是在同一台机器上起两个clickhouse的服务,两个服务的端口,日志目录,数据目录等都不一样。

在这里我们定义:服务0的http端口为8123,tcp端口为9999

服务1的http端口为8122,tcp端口为99983.1、clickhouse服务0的配置和启动

3.1.1 更改/etc/clickhouse-server/config.xml文件

a、修改一下http和tcp端口参数:

clickhouse 分片负载均衡策略_伪分布式_02


b、修改interserver_http_port端口:

clickhouse 分片负载均衡策略_xml_03


c、修改监听ip为当前机器ip

clickhouse 分片负载均衡策略_clickhouse_04


d、添加一个cluster,为后面验证Engine=Distribute做准备(其中9998为服务1的端口,下面会介绍配置):

clickhouse 分片负载均衡策略_伪分布式_05

3.1.1 更改/etc/clickhouse-server/user.xml文件

a、新增一个自己的用户

clickhouse 分片负载均衡策略_伪分布式_06


参数说明:

zachen2:用户名

passwd:默认空

networks:配置可访问的ip

profile:用户的访问权限,default表示可读可写,readonly表示只读

quota:不知,待确认

其他说明:服务1的其他目录配置(包括日志目录,数据目录等)都是用默认的

启动服务0:手动启动,进入/etc/init.d目录下,有个clickhouse-server脚本,直接用改脚本启动:./clickhouse-server start ,启动后可以看到如下进程:

clickhouse 分片负载均衡策略_clickhouse_07


访问服务0:clickhouse-client --host=192.168.52.22 --port=9999 --user=zachen2,出现如下界面,表示服务0启动成功。

clickhouse 分片负载均衡策略_单机_08


3.2、clickhouse服务1的配置和启动

为了区分服务0的目录,我们需要改动一些配置:

1、复制一份/etc/clickhouse-server/config.xml文件叫/etc/clickhouse-server/config1.xml,修改config1.xml配置,包括端口和一些目录路径,如下:

clickhouse 分片负载均衡策略_clickhouse 分片负载均衡策略_09


clickhouse 分片负载均衡策略_伪分布式_10


clickhouse 分片负载均衡策略_单机_11


说明:把包含clickhouse-server和clickhouse的目录都改为clickhouse-server1和clickhouse1; http,tcp,interserver_http_port端口分别改为:8122,9998,9008

2、服务1可以和服务0用同一个user.xml,所以user.xml就不用更改了。

3、进入到/etc/init.d目录,复制一份clickhouse-server脚本,叫clickhouse-server1,如下图:

clickhouse 分片负载均衡策略_clickhouse_12


修改脚本clickhouse-server1,如下:

clickhouse 分片负载均衡策略_伪分布式_13


4、手动创建/var/log/clickhouse-server1目录并创建文件,用于存放服务1的日志

mkdir /var/log/clickhouse-server1
 touch /var/log/clickhouse-server1/clickhouse-server.err.log
 touch /var/log/clickhouse-server1/clickhouse-server.log
 touch /var/log/clickhouse-server1/stderr.logtouch /var/log/clickhouse-server1/stdout.log

5、启动服务1:手动启动脚本./clickhouse-server1 start ,启动后可以看到两个clickhouse服务的进程,一个用的是config.xml,一个用的是config1.xml:

clickhouse 分片负载均衡策略_伪分布式_14


访问服务1:clickhouse-client --host=192.168.52.22 --port=9998 --user=zachen2,出现如下界面,表示服务1启动成功。

clickhouse 分片负载均衡策略_clickhouse_15

至此,单机伪分布式集群clickhouse搭建完成。