Docker インストール Zookeeper チュートリアル (超詳細)

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

私は自分の魂を7回軽蔑しました:

初めて、攻撃的である可能性があるときに謙虚さを装いました。

二度目は、空になったとき、それを欲望で満たしてください。

3 回目は、難しいものと簡単なものの間で、簡単なものを選びました。

4回目は間違いを犯しましたが、他の人も間違いを犯すだろうと言って自分を慰めました。

5回目は、自由で弱いですが、生命の粘り強さと見なされます。

6回目に醜い顔を軽蔑するとき、それが自分の仮面の1つであることを知りません。

7回目は人生の泥の中で横に寄りかかり、和解はしていませんが、臆病でした。

Docker インストール ZK

  • ローカル ミラーを表示し、Zookeeper ミラーを取得してプルする
# 查看本地镜像
docker images
# 检索ZooKeeper 镜像
docker search zookeeper
# 拉取ZooKeeper镜像最新版本
docker pull zookeeper:latest
# 我使用的版本
docker pull zookeeper:3.5.7
  • ZooKeeper マウント ディレクトリ (データ マウント ディレクトリ、構成マウント ディレクトリ、およびログ マウント ディレクトリ) を作成します。

mkdir -p /mydata/zookeeper/data # データ マウント ディレクトリ
mkdir -p /mydata/zookeeper/conf # 構成マウント ディレクトリ
mkdir -p /mydata/zookeeper/logs # ログ マウント ディレクトリ

  • 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
  • パラメータ 説明
-e TZ="Asia/Shanghai" # 指定上海时区 
-d # 表示在一直在后台运行容器
-p 2181:2181 # 对端口进行映射,将本地2181端口映射到容器内部的2181端口
--name # 设置创建的容器名称
-v # 将本地目录(文件)挂载到容器指定目录;
--restart always #始终重新启动zookeeper,看需求设置不设置自启动
  • ZooKeeper 構成ファイルを追加し、マウントされた構成ファイル ディレクトリ (/mydata/zookeeper/conf) の下に、zoo.cfg 構成ファイルを追加します。構成内容は次のとおりです。
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
  • コンテナに入り、コンテナの状態を確認する
# 进入zookeeper 容器内部
docker exec -it zookeeper /bin/bash
# 检查容器状态
docker exec -it zookeeper /bin/bash ./bin/zkServer.sh status
# 进入控制台
docker exec -it zookeeper zkCli.sh
  • ZooInspector クライアント接続をインストールする

ダウンロード先: https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip;

注文:java -jar zookeeper-dev-ZooInspector.jar

問題が発生しました: 警告: IPv4 転送が無効になっています。ネットワークは機能しません

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

テスト

docker exec -it zookeeper zkCli.sh

ここに画像の説明を挿入

飼育係の運営を詳しく紹介した記事

Docker は Zookeeper クラスターをインストールします

  • 互いに ping を実行する 3 台のマシンを準備する
  • 設定ファイル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
  • myid ID を設定
echo 1 > /mydata/zookeeper/conf/myid
1、2、3 三台机器分别执行
zookeeper选举也会根据myid的大小进行投票master

おすすめ

転載: blog.csdn.net/duyun0/article/details/128437451