国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Docker】搭建Zookeeper集群

這篇具有很好參考價(jià)值的文章主要介紹了【Docker】搭建Zookeeper集群。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【Docker】搭建Zookeeper集群

下載鏡像

docker pull zookeeper:3.5.8
wy:study wy$ docker pull zookeeper:3.5.8
3.5.8: Pulling from library/zookeeper

Digest: sha256:12af523731cbe390f5332d6c1e254f1d56c734a786910d5582653445a5cee299
Status: Downloaded newer image for zookeeper:3.5.8
docker.io/library/zookeeper:3.5.8
docker images

docker搭建zookeeper集群,開發(fā)實(shí)踐,docker,java-zookeeper,zookeeper

Standalone模式

啟動容器

通過如下命令啟動容器:

docker run -p 8080:8080 --name zookeeper-standalone --restart always -d zookeeper:3.5.8

上述命令在后臺運(yùn)行一個(gè)名為 zookeeper-standalone 的容器。由于 Zookeeper 是’快速失敗’,因此最好通過 --retart參數(shù)設(shè)置容器在意外停止時(shí)自動重啟。默認(rèn)是 no,表示不重啟。-p 參數(shù)將宿主機(jī)端口 8080 與容器端口 8080 映射。

通過如下命令查看運(yùn)行中的 Zookeeper 容器:

[root@codingce0 docker]# docker ps


CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                  NAMES
2268f5dd10f2        zookeeper:3.5.8     "/docker-entrypoint.…"   8 minutes ago       Up 8 minutes        2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp   zookeeper-standalone

可以看到容器對外暴露了4個(gè)端口:2181 2888 3888 8080(分別是 Zookeeper 客戶端端口,主從節(jié)點(diǎn)交互信息的端口,選舉端口以及 AdminServer 端口)。暴露端口主要是鏡像包含了 EXPOSE 2181 2888 3888 8080 命令,具體可以參閱鏡像Dockerfile。

Zookeeper 3.5 版本開始提供 AdminServer 功能。AdminServer 是嵌入式 Jetty 服務(wù)器,為四字母命令提供 HTTP 接口。默認(rèn)端口是8080。由于在啟動容器時(shí)做了端口映射,可以直接通過 http://localhost:8080/commands/stats 進(jìn)行訪問。

在Docker中容器默認(rèn)是無法與外部通信,需要將容器內(nèi)的端口映射到本地宿主機(jī)的端口,這樣用戶通過訪問宿主機(jī)指定端口時(shí)相當(dāng)于訪問容器內(nèi)的端口。

進(jìn)入容器

通過如下命令進(jìn)入容器內(nèi):

docker exec -it zookeeper-standalone /bin/bash
root@2268f5dd10f2:/apache-zookeeper-3.5.8-bin#

容器的默認(rèn)工作目錄為 /apache-zookeeper-3.5.8-bin,是因?yàn)?Zookeeper 鏡像做如下設(shè)置:

ARG DISTRO_NAME=apache-zookeeper-3.5.8-bin
WORKDIR $DISTRO_NAME

配置文件默認(rèn)在 /conf 目錄下,具體看一下默認(rèn)配置:

root@2268f5dd10f2:/apache-zookeeper-3.5.8-bin# cat /conf/zoo.cfg
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181

可以使用 zkServer.sh status 命令來查看 Zookeeper 啟動狀態(tài):

root@2268f5dd10f2:/apache-zookeeper-3.5.8-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone

連接Zookeeper服務(wù)

可以使用如下命令連接Zookeeper服務(wù):

zkCli.sh -server 127.0.0.1:2181

可以不用先進(jìn)入容器再連接Zookeeper服務(wù),使用如下命令一步到位:

docker exec -it zookeeper-standalone zkCli.sh -server 127.0.0.1:2181

集群模式

搭建3個(gè) Zookeeper 節(jié)點(diǎn)的集群。

啟動容器

Docker Compose

Linux 上可以從 Github 上下載它的二進(jìn)制包來使用,最新發(fā)行的版本地址:
https://github.com/docker/compose/releases
運(yùn)行以下命令以下載 Docker Compose 的當(dāng)前穩(wěn)定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

將可執(zhí)行權(quán)限應(yīng)用于二進(jìn)制文件:

sudo chmod +x /usr/local/bin/docker-compose

創(chuàng)建軟鏈

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

測試是否安裝成功

docker-compose --version
啟動容器操作

為了避免一個(gè)一個(gè)的啟動,使用 docker-compose 的方式來啟動 Zookeeper 集群。首先創(chuàng)建一個(gè)名為 docker-compose.yml 的文件, 其內(nèi)容如下:
docker搭建zookeeper集群,開發(fā)實(shí)踐,docker,java-zookeeper,zookeeper

version: '3.1'

services:
  zoo1:
    image: zookeeper:3.5.8
    restart: always
    hostname: zoo1
    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:3.5.8
    restart: always
    hostname: zoo2
    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:3.5.8
    restart: always
    hostname: 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=0.0.0.0:2888:3888;2181

上述配置將以副本模式啟動 Zookeeper 3.5.8,同時(shí)會告訴 Docker 運(yùn)行三個(gè) Zookeeper 容器:zoo1、zoo2、zoo3,并分別將本地的 2181, 2182, 2183 端口綁定到對應(yīng)的容器的 2181 端口上。

ZOO_MY_ID 和 ZOO_SERVERS 是搭建 Zookeeper 集群需要設(shè)置的兩個(gè)環(huán)境變量, 其中 ZOO_MY_ID 表示 Zookeeper 服務(wù)的 id, 它是1-255 之間的整數(shù), 必須在集群中唯一。ZOO_SERVERS 是Zookeeper 集群的主機(jī)列表。

接著在 docker-compose.yml 當(dāng)前目錄下運(yùn)行如下命令:
docker搭建zookeeper集群,開發(fā)實(shí)踐,docker,java-zookeeper,zookeeper

COMPOSE_PROJECT_NAME=zookeeper_cluster docker-compose up -d

或者指定配置文件名稱 COMPOSE_PROJECT_NAME=zookeeper_cluster docker-compose -f docker-compose.yml up -d。
在 docker-compose up 前添加 COMPOSE_PROJECT_NAME=zookeeper_cluster 環(huán)境變量是為 compose 工程起一個(gè)名字。

COMPOSE_PROJECT_NAME=zookeeper_cluster docker-compose up -d
Creating network "zookeeper_cluster_default" with the default driver
Creating zookeeper_cluster_zoo1_1 ... done
Creating zookeeper_cluster_zoo3_1 ... done
Creating zookeeper_cluster_zoo2_1 ... done

通過docker p命令查看運(yùn)行中的 Zookeeper 集群容器

[root@codingce0 docker]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                  NAMES
2268f5dd10f2        zookeeper:3.5.8     "/docker-entrypoint.…"   About an hour ago   Up About an hour    2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp   zookeeper_cluster-zoo1-1
1e08efd91c98        zookeeper:3.5.8     "/docker-entrypoint.…"   About an hour ago   Up About an hour    2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2182->2181/tcp   zookeeper_cluster-zoo2-1
0006137a82f2        zookeeper:3.5.8     "/docker-entrypoint.…"   About an hour ago   Up About an hour    2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2183->2181/tcp   zookeeper_cluster-zoo3-1
[root@codingce0 docker]#

進(jìn)入容器

通過docker exec -it zookeeper_clusteroo1-1 /bin/bash命令進(jìn)入 zookeeper_cluster-zoo1-1 容器內(nèi):

[root@codingce0 docker]# docker exec -it zookeeper_cluster-zoo1-1 /bin/bash
root@zoo1:/apache-zookeeper-3.5.8-bin#

zkServer.sh status 查看 Zookeeper 的啟動狀態(tài)

root@zoo1:/apache-zookeeper-3.5.8-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
root@zoo1:/apache-zookeeper-3.5.8-bin#

可以看到該節(jié)點(diǎn)是 Follower 節(jié)點(diǎn),以此類推,查看 zookeeper_cluster-zoo2-1、zookeeper_cluster-zoo3-1 容器的啟動狀態(tài):

[root@codingce0 docker]# docker exec -it zookeeper_cluster-zoo2-1 /bin/bash
root@zoo2:/apache-zookeeper-3.5.8-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
root@zoo2:/apache-zookeeper-3.5.8-bin#

[root@codingce0 docker]# docker exec -it zookeeper_cluster-zoo3-1 /bin/bash
root@zoo3:/apache-zookeeper-3.5.8-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader

創(chuàng)建了一個(gè)主節(jié)點(diǎn)Leader,2個(gè)從節(jié)點(diǎn)Follower。

連接Zookeeper服務(wù)

zkCli.sh -server localhost:2181

docker搭建zookeeper集群,開發(fā)實(shí)踐,docker,java-zookeeper,zookeeper
zoo1, zoo2, zoo3 的 2181 端口分別映射到了本地主機(jī)的 2181, 2182, 2183 端口上, 因此使用如下命令連接 Zookeeper 集群:

zkCli.sh -server localhost:2181,localhost:2182,localhost:2183 

docker搭建zookeeper集群,開發(fā)實(shí)踐,docker,java-zookeeper,zookeeper文章來源地址http://www.zghlxwxcb.cn/news/detail-766386.html

到了這里,關(guān)于【Docker】搭建Zookeeper集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于Zookeeper搭建Kafka高可用集群(實(shí)踐可用)

    基于Zookeeper搭建Kafka高可用集群(實(shí)踐可用)

    目錄 一、Zookeeper集群搭建 1.1?下載??解壓 1.2?修改配置 1.3?標(biāo)識節(jié)點(diǎn) 1.4?啟動集群 1.5?集群驗(yàn)證 二、Kafka集群搭建 2.1?下載解壓 2.2?拷貝配置文件 2.3?修改配置 2.4?啟動集群 2.5?創(chuàng)建測試主題 2.6?寫入數(shù)據(jù)測試 為保證集群高可用,Zookeeper?集群的節(jié)點(diǎn)數(shù)最好是奇數(shù),最少有

    2024年02月09日
    瀏覽(21)
  • docker容器單機(jī)部署zookeeper+kafka集群

    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 其中zookeeper會轉(zhuǎn)化成zookeeper的ip kafka1: 10.21.214.66 其中10.21.214.66 填寫宿主機(jī)ip

    2024年02月19日
    瀏覽(25)
  • Docker搭建zookeeper

    Docker搭建zookeeper

    本文參考自:docker-compose快速搭建Zookeeper集群,熬到凌晨三點(diǎn)多驗(yàn)證部署成功,網(wǎng)上有很多文章已經(jīng)無法正確部署了,因?yàn)橛行〇|西版本升級了,版本跟不上就會報(bào)錯 還有一種更加詳細(xì)更加全面的部署方式:Docker之docker-compose一鍵部署Zookeeper集群,但筆者還未驗(yàn)證,先記錄下

    2024年02月13日
    瀏覽(18)
  • Windows使用docker desktop 安裝kafka、zookeeper集群

    Windows使用docker desktop 安裝kafka、zookeeper集群

    參考文章:http://t.csdn.cn/TtTYI https://blog.csdn.net/u010416101/article/details/122803105?spm=1001.2014.3001.5501 準(zhǔn)備工作: ? 在開始新建集群之前,新建好文件夾,用來掛載kafka、zookeeper數(shù)據(jù),如下: zookeeper文件夾 D:softdockerzookeeperzoo1data D:softdockerzookeeperzoo1datalog D:softdockerzookeeperzoo

    2024年02月14日
    瀏覽(26)
  • Zookeeper篇——搭建Zookeeper服務(wù)器,docker搭建并啟動Zookeeper服務(wù),一篇文章手把手教學(xué)!

    Zookeeper篇——搭建Zookeeper服務(wù)器,docker搭建并啟動Zookeeper服務(wù),一篇文章手把手教學(xué)!

    ZooKeeper是一個(gè)分布式服務(wù)框架,基于Paxos算法實(shí)現(xiàn),提供高可用的數(shù)據(jù)管理和應(yīng)用程序協(xié)調(diào)服務(wù)。它的目標(biāo)是提供一種可靠的、可擴(kuò)展的、分布式的、可配置的協(xié)調(diào)機(jī)制來統(tǒng)一系統(tǒng)的狀態(tài)。 ZooKeeper曾是Hadoop的正式子項(xiàng)目,后發(fā)展成為Apache頂級項(xiàng)目,與Hadoop密切相關(guān)但卻沒有任

    2024年04月28日
    瀏覽(18)
  • 如何使用Docker搭建ZooKeepe集群

    1、拉取鏡像 2、創(chuàng)建網(wǎng)絡(luò) Docker創(chuàng)建容器時(shí)默認(rèn)采用bridge網(wǎng)絡(luò),自行分配ip,不允許自己指定。在實(shí)際部署中,需要指定容器ip,不允許其自行分配ip,尤其在搭建集群時(shí)??梢酝ㄟ^docker network create指令創(chuàng)建自己的bridge網(wǎng)絡(luò) ,在創(chuàng)建容器時(shí)指定網(wǎng)絡(luò)和ip即可。 3、配置文件 a、創(chuàng)

    2024年02月11日
    瀏覽(25)
  • Zookeeper集群搭建記錄 | 云計(jì)算[CentOS7] | Zookeeper集群搭建

    Zookeeper集群搭建記錄 | 云計(jì)算[CentOS7] | Zookeeper集群搭建

    本系列文章索引以及一些默認(rèn)好的條件在 傳送門 在配置Zookeeper之前,建議先配置Hadoop集群,具體的操作流程博主已更新完成,鏈接 Zookeeper的安裝包版本不太相同,大致分為有編譯過的和沒有編譯過的(如有錯請留言指正 一般情況下對于我們在解壓配置就能使用的情況下,我

    2024年02月01日
    瀏覽(122)
  • Zookeeper 和 Kafka 工作原理及如何搭建 Zookeeper集群 + Kafka集群

    Zookeeper 和 Kafka 工作原理及如何搭建 Zookeeper集群 + Kafka集群

    目錄 1 Zookeeper 1.1 Zookeeper 定義 1.2 Zookeeper 工作機(jī)制 1.3 Zookeeper 特點(diǎn) 1.4 Zookeeper 數(shù)據(jù)結(jié)構(gòu) 1.5 Zookeeper 應(yīng)用場景 1.6 Zookeeper 選舉機(jī)制 2 部署 Zookeeper 集群 2.1 安裝前準(zhǔn)備 2.2 安裝 Zookeeper 3 Kafka 3.1 為什么需要消息隊(duì)列(MQ) 3.2 使用消息隊(duì)列的好處 3.3 消息隊(duì)列的兩種模式 3.4 Kafka 定義

    2024年02月08日
    瀏覽(50)
  • kafka---- zookeeper集群搭建

    Hostname Ip Root Prac-zk-133 172.16.144.133 root Prac-zk-134 172.16.144.134 root Prac-zk-135 172.16.144.135 root 172.16.144.133 Prac-zk-133 172.16.144.134 Prac-zk-134 172.16.144.135 Prac-zk-135 zkServer.sh start-foreground 使用它啟動會出現(xiàn)地址已在使用 Zookeeper啟動失?。╦ava.net.BindException: 地址已在使用 端口被占用了,把218

    2024年02月11日
    瀏覽(23)
  • Zookeeper 集群搭建

    Zookeeper 集群搭建

    Zookeeper是一個(gè)開源的分布式的,為分布式框架提供協(xié)調(diào)服務(wù)的Apache項(xiàng)目 Zookeeper 工作機(jī)制 Zookeeper從設(shè)計(jì)模式角度來理解:是一個(gè)基于觀察者模式設(shè)計(jì)的分布式服務(wù)管理框架 一旦這些數(shù)據(jù)的狀態(tài)發(fā)生變化,Zookeeper就將負(fù)責(zé)通知已經(jīng)在Zookeeper上注冊的那些觀察者做出相應(yīng)的反應(yīng)

    2024年02月06日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包