Tutorial do Zookeeper de instalação do Docker (super detalhado)

生命无罪,健康万岁,我是laity。

Sete vezes desprezei a minha alma:

Pela primeira vez, fingiu humildade quando poderia ter sido agressivo;

Na segunda vez, quando estiver vazio, encha-o de luxúria;

Na terceira vez, entre difícil e fácil, escolheu o fácil;

Pela quarta vez, errou, mas consolou-se dizendo que outros também errariam;

Na quinta vez, é livre e fraco, mas é considerado como a tenacidade da vida;

Na sexta vez, quando despreza um rosto feio, não sabe que é uma de suas próprias máscaras;

Pela sétima vez, inclinou-se de lado na lama da vida, embora não se reconciliasse, era tímido.

Instalação do Docker ZK

  • Veja os espelhos locais e recupere e puxe os espelhos do Zookeeper
# 查看本地镜像
docker images
# 检索ZooKeeper 镜像
docker search zookeeper
# 拉取ZooKeeper镜像最新版本
docker pull zookeeper:latest
# 我使用的版本
docker pull zookeeper:3.5.7
  • Crie um diretório de montagem do ZooKeeper (diretório de montagem de dados, diretório de montagem de configuração e diretório de montagem de log)

mkdir -p /mydata/zookeeper/data # Diretório de montagem de dados
mkdir -p /mydata/zookeeper/conf # Diretório de montagem de configuração
mkdir -p /mydata/zookeeper/logs # Diretório de montagem de log

  • Iniciar o contêiner ZooKeeper
docker run -d --name zookeeper --privileged=true -p 2181:2181  -v /mydata/zookeeper/data:/data -v /mydata/zookeeper/conf:/conf -v /mydata/zookeeper/logs:/datalog zookeeper:3.5.7
  • Descrição do parâmetro
-e TZ="Asia/Shanghai" # 指定上海时区 
-d # 表示在一直在后台运行容器
-p 2181:2181 # 对端口进行映射,将本地2181端口映射到容器内部的2181端口
--name # 设置创建的容器名称
-v # 将本地目录(文件)挂载到容器指定目录;
--restart always #始终重新启动zookeeper,看需求设置不设置自启动
  • Adicione o arquivo de configuração do ZooKeeper e adicione o arquivo de configuração zoo.cfg no diretório do arquivo de configuração montado (/mydata/zookeeper/conf). O conteúdo da configuração é o seguinte:
dataDir=/data  # 保存zookeeper中的数据
clientPort=2181 # 客户端连接端口,通常不做修改
dataLogDir=/datalog
tickTime=2000  # 通信心跳时间
initLimit=5    # LF(leader - follower)初始通信时限
syncLimit=2    # LF 同步通信时限
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181
  • Entre no contêiner e verifique o status do contêiner
# 进入zookeeper 容器内部
docker exec -it zookeeper /bin/bash
# 检查容器状态
docker exec -it zookeeper /bin/bash ./bin/zkServer.sh status
# 进入控制台
docker exec -it zookeeper zkCli.sh
  • Instalar a conexão do cliente ZooInspector

Endereço de download: https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip;

Ordem:java -jar zookeeper-dev-ZooInspector.jar

O problema encontrado: AVISO: o encaminhamento de IPv4 está desativado. A rede não funcionará

解决办法:
# vi /etc/sysctl.conf
或者
# vi /usr/lib/sysctl.d/00-system.conf
添加如下代码:
    net.ipv4.ip_forward=1
重启network服务
# systemctl restart network

teste

docker exec -it zookeeper zkCli.sh

insira a descrição da imagem aqui

Artigos sobre a introdução detalhada da operação do zookeeper

O Docker instala o cluster Zookeeper

  • Prepare três máquinas para fazer ping entre si
  • Arquivo de configuração zoo.cfg
cd  /mydata/zookeeper/conf
vim zoo.cfg

# 三台机器分别执行添加 
clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
  • Definir myid ID
echo 1 > /mydata/zookeeper/conf/myid
1、2、3 三台机器分别执行
zookeeper选举也会根据myid的大小进行投票master

Acho que você gosta

Origin blog.csdn.net/duyun0/article/details/128437451
Recomendado
Clasificación