使用容器编排工具docker swarm安装clickhouse多机集群

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 1.首先需要安装docker最新版,docker 目前自带swarm容器编排工具2.选中一台机器作为master,执行命令sudo docker  swarm init [options]3,再需要加入集群的集群上执行此命令 4.

1.首先需要安装docker最新版,docker 目前自带swarm容器编排工具

2.选中一台机器作为master,执行命令sudo docker  swarm init [options]

3,再需要加入集群的集群上执行此命令

 

4.可以使用sudo docker node ls此命令来查询节点数

 

5编写docker-compose.yaml文件,目前我使用的是version 3版本,version2和3有区别,具体看官网介绍

贴一份完整的docker-compose.yaml供大家参考

version: '3'

services:    
  zookeeper:
    image: zookeeper
    ports:
       - "2181:2181"
       - "2182:2182"
    volumes:
       - "/data/clickhouse/zk/data:/data"
       - "/data/clickhouse/zk/log:/datalog"
    deploy:
      placement:
        constraints:
          - node.hostname ==  SHA11DMPHAMP01
#    networks: 
#       - clickhouse

  clickhouse203:
    image: yandex/clickhouse-server
    container_name: clickhouse203
    expose:
       - "9000"
       - "8123"
    user: root
    privileged: true
    deploy:
      placement:
        constraints:
          - node.hostname == SHA11DMPHDOP01
    ports:
       - "111.250.128.203:9000:9000"
       - "111.250.128.203:8123:8123"
    volumes:
       - "/data/clickhouse/etc:/etc/clickhouse-server" 
       - "/data/clickhouse/data:/var/lib/clickhouse"
       - "/data/clickhouse/log:/var/log/clickhouse-server"
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    depends_on:
       - "zookeeper"
#    networks:
#       - clickhouse_network

  clickhouse204:
    image: yandex/clickhouse-server
    container_name: clickhouse204
    expose:
       - "9000"
       - "8123"
    user: root
    privileged: true
    deploy:
      placement:
        constraints:
          - node.hostname == SHA11DMPHDOP02
    ports:
       - "111.250.128.204:9001:9000"
       - "111.250.128.204:8124:8123"
    volumes:
       - "/data/clickhouse/etc:/etc/clickhouse-server" 
       - "/data/clickhouse/data:/var/lib/clickhouse"
       - "/data/clickhouse/log:/var/log/clickhouse-server"
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    depends_on:
       - "zookeeper"
#    networks:
#       - clickhouse

  clickhouse205:
    image: yandex/clickhouse-server
    container_name: clickhouse205
    expose:
       - "9000"
       - "8123"
    user: root
    privileged: true
    deploy:
      placement:
        constraints:
          - node.hostname == SHA11DMPHDOP03
    ports:
       - "111.250.128.205:9002:9000"
       - "111.250.128.205:8125:8123"
    volumes:
       - "/data/clickhouse/etc:/etc/clickhouse-server" 
       - "/data/clickhouse/data:/var/lib/clickhouse"
       - "/data/clickhouse/log:/var/log/clickhouse-server"
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    depends_on:
       - "zookeeper"
#    networks:
#       - clickhouse

  clickhouse206:
    image: yandex/clickhouse-server
    container_name: clickhouse206
    expose:
       - "9000"
       - "8123"
    user: root
    privileged: true
    deploy:
      placement:
        constraints:
          - node.hostname == SHA11DMPHDOP04 
    ports:
       - "111.250.128.206:9003:9000"
       - "111.250.128.206:8126:8123"
    volumes:
       - "/data/clickhouse/etc:/etc/clickhouse-server" 
       - "/data/clickhouse/data:/var/lib/clickhouse"
       - "/data/clickhouse/log:/var/log/clickhouse-server"
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    depends_on:
       - "zookeeper"
#    networks:
#       - clickhouse
#networds:
#   clickhouse_network:
docker-compose.yaml

clickhouse的具体配置我就不介绍了,配置方面可以看我上一篇博客

 

希望大家尊重作者版权, 未经允许不得转载,违者必究!!

 

相关文章
|
20天前
|
Kubernetes Java Docker
利用(K8S)配合Docker部署jar包
通过Docker打包并部署到Kubernetes(K8S)集群的过程。首先,通过SpringBoot生成jar包,接着在K8S环境中创建并编辑Dockerfile文件。随后构建Docker镜像,并将其推送到镜像仓库。最后,通过一系列kubectl命令(如get pods、get svc、logs等),展示了如何在K8S中管理应用,包括查看Pod状态、服务信息、Pod日志以及重启Pod等操作。
80 2
|
19天前
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
45 10
Docker容器管理工具
|
4天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【9月更文挑战第16天】 本文将带你进入云原生的世界,从理解Docker容器的基础开始,逐步深入到Kubernetes集群管理。我们将通过简单的代码示例和实际操作,探索这两个关键技术如何协同工作,以实现更高效、灵活的应用程序部署和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供清晰的指导和实用的知识。
31 11
|
19天前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
53 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
8天前
|
Kubernetes Docker 微服务
构建高效的微服务架构:基于Docker和Kubernetes的最佳实践
在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛青睐。本文探讨了如何利用Docker和Kubernetes来构建高效的微服务架构。我们将深入分析Docker容器的优势、Kubernetes的编排能力,以及它们如何结合实现高可用性、自动扩展和持续部署。通过具体的最佳实践和实际案例,读者将能够理解如何优化微服务的管理和部署过程,从而提高开发效率和系统稳定性。
|
16天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
20天前
|
Kubernetes Cloud Native 开发者
探索云原生技术:从Docker到Kubernetes的旅程
【8月更文挑战第31天】云原生技术正在改变软件开发、部署和运维的方式。本文将带你了解云原生的核心概念,并通过实际代码示例,展示如何使用Docker容器化应用,并进一步通过Kubernetes进行集群管理。我们将一起构建一个简单的微服务架构,体验云原生带来的高效与便捷。
|
20天前
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【8月更文挑战第31天】 在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本文将引导读者理解云原生的基本概念,通过Docker和Kubernetes的实际应用示例,展示如何在云平台上部署和管理容器化应用。我们将一起探索服务编排、持续集成和微服务架构的实践之路,旨在为初学者揭开云原生技术的神秘面纱,并激发对这一前沿领域的深入探索。
|
21天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【8月更文挑战第31天】 在云原生的世界里,容器技术是基石。本文将带你了解如何通过Kubernetes和Docker这两个强大的工具,搭建起你的云原生应用架构。我们将一起探索它们如何相互配合,提升开发与运维的效率。准备好了吗?让我们启航,探索云原生的奥秘!
|
21天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【8月更文挑战第31天】在数字化浪潮中,云原生技术如同一艘航向未来的船,承载着企业转型的梦想。本文将带领读者从Docker容器的基础出发,一路驶向Kubernetes的广阔海域。通过浅显易懂的语言和实用的代码示例,我们将探索云原生的核心概念、架构设计以及如何在实际项目中应用这些技术。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供一次宝贵的学习之旅。让我们一起启航,发现云原生的魅力!