簡(jiǎn)述
在公司的測(cè)試環(huán)境中,有的應(yīng)用需要遠(yuǎn)程連接kafka,本地有時(shí)也是需要連接到kafka進(jìn)行Debug鸵闪,這就需要將kafka配置成外部可連接。想要實(shí)現(xiàn)這種效果暑诸,有兩種實(shí)現(xiàn)方法蚌讼,第一種方法是將所有kafka的連接都配置成公網(wǎng)IP連接。第二種方法是采用kafka的內(nèi)外分離配置个榕。方法一雖然能夠?qū)崿F(xiàn)kafka的外部連接篡石,可是服務(wù)器上面對(duì)kafka的連接也會(huì)默認(rèn)使用公網(wǎng)IP的方式連接,而不是內(nèi)網(wǎng)西采,這樣會(huì)給實(shí)例的公網(wǎng)帶寬帶來(lái)很大的壓力凰萨,應(yīng)用一多,就會(huì)造成實(shí)例無(wú)法進(jìn)行登錄。而方法二就可以有效的避免這種現(xiàn)象了胖眷,它是將云上本地應(yīng)用采用內(nèi)網(wǎng)來(lái)連接kafka武通,而同時(shí)又采用不同的端口配置外網(wǎng)連接,這樣能夠有效的減少公網(wǎng)帶寬的壓力珊搀。
配置方法
在原有配置的基礎(chǔ)上加上或者更改如下配置,配置接受外網(wǎng)連接的端口為9093冶忱,同時(shí)打開(kāi)安全組的9093端口,配置過(guò)后通過(guò)重啟kafka即可通過(guò)9093在本地連接kafka境析。
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL://<內(nèi)網(wǎng)IP>:9092,EXTERNAL://0.0.0.0:9093
advertised.listeners=INTERNAL://<內(nèi)網(wǎng)IP>:9092,EXTERNAL://<外網(wǎng)IP>:9093
inter.broker.listener.name=INTERNAL
配置介紹
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT主要分別定義內(nèi)部和外部連接采用的安全協(xié)議
listeners=INTERNAL://<內(nèi)網(wǎng)IP>:9092,EXTERNAL://0.0.0.0:9093主要是定義內(nèi)部和外部連接監(jiān)聽(tīng)的地址端口
advertised.listeners=INTERNAL://<內(nèi)網(wǎng)IP>:9092,EXTERNAL://<外網(wǎng)IP>:9093主要是提交給zookeeper來(lái)實(shí)現(xiàn)對(duì)kafka內(nèi)部和外部的連接囚枪,最開(kāi)始改配置只是配置了外部的連接,沒(méi)有內(nèi)部的連接劳淆,所以對(duì)kafka的連接都是通過(guò)外部連接眶拉。
inter.broker.listener.name=INTERNAL主要是制定kafka集群內(nèi)部broker之前通過(guò)INTERNAL的配置來(lái)進(jìn)行內(nèi)部通訊。