基于docker多机器zk集群搭建

基于docker多机器zk集群搭建


在3台机器上创建zk目录

sudo  mkdir -p /usr/local/zookeeper/conf
sudo  mkdir -p /usr/local/zookeeper/data
sudo  mkdir -p /usr/local/zookeeper/logs

在conf下每台机器 下创建 zoo.cfg

vim  /usr/local/zookeeper/conf/zoo.cfg
nitLimit=5
syncLimit=2
dataDir=/data
dataLogDir=/datalog
clientPort=2181
maxClientCnxns=60
server.1=0.0.0.0:2888:3888
server.2=xxx.xxx.xxx.xxx:2888:3888
server.3=xxx.xxx.xxx.xxx:2888:3888

每台机器配置区别是 假设当前机器是server.1 那么当前机器的ip填0.0.0.0
在这里插入图片描述
在这里插入图片描述

以此类推。

在docker swarm Leader机器下创建 网关

sudo  docker network create -d overlay \
  --subnet=10.10.0.0/16 \
  --gateway=10.10.0.254 \
  --attachable=true \
Overlay

在portainer 上创建任务执行下面的命令

version: '3.3'
services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    volumes:
      - /usr/local/zookeeper/data:/data
      - /usr/local/zookeeper/logs:/logs
    networks:
      - overlay
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    volumes:
      - /usr/local/zookeeper/data:/data
      - /usr/local/zookeeper/logs:/logs
    networks:
      - overlay
    ports:
      - 2182:2181 
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
           
  zoo3: 
    image: zookeeper
    restart: always
    hostname: zoo3
    volumes:
      - /usr/local/zookeeper/data:/data
      - /usr/local/zookeeper/logs:/logs
    networks:
      - overlay
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
networks:
  overlay:
    external: true

在这里插入图片描述
命令执行完后效果

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是基于Docker搭建多节点Hadoop集群的详细教程: 1. 安装DockerDocker Compose 首先您需要在每个节点上安装DockerDocker Compose。您可以使用以下命令来进行安装: ``` sudo apt-get update sudo apt-get install docker.io sudo systemctl start docker sudo systemctl enable docker sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 2. 创建Docker镜像 在每个节点上,您需要创建一个Docker镜像。您可以使用以下命令来创建Docker镜像: ``` sudo docker pull sequenceiq/hadoop-docker:2.7.0 ``` 3. 创建Docker Compose文件 在每个节点上,您需要创建一个Docker Compose文件。您可以使用以下模板文件来创建Docker Compose文件: ``` version: '2.7' services: namenode: image: sequenceiq/hadoop-docker:2.7.0 container_name: namenode hostname: namenode ports: - "8088:8088" - "50070:50070" - "8020:8020" volumes: - ./hadoop:/opt/hadoop-2.7.0 environment: - CLUSTER_NAME=hadoop-cluster - NODE_TYPE=namenode datanode1: image: sequenceiq/hadoop-docker:2.7.0 container_name: datanode1 hostname: datanode1 ports: - "50075:50075" volumes: - ./hadoop:/opt/hadoop-2.7.0 environment: - CLUSTER_NAME=hadoop-cluster - NODE_TYPE=datanode datanode2: image: sequenceiq/hadoop-docker:2.7.0 container_name: datanode2 hostname: datanode2 ports: - "50075:50075" volumes: - ./hadoop:/opt/hadoop-2.7.0 environment: - CLUSTER_NAME=hadoop-cluster - NODE_TYPE=datanode ``` 在此文件中,您需要定义三个服务:namenode、datanode1、datanode2。您需要在每个服务中指定Docker镜像名称、容器名称、主机名、端口号、数据卷和环境变量。您需要将此文件保存为docker-compose.yml。 4. 启动集群 接下来,您需要在每个节点上使用以下命令来启动集群: ``` sudo docker-compose up -d ``` 这将启动集群并在后台运行。 5. 验证集群 最后,您需要验证Hadoop集群是否成功启动。您可以使用以下命令来验证: ``` sudo docker exec -it namenode bash hadoop fs -mkdir /test hadoop fs -ls / ``` 如果您在上述命令中看到/test目录,则表明您成功地启动了Hadoop集群。 希望这个教程对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值