Kafka使用中的兩個(gè)問(wèn)題總結(jié)

Kafka用了挺長(zhǎng)時(shí)間了畅姊,最早時(shí)官方文檔也看得挺細(xì)的咒钟,但結(jié)果大半年沒(méi)用,最近在做一些部署調(diào)整的時(shí)候有些細(xì)節(jié)居然遺忘了若未,擺了個(gè)烏龍朱嘴。在這里總結(jié)一下,以免再忘粗合。

1. 給Kafka加負(fù)載均衡的問(wèn)題

Kafka producer上傳數(shù)據(jù)的工作原理:

  1. producer先通過(guò)配置的broker列表中的其中一臺(tái)萍嬉,獲取到整個(gè)Kafka集群的metadata,其中包含brokers,topics,partitions包括ISR的信息隙疚。定期update壤追。
  2. 根據(jù)以上的metadata,以及由配置的message_key決定的partitioner策略(默認(rèn)不配message_key的話(huà)就是簡(jiǎn)單的round robin)供屉,producer決定將數(shù)據(jù)分批發(fā)送到某個(gè)broker的partition中行冰。
  3. producer直接發(fā)送數(shù)據(jù)溺蕉,不再經(jīng)過(guò)producer配置中的broker轉(zhuǎn)發(fā)。

因此悼做,加負(fù)載均衡是對(duì)獲取metadata的請(qǐng)求提供了高可用疯特,但不是對(duì)實(shí)際數(shù)據(jù)發(fā)送做負(fù)載均衡。所以流量很小肛走,不需要考慮負(fù)載均衡服務(wù)器的帶寬漓雅。

2. host.name與advertised.host.name的設(shè)置

host.name:按配置文件說(shuō)明,是Kafka綁定的interface朽色。其實(shí)這個(gè)說(shuō)明有點(diǎn)誤導(dǎo)邻吞,下面會(huì)見(jiàn)到。

advertised.host.name:是注冊(cè)到zookeeper葫男,client要訪問(wèn)的broker地址抱冷。(可能producer也是拿這個(gè)值,沒(méi)有驗(yàn)證)

如果advertised.host.name沒(méi)有設(shè)梢褐,會(huì)用host.name的值注冊(cè)到zookeeper徘层,如果host.name也沒(méi)有設(shè),則會(huì)使用JVM拿到的本機(jī)hostname注冊(cè)到zk利职。

這里有兩個(gè)坑要注意:

  1. 如果advertised.host.name沒(méi)有設(shè),host.name不能設(shè)為0.0.0.0瘦癌,否則client通過(guò)zk拿到的broker地址就是0.0.0.0猪贪。
    如果指定要bind到所有interface,host.name不設(shè)就可以讯私。

  2. 如果host.name和advertised.host.name都不設(shè)热押,client通過(guò)zk拿到的就是JVM返回的本機(jī)hostname,如果這個(gè)hostname是client無(wú)法訪問(wèn)到的斤寇,client就會(huì)連不上broker桶癣。
    所以如果要bind到所有interface,client又能訪問(wèn)娘锁,解決的辦法是host.name不設(shè)或設(shè)置0.0.0.0牙寞,advertised.host.name一定要設(shè)置為一個(gè)client可以訪問(wèn)的地址,如直接設(shè)IP地址莫秆。
    如果不需要bind到所有interface间雀,也可以只在host.name設(shè)置IP地址。

簡(jiǎn)單的檢查broker是否可以被client訪問(wèn)到的辦法镊屎,就是在zookeeper中看broker信息惹挟,上面顯示的hostname是否是client可以訪問(wèn)到的地址。
在zkCli中執(zhí)行get /brokers/<id>

【擴(kuò)展】為何producer是配置broker地址而consumer中是配置zookeeper地址

區(qū)別的原因是consumer要把consumer group和consumer的信息(主要是分配了哪些topic/partition)注冊(cè)到zookeeper中缝驳,被各個(gè)consumer watch连锯,以實(shí)現(xiàn)consumer之間的自動(dòng)均衡归苍。

至于consumer的offset雖然也可能保存在zookeeper上,但不是區(qū)別的原因运怖。因?yàn)樵?.9版本以上拼弃,offset也是可以保存到Kafka本身的。
</br>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末驳规,一起剝皮案震驚了整個(gè)濱河市肴敛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吗购,老刑警劉巖医男,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異捻勉,居然都是意外死亡镀梭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)踱启,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)报账,“玉大人,你說(shuō)我怎么就攤上這事埠偿⊥赴眨” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵冠蒋,是天一觀的道長(zhǎng)羽圃。 經(jīng)常有香客問(wèn)我,道長(zhǎng)抖剿,這世上最難降的妖魔是什么朽寞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮斩郎,結(jié)果婚禮上脑融,老公的妹妹穿的比我還像新娘。我一直安慰自己缩宜,他們只是感情好肘迎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著脓恕,像睡著了一般膜宋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炼幔,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天秋茫,我揣著相機(jī)與錄音,去河邊找鬼乃秀。 笑死肛著,一個(gè)胖子當(dāng)著我的面吹牛圆兵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枢贿,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼殉农,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了局荚?” 一聲冷哼從身側(cè)響起超凳,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎耀态,沒(méi)想到半個(gè)月后轮傍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡首装,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年创夜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仙逻。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驰吓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出系奉,到底是詐尸還是另有隱情檬贰,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布缺亮,位于F島的核電站偎蘸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瞬内。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一限书、第九天 我趴在偏房一處隱蔽的房頂上張望虫蝶。 院中可真熱鬧,春花似錦倦西、人聲如沸能真。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)粉铐。三九已至,卻和暖如春卤档,著一層夾襖步出監(jiān)牢的瞬間蝙泼,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工劝枣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汤踏,地道東北人织鲸。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像溪胶,于是被迫代替她去往敵國(guó)和親搂擦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容