kafka docker安裝

在Docker環(huán)境搭建Kafka server

使用的鏡像:wurstmeister/zookeeper涯捻、wurstmeister/kafka

準備工作

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.100.129
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  nginx:
    image: nginx
    ports:
      - "9094:9094"
    links:
      - kafka
    volumes:
      - /data/docker/kafka-server/nginx.conf:/etc/nginx/nginx.conf

注意nginx的數(shù)據(jù)卷配置,指向下一步的nginx配置文件

在相同路徑下放置一個nginx配置文件薇缅,并在其中加入以下配置:

stream {
    upstream kafka {
        server kafkaserver_kafka_1:9092;
        server kafkaserver_kafka_2:9092;
        server kafkaserver_kafka_3:9092;
    }
 
    server {
        listen 9094;
        proxy_pass kafka;
    }
}

其中upstream的內容根據(jù)實際要創(chuàng)建的集群數(shù)量和名稱來定赖钞,并非不變的眯分,目前也沒有什么辦法可以繞過這個配置

創(chuàng)建和啟動容器

進入docker-compose.yml所在路徑企垦,執(zhí)行:

nohup docker-compose up --scale kafka=3 &

這里scale表示集群中實例的數(shù)量,若不使用此參數(shù)則為單實例,本例中設置為kafka=3表示集群包含3個kafka實例

執(zhí)行成功后即可使用docker ps看到自動創(chuàng)建了nginx即硼、zookeeper和kafka容器,確認運行狀態(tài)是否正常屡拨。

image2017-11-10_18-55-37.png

本例中可以看到創(chuàng)建了3個kafka實例只酥,對外映射端口號分別為9032、9033呀狼、9034裂允,訪問其中任意一個端口都是對集群的訪問,沒有差別哥艇。但每次重啟容器绝编,這幾個端口都會變化,因此不推薦使用貌踏。

同時因為使用了nginx十饥,并配置了對三個kafka實例的反向代理,對外映射了唯一一個固定端口9094祖乳,因此實際使用推薦使用這個9094端口逗堵,即使容器重啟或重建,這個端口也不會變化凡资。便于應用訪問砸捏。

普通的docker 搭建

docker run -it -d --restart=always -p 2181:2181  -p 2888:2888 -p 3888:3888 --name=zookeeper \
-v /home/zookeeper/logs:/logs \
-v /home/zookeeper/conf:/conf \
-v /home/zookeeper/data:/data \
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
-d zookeeper:latest

docker run -it -d --restart=always -p 9092:9092 --name kafka \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.84.128:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.84.128:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /home/kafka/config:/opt/kafka_2.12-2.1.1/config \
-v /home/kafka/logs:/opt/kafka_2.12-2.1.1/logs \
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
-d wurstmeister/kafka:latest

因為使用了掛載谬运,所以需要把映射對應的路徑中的配置文件先從docker容器中copy出來
然后再進行掛載,否則直接執(zhí)行垦藏,docker是無法啟動成功的

日常維護

關閉集群可以使用docker-compose stop梆暖,也可以使用docker原生命令挨個關閉容器。

啟動集群仍然使用docker-compose up掂骏,也可以使用docker原生命令挨個啟動容器轰驳。需要注意由于kafka依賴zookeeper才能運行,所以要先啟動zookeeper

docker-compose其他的命令也可以使用弟灼,只要配置文件正確级解,就可以保證整個服務正常運行

注意事項

本例中配置了3個kafka實例組成的集群,理論上來說田绑,其中任意一個節(jié)點宕機應不影響整個集群的運行勤哗。

然而實際上,由于使用了nginx的固定配置做負載均衡掩驱,再加上kafka的客戶端的連接管理實現(xiàn)方式問題芒划,導致任意一個節(jié)點宕機都可能使“部分”生產(chǎn)者或消費者無法連接,具體哪些不好用是隨機的欧穴。

因此當前的集群搭建方案仍不是最終方案民逼,將繼續(xù)學習文檔,可能利用docker-swarm實現(xiàn)更合理的集群涮帘。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末拼苍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子调缨,更是在濱河造成了極大的恐慌疮鲫,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弦叶,死亡現(xiàn)場離奇詭異棚点,居然都是意外死亡,警方通過查閱死者的電腦和手機湾蔓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砌梆,“玉大人默责,你說我怎么就攤上這事∠贪” “怎么了桃序?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長烂瘫。 經(jīng)常有香客問我媒熊,道長奇适,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任芦鳍,我火速辦了婚禮嚷往,結果婚禮上,老公的妹妹穿的比我還像新娘柠衅。我一直安慰自己皮仁,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布菲宴。 她就那樣靜靜地躺著贷祈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喝峦。 梳的紋絲不亂的頭發(fā)上势誊,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音谣蠢,去河邊找鬼粟耻。 笑死,一個胖子當著我的面吹牛漩怎,可吹牛的內容都是我干的勋颖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼勋锤,長吁一口氣:“原來是場噩夢啊……” “哼饭玲!你這毒婦竟也來了?” 一聲冷哼從身側響起叁执,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤茄厘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谈宛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體次哈,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年吆录,在試婚紗的時候發(fā)現(xiàn)自己被綠了窑滞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡恢筝,死狀恐怖哀卫,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情撬槽,我是刑警寧澤此改,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站侄柔,受9級特大地震影響共啃,放射性物質發(fā)生泄漏占调。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一移剪、第九天 我趴在偏房一處隱蔽的房頂上張望究珊。 院中可真熱鬧,春花似錦挂滓、人聲如沸苦银。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幔虏。三九已至,卻和暖如春贝椿,著一層夾襖步出監(jiān)牢的瞬間想括,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工烙博, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瑟蜈,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓渣窜,卻偏偏與公主長得像铺根,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乔宿,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容