js特效网站展示,linux版网站开发,WordPress点击看大图,网站建设销售员docker安装clickhouse副本集群 1、clickhouse副本集群搭建1.1、docker安装zookeeper集群1.1.1、zookeeper第一个节点安装1.1.2、zookeeper第二个节点安装1.1.3、zookeeper第三个节点安装1.1.4、zookeeper客户端命令 2、Clickhouse副本集群搭建2.1、clickhouse搭建2.2、验证集群… docker安装clickhouse副本集群 1、clickhouse副本集群搭建1.1、docker安装zookeeper集群1.1.1、zookeeper第一个节点安装1.1.2、zookeeper第二个节点安装1.1.3、zookeeper第三个节点安装1.1.4、zookeeper客户端命令 2、Clickhouse副本集群搭建2.1、clickhouse搭建2.2、验证集群 3、Clickhouse分片集群搭建 1、clickhouse副本集群搭建 1、Clickhouse的集群搭建依赖zookeeper。 2、官方建议不要在clickhouse所在的服务器上运行zookeeper。因为zookeeper对数据延迟非常敏感而clickhouse可能会占用所有可用的系统资源。咱们是资源缺少zookeeper和clickhouse安装到一台机器了。 1、如果数据量不大并且想要高可用就使用副本集群别搭建高可用集群官网给出的建议是30多亿条数据仅用200G磁盘单机查询CPU性能是很高的。 2、Clickhouse副本集群目的是保证高可用相当于备份服务器访问哪个副本都可以增删改查副本之间是没主从关系的。 3、clickhouse的副本是表级别的根据表引擎来的。 下面案例是把clickhouse和zookeeper安装在一台机器上。
IP服务192.168.52.7Zookeeper、Clickhouse192.168.52.8Zookeeper 、Clickhouse192.168.52.9Zookeeper 、Clickhouse
1.1、docker安装zookeeper集群
1.1.1、zookeeper第一个节点安装
docker pull wurstmeister/zookeeperdocker run --restartalways \
--name zk01 -d \
-p 2181:2181 -p 2888:2888 -p 3888:3888 \
wurstmeister/zookeeper进入容器
docker exec -it zk01 bash编辑配置文件在文件末尾添加下面三行(容器内操作)
vi /opt/zookeeper-3.4.13/conf/zoo.cfgserver.10.0.0.0:2888:3888
server.2192.168.52.8:2888:3888
server.3192.168.52.9:2888:3888创建myid文件并填写内容(容器内操作)
echo 1 /opt/zookeeper-3.4.13/data/myid重启zk
docker restart zk01查看zk状态(容器内操作)
./bin/zkServer.sh statusroot2017ad352763:/opt/zookeeper-3.4.13# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower1.1.2、zookeeper第二个节点安装
docker pull wurstmeister/zookeeperdocker run --restartalways \
--name zk02 -d \
-p 2181:2181 -p 2888:2888 -p 3888:3888 \
wurstmeister/zookeeper进入容器
docker exec -it zk02 bash编辑配置文件在文件末尾添加下面三行(容器内操作)
vi /opt/zookeeper-3.4.13/conf/zoo.cfgserver.1192.168.52.7:2888:3888
server.20.0.0.0:2888:3888
server.3192.168.52.9:2888:3888创建myid文件并填写内容(容器内操作)
echo 2 /opt/zookeeper-3.4.13/data/myid重启zookeeper
docker restart zk02查看zk状态(容器内操作)
./bin/zkServer.sh statusrootde4323703653:/opt/zookeeper-3.4.13# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower1.1.3、zookeeper第三个节点安装
docker pull wurstmeister/zookeeperdocker run --restartalways \
--name zk03 -d \
-p 2181:2181 -p 2888:2888 -p 3888:3888 \
wurstmeister/zookeeper进入容器
docker exec -it zk03 bash编辑配置文件在文件末尾添加下面三行(容器内操作)
vi /opt/zookeeper-3.4.13/conf/zoo.cfgserver.1192.168.52.7:2888:3888
server.2192.168.52.8:2888:3888
server.30.0.0.0:2888:3888创建myid文件并填写内容(容器内操作)
echo 3 /opt/zookeeper-3.4.13/data/myid重启zk
docker restart zk03查看zk状态(容器内操作)
./bin/zkServer.sh statusrootde4323703653:/opt/zookeeper-3.4.13# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader从上面查看zookeeper状态来看集群是有两个角色的分为leader和follower如果是单机版状态则是standalone
1.1.4、zookeeper客户端命令
进入操作客户端
./zkCli.sh -server 127.0.0.1:2181 #查看根目录
ls /
#递归删除
rmr /clickhouse
#删除单个,如果有子节点则不能删除
delete /clickhouse2、Clickhouse副本集群搭建
2.1、clickhouse搭建
参考本人写的单机版clicihouse搭建三台机器都按照单机版搭建好点击进入单机版搭建教程。
单机版clicihouse搭建后需要做下面操作(三个节点都做 )
编辑配置文件config.xml
vi /data/clickhouse/clickhouse-server/config.xml指定zookeeper地址 zookeepernodehost192.168.52.7/hostport2181/port/nodenodehost192.168.52.8/hostport2181/port/nodenodehost192.168.52.9/hostport2181/port/node/zookeeper修改完配置文件记得重启服务三个节点都要重启
2.2、验证集群
副本只能同步数据不能同步表结构所以我们需要在每台机器上自己手动建表。 #进入容器
docker exec -it ck01 bash
#进入客户端交互界面执行下面建表语句
clickhouse-client下面建表ReplicatedMergeTree 参数解释
第一个参数是分片的 zk_path 一般按照/clickhouse/table/{shard}/{table_name} 的格式写如果只有一个分片就写 01 即可。咱们这默认写/clickhouse/table/01/t_order_rep
第二个参数是副本名称相同的分片副本名称不能相同在每台建表时不能一样咱们用rep_7rep_8rep_9。create table t_order_rep (id UInt32,sku_id String,total_amount Decimal(16,2),create_time Datetime
) engine ReplicatedMergeTree(/clickhouse/table/01/t_order_rep,rep_7)partition by toYYYYMMDD(create_time)primary key (id)order by (id,sku_id);在任意一台机器上执行插入然后在其他机器上查询。
insert into t_order_rep values
(101,sku_001,1000.00,2020-06-01 12:00:00),
(102,sku_002,2000.00,2020-06-01 12:00:00),
(103,sku_004,2500.00,2020-06-01 12:00:00),
(104,sku_002,2000.00,2020-06-01 12:00:00),
(105,sku_003,600.00,2020-06-02 12:00:00);3、Clickhouse分片集群搭建 1、副本集群实际就是对数据做了备份达到了高可用。 分片集群是对数据做了横向扩展就是如果一个机器装不下数据就用分片的技术分配到多台机器上。 2、其实很多场景都用不到分片集群。数据量不是太大的情况就用副本集群吧。分片集群查询反正会消耗网络资源从而降低查询速度。 这个后面有时间更新把》》》》》》