您的位置:首页 > 汽车 > 新车 > 深圳市宝安区投资推广署官网_宁夏住房和城乡建设官网_网页开发教程_竞价推广员月挣多少

深圳市宝安区投资推广署官网_宁夏住房和城乡建设官网_网页开发教程_竞价推广员月挣多少

2025/1/4 12:40:12 来源:https://blog.csdn.net/weixin_41919486/article/details/144154666  浏览:    关键词:深圳市宝安区投资推广署官网_宁夏住房和城乡建设官网_网页开发教程_竞价推广员月挣多少
深圳市宝安区投资推广署官网_宁夏住房和城乡建设官网_网页开发教程_竞价推广员月挣多少

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、Clickhouse
192.168.52.8Zookeeper 、Clickhouse
192.168.52.9Zookeeper 、Clickhouse

1.1、docker安装zookeeper集群

1.1.1、zookeeper第一个节点安装

docker pull wurstmeister/zookeeper
docker run --restart=always \
--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.cfg
server.1=0.0.0.0:2888:3888
server.2=192.168.52.8:2888:3888
server.3=192.168.52.9:2888:3888

创建myid文件,并填写内容(容器内操作)

echo 1 > /opt/zookeeper-3.4.13/data/myid

重启zk

docker restart zk01

查看zk状态(容器内操作)

./bin/zkServer.sh status
root:/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: follower

1.1.2、zookeeper第二个节点安装

docker pull wurstmeister/zookeeper
docker run --restart=always \
--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.cfg
server.1=192.168.52.7:2888:3888
server.2=0.0.0.0:2888:3888
server.3=192.168.52.9:2888:3888

创建myid文件,并填写内容(容器内操作)

echo 2 > /opt/zookeeper-3.4.13/data/myid

重启zookeeper

docker restart zk02

查看zk状态(容器内操作)

./bin/zkServer.sh status
root:/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: follower

1.1.3、zookeeper第三个节点安装

docker pull wurstmeister/zookeeper
docker run --restart=always \
--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.cfg
server.1=192.168.52.7:2888:3888
server.2=192.168.52.8:2888:3888
server.3=0.0.0.0:2888:3888

创建myid文件,并填写内容(容器内操作)

echo 3 > /opt/zookeeper-3.4.13/data/myid

重启zk

docker restart zk03

查看zk状态(容器内操作)

./bin/zkServer.sh status
root:/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 /clickhouse

2、Clickhouse副本集群搭建

2.1、clickhouse搭建

参考本人写的单机版clicihouse搭建,三台机器都按照单机版搭建好,点击进入单机版搭建教程。

单机版clicihouse搭建后,需要做下面操作(三个节点都做 )

编辑配置文件config.xml

vi /data/clickhouse/clickhouse-server/config.xml

指定zookeeper地址

 <zookeeper><node><host>192.168.52.7</host><port>2181</port></node><node><host>192.168.52.8</host><port>2181</port></node><node><host>192.168.52.9</host><port>2181</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_7,rep_8,rep_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、其实很多场景都用不到分片集群。数据量不是太大的情况,就用副本集群吧。分片集群查询反正会消耗网络资源,从而降低查询速度。

这个后面有时间更新把》》》》》》

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com