docker環境下安裝zookeeper3.5版本

docker環境下安裝zookeeper3.5版本

說明

之前只是在虛擬機中安裝過zookeeper,很是不方便。今天決定在docker中安裝zookeeper,網上的教程很多,但是基本都是相互抄襲,在安裝過程上遇見很多坑,在此記錄,給大家作爲一個參考,針對的是docker zookeeper3.5官方鏡像,集羣搭建。只講述安裝過程,zk詳細參數自行百度。

zookeeper安裝

1.docker下載最新的zookeeper鏡像

docker pull zookeeper  
直接拉取官方最新版本
  1. 新建docker-compose.yml(任意目錄均可),配置啓動容器參數
    直接附上docker-compose.yml
version: '2'
services:
    zoo1:
        image: zookeeper
        restart: always
        container_name: zoo1
        ports:
            - "2181:2181"
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

    zoo2:
        image: zookeeper
        restart: always
        container_name: zoo2
        ports:
            - "2182:2181"
        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

    zoo3:
        image: zookeeper
        restart: always
        container_name: zoo3
        ports:
            - "2183:2181"
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

此處配置文件中,注意ZOO_SERVERS: server中的配置,zoo1:2888:3888;2181中的2181一定要寫(指定clientPort),否則會報client port not found的錯誤

  1. 進入docker-compose.yml所在目錄運行命令docker-compose up -d (-d可以指定在後臺運行,否則會直接在當前shell中運行),如果沒有異常會在shell中輸出
  2. shell中執行命令 docker ps 查看當前容器是否正常工作
  3. 進入容器中查看zookeeper主從關係
    . 運行命令docker exec -it zoo1 /bin/bash進入容器
    . 在zk目錄下運行命令./bin/zkServer.sh status查看zk主從狀態
  4. 客戶端連接zk
    • docker所在宿主機下載zk,並進入zk目錄下面的bin目錄,執行連接命令
      • windows客戶端執行.\zkCli.cmd -server localhost:2181,localhost:2182,localhost:2183
      • linux客戶端執行.\zkCli.sh -server localhost:2181,localhost:2182,localhost:2183
        顯示如下即服務正常

tip

docker安裝zk之後檢測zk是否正常運行

  1. dcoker ps 查看容器是否均已啓動(未啓動,查看docker運行日誌,進行分析)
  2. zkCli連接集羣,查看zk是否能正常連接
  3. 如果不能正常連接,則進入容器中查看zk狀態以及zk的運行日誌
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章