轉(zhuǎn)載請(qǐng)保留作者和原文出處
歡迎關(guān)注我的微信公眾賬號(hào)程序員杰克,兩邊的文章會(huì)同步,也可以添加我的RSS訂閱源。
交代一下背景:我們的后臺(tái)系統(tǒng)是一套使用Kafka消息隊(duì)列的數(shù)據(jù)處理管線:Kafka->Logstash->Elasticsearch。這些組件都跑在Docker的容器環(huán)境里,我們是基于Kubernetes來(lái)編排整個(gè)后端的數(shù)據(jù)處理管線上的容器。Kafka需要暴露在外網(wǎng)里,接收Kafka Producer(filebeat, collectd)發(fā)過(guò)來(lái)的消息。本文是記錄基于Kubernetes在AWS上部署Kafka 0.9.x版本時(shí)遇到的問(wèn)題和排查思路。
為了能夠在外網(wǎng)也能訪問(wèn)Kafka,Kafka組件對(duì)應(yīng)的Kubernetes ServiceType選用的是NodePort,Kafka集群有三個(gè)節(jié)點(diǎn),即Kafka Server有三個(gè)Broker。對(duì)外暴露的端口是39092,三個(gè)Broker對(duì)應(yīng)的外網(wǎng)IP分別是 59.64.11.21,59.64.11.22,59.64.11.23。Kafka組件部署完成后,使用Kafka producer連接Server,配置的kafka bootstrap_servers是 59.64.11.22:39092。這里之所以端口使用的是 39092,而非9092,是因?yàn)镵ubernetes對(duì)外暴露的端口,分配的是39092。接著往下看,你會(huì)發(fā)現(xiàn)這樣會(huì)有問(wèn)題。
connection refused
Kafka client的日志里報(bào)錯(cuò):
2016-11-22T07:23:33.312102145Z 2016-11-22T07:23:33Z WARN Failed to connect to broker 59.64.11.21:30791: dial tcp 52.198.148
延伸閱讀
- ssh框架
2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖
2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe
2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】
2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞
2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention
2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明
2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解
2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析
2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二)
2017-07-26
學(xué)習(xí)是年輕人改變自己的最好方式