Docker 構(gòu)建 Kafka 0.11.0.2 集群

1. 借鑒

2. 開始

我們的集群規(guī)劃如下:

kafka01[172.173.16.19] kafka02[172.173.16.20] kafka03[172.173.16.21]

鏡像準備

  1. docker hub 下載
  docker pull caiserkaiser/centos-ssh
  1. 構(gòu)建
    caiser/centos-ssh:7.8 鏡像

創(chuàng)建自定義網(wǎng)絡

Docker 網(wǎng)絡操作

docker network create -d bridge --subnet "172.173.16.0/24" --gateway "172.173.16.1"  datastore_net

啟動容器

docker run -it -d --network datastore_net --ip 172.173.16.19 --name kafka01 caiser/centos-ssh:7.8

下載kafka

  1. 下載kafka

  2. 拷貝到容器內(nèi)

    docker cp ~/Downloads/kafka_2.11-0.11.0.2.tgz df4410d638e8:/opt/envs
    
  3. 解壓

    tar -zxvf kafka_2.11-0.11.0.2.tgz
    

配置

server.properties

  • a. 備份

    cp /opt/envs/kafka_2.11-0.11.0.2/config/server.properties /opt/envs/kafka_2.11-0.11.0.2/config/server.properties.bak
    
  • b. 編輯server.properties

     vi /opt/envs/kafka_2.11-0.11.0.2/config/server.properties
    
  • c. 配置

    ①. 打開下面這一行的注釋,使可以刪除topic

     # delete.topic.enable=true
    

    ②. 配置 log.dirs【指定目錄時需要先創(chuàng)建】

     log.dirs=/opt/logs
    

    ③. 配置zookeeper

    zookeeper.connect=zookeeper01:2181,zookeeper02:2181,zookeeper03:2181
    

    ④. 配置listeners

    listeners=PLAINTEXT://kafka01:9092
    

kafka-節(jié)點配置

  1. 編輯/etc/hosts九串,并添加以下hostname

    172.173.16.13   zookeeper01
    172.173.16.14   zookeeper02
    172.173.16.15   zookeeper03
    172.173.16.19   kafka01
    172.173.16.20   kafka02
    172.173.16.21   kafka03
    

保存為鏡像并移除容器

docker commit df4410d638e8 caiser/kafka:0.11.0.2
docker rm df4410d638e8

啟動容器

docker run -it -d --network datastore_net --ip 172.173.16.19 --name kafka01 caiser/kafka:0.11.0.2 bin/bash

docker run -it -d --network datastore_net --ip 172.173.16.20 --name kafka02 caiser/kafka:0.11.0.2 bin/bash

docker run -it -d --network datastore_net --ip 172.173.16.21 --name kafka03 caiser/kafka:0.11.0.2 bin/bash

【重要】配置不同的broker.id

在config/server.properties下绞佩,不同的節(jié)點的broker.id必須不同,所以我們分配如下

節(jié)點 kafka01[172.173.16.19] kafka02[172.173.16.20] kafka03[172.173.16.21]
broker.id 0 1 2
vi /opt/envs/kafka_2.11-0.11.0.2/config/server.properties

【重要】配置不同的listeners

在config/server.properties下猪钮,不同的節(jié)點的listeners必須為本機hostname

節(jié)點 配置
kafka01[172.173.16.19] listeners=PLAINTEXT://kafka01:9092
kafka02[172.173.16.20] listeners=PLAINTEXT://kafka02:9092
kafka03[172.173.16.21] listeners=PLAINTEXT://kafka03:9092
vi /opt/envs/kafka_2.11-0.11.0.2/config/server.properties

配置ssh免密登錄

  1. 進入容器

    docker exec -it kafka01 /bin/bash
    
  2. 到~/.ssh目錄下生成秘鑰

    ssh-keygen -t rsa
    
  3. 拷貝秘鑰到kafka01品山,kafka03和kafka02

    a.[如果沒開啟]三個容器沒有開啟ssh服務[ps -ef | grep ssh],需要依次執(zhí)行

    /usr/sbin/sshd -D &
    

    b. 拷貝秘鑰

    ssh-copy-id kafka01
    ssh-copy-id kafka02
    ssh-copy-id kafka03
    
  4. kafka02和kafka03依次執(zhí)行上述1-3步驟

啟動kafka

依次到kafka01躬贡,kafka02谆奥,kafka03機器上執(zhí)行以下命令

cd /opt/envs/kafka_2.11-0.11.0.2/
bin/kafka-server-start.sh config/server.properties &

配置 集群起/停 腳本

這樣就不用到所有機器上依次啟停了...

#! /bin/bash

case $1 in
"start") {
        for i in kafka01 kafka02 kafka03; do
            echo "----- start $i -----"
            ssh $i "export JMX_PORT=9988 && /opt/envs/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh -daemon /opt/envs/kafka_2.11-0.11.0.2/config/server.properti
es"
        done
};;
"stop") {
        for i in kafka01 kafka02 kafka03; do
            echo "----- stop $i -----"
            ssh $i "/opt/envs/kafka_2.11-0.11.0.2/bin/kafka-server-stop.sh stop"
        done
};;
esac

3. 大功告成

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拂玻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宰译,老刑警劉巖檐蚜,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沿侈,居然都是意外死亡闯第,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門缀拭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來填帽,“玉大人,你說我怎么就攤上這事咙好〈垭纾” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵勾效,是天一觀的道長嘹悼。 經(jīng)常有香客問我,道長层宫,這世上最難降的妖魔是什么杨伙? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任萌腿,我火速辦了婚禮米死,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鼎俘。我一直安慰自己贸伐,他們只是感情好捉邢,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著材蹬,像睡著了一般堤器。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辉川,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天府蛇,我揣著相機與錄音,去河邊找鬼扰法。 笑死塞颁,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的伴网。 我是一名探鬼主播澡腾,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼红选,長吁一口氣:“原來是場噩夢啊……” “哼坟乾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎殷绍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體登钥,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡塔鳍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年焚鲜,在試婚紗的時候發(fā)現(xiàn)自己被綠了郑兴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贝乎。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡情连,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锤灿,我是刑警寧澤挽拔,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布倘是,位于F島的核電站猾编,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏苇羡。R本人自食惡果不足惜绸吸,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望设江。 院中可真熱鬧码俩,春花似錦、人聲如沸歼捏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞳秽。三九已至瓣履,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間练俐,已是汗流浹背袖迎。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腺晾,地道東北人燕锥。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像悯蝉,于是被迫代替她去往敵國和親归形。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355