溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

發(fā)布時間:2021-06-26 14:21:41 來源:億速云 閱讀:1191 作者:Leah 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

通信方式如下圖:

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

測試條件:

  • CDH和CM為6.3.3

  • Kafka版本為2.2.1

  • 集群和Kafka均已啟用Kerberos

  • 內(nèi)網(wǎng)IP格式為192.168.1.*

  • 外網(wǎng)IP格式為192.168.0.*

  • Kafka集群三臺機(jī)器cdh[1-3].hadoop.com,外網(wǎng)客戶端cdh02.hadoop.com

配置步驟    

   

   

   

2.1 配置hosts

1.在集群內(nèi)節(jié)點(diǎn)配置主機(jī)名和內(nèi)網(wǎng)ip的映射如下:

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

2.在集群外節(jié)點(diǎn)配置主機(jī)名和外網(wǎng)ip的映射如下:

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

3.在此處對內(nèi)外網(wǎng)環(huán)境做驗(yàn)證

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問


由上圖可以看到,外網(wǎng)的客戶端節(jié)點(diǎn)只能訪問192.168.0.*,而無法訪問192.168.1.*,并且telnet內(nèi)網(wǎng)的9092端口也是不通的。

2.2 配置Kafka相關(guān)的參數(shù)

1.進(jìn)入CM的Kafka配置頁面,搜索kafka.properties

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

2.根據(jù)三個不同的角色組,分別對Broker進(jìn)行配置

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

至此配置完成。

注:advertised_listeners 是對外暴露的服務(wù)端口,真正建立連接用的是 listeners,listeners中配置的監(jiān)聽,如果不發(fā)布到advertised_listeners中是無法直接訪問的,并且advertised_listeners中的配置必須要在listeners中已經(jīng)配置過。

驗(yàn)證Kafka使用    

   

   

   

1.在集群內(nèi)節(jié)點(diǎn)創(chuàng)建topic,名稱為faysonTopic,并生產(chǎn)一些消息。

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

2.在集群內(nèi)節(jié)點(diǎn)通過非安全的方式對topic進(jìn)行消費(fèi),使用9092端口

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

3.在集群外節(jié)點(diǎn)通過安全的方式使用外網(wǎng)環(huán)境消費(fèi)topic,使用9797端口

export KAFKA_OPTS="-Djava.security.auth.login.config=./jaas-keytab.conf"
kafka-console-consumer --topic faysonTopic --from-beginning --bootstrap-server cdh2.hadoop.com:9797,cdh3.hadoop.com:9797,cdh4.hadoop.com:9797 --consumer.config client.properties

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

使用到的配置文件截圖如下:

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問


1.針對listeners=PLAINTEXT://ip:9092,SASL_PLAINTEXT://:9797配置,讓安全訪問使用的9092端口只綁定在內(nèi)網(wǎng)ip上,9797端口綁定在所有ip上,讓外網(wǎng)環(huán)境只能夠通過安全的協(xié)議來訪問Kafka,如下:

Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問

2.針對advertised.listeners= SASL_PLAINTEXT://hostname:9797配置,主要是通過域名映射的方式,通過客戶端配置的外網(wǎng)IP與域名的hosts映射,保證外網(wǎng)的客戶端能夠訪問Kafka集群。

以上就是Kafka中怎么實(shí)現(xiàn)跨網(wǎng)絡(luò)訪問,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI