OLAP系列:三、clickhouse Docker集群部署指南(3分片1副本模式)

这篇具有很好参考价值的文章主要介绍了OLAP系列:三、clickhouse Docker集群部署指南(3分片1副本模式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

一是为了学习容器,另外也是帮助一些同学解决机器资源紧缺,能够在一台是宿主机部署一套clickhouse集群服务。

本章内容适合开发测试环境使用,生产环境还需要更多细节的处理工作,只能作为参考。

二、部署准备

1、机器准备

172.25.16.108

2、创建容器网络

docker network create ckcluster

3、镜像准备

# 查看仓库镜像列表
curl -XGET https://nexus.***.com:8445/v2/_catalog | json_reformat
# 查看clickhouse镜像信息
curl -XGET https://nexus.***.com:8445/v2/yandex/clickhouse-server/tags/list | json_reformat
# 查看zookeeper镜像信息
curl -XGET https://nexus.***.com:8445/v2/zookeeper/tags/list | json_reformat

三、zookeeper单机安装(1节点)

1、下载镜像

docker pull nexus.***.com:8445/zookeeper:3.8.0

2、容器启动

docker run --restart always -d \
--name zookeeper \
--ulimit nofile=262144:262144 \
--hostname zookeeper \
--network ckcluster \
-p 2181:2181 \
nexus.***.com:8445/zookeeper:3.8.0

四、clickhouse集群安装(3分片1副本)

1、创建目录

cd /home
mkdir ckcluster
cd cluster
mkdir ck1
mkdir ck2
mkdir ck3

2、创建节点配置

# 启动ck1
docker run -d --name clickhouse-server-1 --ulimit nofile=262144:262144 -v /home/ckcluster/ck1/:/var/lib/clickhouse -p 18123:8123 nexus.***.com:8445/yandex/clickhouse-server:latest
# 拷贝容器内容的配置到/data/clickhouse/目录下
docker cp clickhouse-server-1:/etc/clickhouse-server/ /home/ckcluster/ck1/

# 启动ck2
docker run -d --name clickhouse-server-2 --ulimit nofile=262144:262144 -v /home/ckcluster/ck2/:/var/lib/clickhouse -p 28123:8123 nexus.***.com:8445/yandex/clickhouse-server:latest
# 拷贝容器内容的配置到/data/clickhouse/目录下
docker cp clickhouse-server-2:/etc/clickhouse-server/ /home/ckcluster/ck2/

# 启动ck3
docker run -d --name clickhouse-server-3 --ulimit nofile=262144:262144 -v /home/ckcluster/ck3/:/var/lib/clickhouse -p 38123:8123 nexus.***.com:8445/yandex/clickhouse-server:latest
# 拷贝容器内容的配置到/data/clickhouse/目录下
docker cp clickhouse-server-3:/etc/clickhouse-server/ /home/ckcluster/ck3/

3、清除临时容器

docker stop **

docker rm **

4、修改config.xml配置

vim /etc/clickhouse-server/config.xml
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from> <!--添加该参数-->

5、增加服务节点配置文件【metrika.xml】

cd /home/ckcluster/ck1/
cd clickhouse-server
vim config.d/metrika.xml

### 在metrika.xml中我们配置后期使用的clickhouse集群中创建分布式表时使用3个分片,每个分片有1个副本,配置如下:
<yandex>
    <remote_servers>
        <clickhouse_cluster_3shards_1replicas>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>clickhouse-server01</host>
                    <port>19000</port>
                </replica>
            </shard>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>clickhouse-server02</host>
                    <port>29000</port>
                </replica>
            </shard>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>clickhouse-server03</host>
                    <port>39000</port>
                </replica>
            </shard>
        </clickhouse_cluster_3shards_1replicas>
    </remote_servers>
   
    <zookeeper>
        <node index="1">
            <host>zookeeper</host>
            <port>2181</port>
        </node>
    </zookeeper>
    <macros>
        <shard>01</shard> 
        <replica>node1</replica>
    </macros>
    <networks>
        <ip>0.0.0.0/0</ip>
    </networks>
    <clickhouse_compression>
        <case>
            <min_part_size>10000000000</min_part_size>
            <min_part_size_ratio>0.01</min_part_size_ratio>
            <method>lz4</method>
        </case>
    </clickhouse_compression>
</yandex>

注意:需要在每台clickhouse节点上配置metrika.xml文件,并且修改每个节点的 macros配置名称。

<!-- node2节点修改metrika.xml中的宏变量如下:-->
    <macros>
        <shard>02</shard> 
        <replica>node2</replica>
    </macros>

<!-- node3节点修改metrika.xml中的宏变量如下: -->
    <macros>
        <shard>03</shard> 
        <replica>node3</replica>
    </macros>

6、启动服务

节点1

# clickhouse-server01
docker run --restart always -d \
--name clickhouse-server01 \
--ulimit nofile=262144:262144 \
--hostname clickhouse-server01 \
--network ckcluster \
-v /home/ckcluster/ck1/data/:/var/lib/clickhouse/ \
-v /home/ckcluster/ck1/clickhouse-server/:/etc/clickhouse-server/ \
-v /home/ckcluster/ck1/logs/:/var/log/clickhouse-server/ \
-p 19000:9000 -p 18123:8123 -p 19009:9009 \
nexus.***.com:8445/yandex/clickhouse-server:latest

节点2

# clickhouse-server02
docker run --restart always -d \
--name clickhouse-server02 \
--ulimit nofile=262144:262144 \
--hostname clickhouse-server02 \
--network ckcluster \
-v /home/ckcluster/ck2/data/:/var/lib/clickhouse/ \
-v /home/ckcluster/ck2/clickhouse-server/:/etc/clickhouse-server/ \
-v /home/ckcluster/ck2/logs/:/var/log/clickhouse-server/ \
-p 29000:9000 -p 28123:8123 -p 29009:9009 \
nexus.***.com:8445/yandex/clickhouse-server:latest

节点3

# clickhouse-server03
docker run --restart always -d \
--name clickhouse-server03 \
--ulimit nofile=262144:262144 \
--hostname clickhouse-server03 \
--network ckcluster \
-v /home/ckcluster/ck3/data/:/var/lib/clickhouse/ \
-v /home/ckcluster/ck3/clickhouse-server/:/etc/clickhouse-server/ \
-v /home/ckcluster/ck3/logs/:/var/log/clickhouse-server/ \
-p 39000:9000 -p 38123:8123 -p 39009:9009 \
nexus.***.com:8445/yandex/clickhouse-server:latest

7、验证

可以通过客户端工具DBeaver访问。

参考文章

Docker搭建Clickhouse集群_docker clickhouse_这学习真难的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-658101.html

到了这里,关于OLAP系列:三、clickhouse Docker集群部署指南(3分片1副本模式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ClickHouse进阶(六):副本与分片-2-Distributed引擎

    进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情! 👍点赞:赞同优秀创作,你

    2024年02月10日
    浏览(42)
  • ElasticSearch的集群、节点、索引、分片和副本

    Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档。为了方便大家理解,我们将Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比 ES里的Index可以看做一个库,而Types相当于表,Documents则相当于表的行。 这里Types的概念已经被逐渐弱化,E

    2024年02月02日
    浏览(104)
  • Elasticsearch 的节点、集群、分片和副本 全面解析

    节点是 Elasticsearch 实例的运行实例,即一个独立的 Elasticsearch 服务进程。每个节点都是一个独立的工作单元,负责存储数据、参与数据处理(如索引、搜索、聚合等)以及参与集群的协调工作。节点可以在物理或虚拟机上单独部署,也可以在同一台机器上运行多个节点(但需

    2024年04月27日
    浏览(39)
  • 使用 Docker 部署高可用 MongoDB 分片集群

    mongodb 集群搭建的方式有三种: 主从备份(Master - Slave)模式,或者叫主从复制模式。 副本集(Replica Set)模式。 分片(Sharding)模式。 其中,第一种方式基本没什么意义,官方也不推荐这种方式搭建。另外两种分别就是副本集和分片的方式。今天介绍副本集的方式搭建 mo

    2024年02月06日
    浏览(46)
  • Elasticsearch索引优化指南:分片、副本、mapping和analyzer

    Elasticsearch是一个开源的分布式搜索引擎,它的数据存储和查询速度非常快。然而,在面对大规模的数据集和高并发访问时,Elasticsearch的性能也可能受到一些影响。为了最大程度地提高Elasticsearch的性能,我们需要对索引进行优化。本篇博客将介绍Elasticsearch索引优化的几个关键

    2024年02月20日
    浏览(47)
  • 【MongoDB】集群搭建实战 | 副本集 Replica-Set | 分片集群 Shard-Cluster | 安全认证

    副本集 MongoDB副本集(Replica Set)是一组维护相同数据集的 MongoDB 实例,它可以提供数据的冗余和高可用性。 副本集由一个主节点(Primary)和多个从节点(Secondary)组成。 客户端所有写操作都会发送到主节点,主节点会记录oplog,然后将写操作同步到从节点。 从节点可以进行

    2024年02月05日
    浏览(46)
  • CentOS 8自动化安装MongoDB并安装和实验master-slave集群、副本集群(Replica Set)、分片集群(Sharding)

    注意实验使用的是ARM架构的CentOS 8 虚拟机 首先,更新系统并安装必要的依赖项: 添加 MongoDB 官方仓库: 创建一个新的仓库文件 /etc/yum.repos.d/mongodb-org.repo : 将以下内容添加到文件中,保存并退出: 使用nano编辑器打开/etc/yum.repos.d/mongodb-org.repo文件后,按下 Ctrl + X 组合键退出

    2023年04月22日
    浏览(37)
  • mongodb 分片集群部署

    config 初始化,任意一台执行 shard1 安装 3台服务器分别添加配置文件 shard1 初始化 连接任意一台非“arbiterOnly: true”节点shard1,192.168.221.173、192.168.221.174、192.168.221.175分别替换为3台机器的IP地址(建议节点1执行) shard2 安装 3台服务器分别添加配置文件 shard2初始化, 连接任意一

    2024年02月10日
    浏览(34)
  • ClickHouse(一):ClickHouse介绍及OLAP场景特征

    目录 1. ClickHouse与其特性 ​​​​​​​2. 什么是ClickHouse ​​​​​​​3. OLAP场景的特征 进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 在大数据处理场景中,流处理和批处理使用到的技术大致如下: 批处理会将源业务系统

    2024年02月14日
    浏览(48)
  • OBD搭建OceanBase三副本集群(1-1-1)docker版

            本次使用OBD方式搭建一个OceanBase三副本集群,由于服务器资源有限,选择较为轻量级的docker,运行三个容器来实现OceanBase(1-1-1)+OBProxy集群架构的搭建,ODC开发工具客户端远程连接做简单查询。 IP 服务器 资源规格 软件及版本 宿主机:容器端口映射 宿主机:容器目录映射

    2024年01月23日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包