當前位置:首頁 » 密碼管理 » 訪問kafka

訪問kafka

發布時間: 2023-05-22 05:21:54

『壹』 kafka 設置外網訪問

源地址: https://blog.51cto.com/395469372/2464399
前提條件
需要一個解析到內網ip地址的域名,內網環境也可以設置/etc/hosts

參數設置
host.name=kafka.test.com(對應的域名解析需要解到內網ip)
高版本已棄用。低版本0.10.2.1可以用, 僅當listeners屬性未配置時被使用,已用listeners屬性代替。表示broker的hostname

advertised.listeners= PLAINTEXT://kafka.test.com:9092 (高版本用,替代 host.name ,設置了advertised.listeners不用設置 host.name )
注冊到zookeeper上並提供給客戶端的監聽器,如果沒有配置則使用listeners。

advertised.host.name(不需要設置,僅作參考)
已棄用。僅當advertised.listeners或者listeners屬性未配置時被使用。官網建議使用advertised.listeners

listeners(不肆做需要設置,僅作參考)
需要監聽的URL和協議,如: PLAINTEXT://myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093 。如果喊隱未指定該配置,則使用 java.net.InetAddress.getCanonicalHostName() 函數的的返回值裂滲衡

修改上broker的/etc/hosts文件
[內網ip] kafka.test.com

修改外網訪問伺服器上的/etc/hosts文件
[外網ip] kafka.test.com

『貳』 如何通過外網連接內網kafka程序

一、內網IP只能帶閉在內網區域網訪問連接,在外網是不能認識內網IP不能訪問的。如有路由許可權,且路由有固定公網IP,可以通過路由的埠映射,實現外網訪問內網。如無路由,或路由無公網IP,需要藉助第三方開放的nat123埠映射網路輔助實現外網訪問內網。
埠映射網路輔助的好處是適用於任何網路環境,外網訪問內網的實現過程:

在內網安裝並啟用nat123埠映射。添加映射,配置內外網映射信息,對應內網IP埠和外網自己的域名。外網地址賀拍可直接使用提示默認域名。

NAT映射後,通過域名訪問,即可以連接內網對應IP應用。

二、要用到第三方開放的花生殼埠映射網路輔助實現外網訪問內網。
方法

1、在內網安裝並啟用花生殼埠映射。添加映射,配置內外網映射信息,對應內網IP埠和外網自己的域名。外網地址可直接使用提示默認域名。

2、點擊你想映射的域名,進入花生殼埠映射添加界面,點擊打開內網映射。

3、應用名稱可以隨便填個好記的,內網主機就是你想被公網訪問的那台電腦IP地址,內網埠就是希望被映射的埠,如下。我的內網主機是本機,就是192.168.21.250,希望被映射的埠是1024。點擊確定,就啟動埠映射了。

4、現在埠映射窗口就會添加一條映射記錄,此時,花生殼映射後,通過域名訪蠢拍裂問,即可以連接內網對應IP應用。公網只要使用花生殼分配的這個域名+埠,就可以訪問內網的主機了。

『叄』 windows 下遠程連接kafka伺服器並創建topic 部署服務

一.打包項目鏡像:

利用Dockerfile 來打包項目的鏡像
本次項目共依賴兩個鏡像(一個基礎系統環境和一個項目鏡像)
本次直接將Dockerfile寫好後,用shell腳本build.sh啟動打包:

然後切換到項目的目錄下找到build.sh,運行即可打包項目鏡像



報錯:"failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: permission denied
"
就用

出現以下說明打包成功,接下來可以開始部署:

https://jingyan..com/article/9113f81b49ed2f2b3214c7fa.html

注意:如果遇到只讀許可權不能修改時,將host文件復制一份到桌面,修改後在替換原來的host文件
在hosts文件末尾加上kafka伺服器< !外網! 39. 0.25...>地址,修改後的格式如下:
1.1注意: 修改阿里雲伺服器的hosts 文件來配置 kafka的伺服器地址:

在hosts 文件最後加入:

添加的 kafka-server 就是以下創建topic命令中的 kafka-server別名,

監聽遠程kafka:新建寬辯頃消費者:

遠程創建topic的實例:

查看遠程已創建的topc:

本地:

遠程修改後的kafka topic:

2.通過git Bash 切換到kafka客戶端的bin目錄:
桌面打開 gitBash,切換到本地kafka軟體目錄:

這里一定要切換為windows

3.查看已經有的topic

--topic 指定topic名字
--replication-factor 指定副本數,因為我的是集群環境,這里副本數就為3
--partitions 指定分區數,這個參數需要根據broker數和數據量決定,正常情況下,每個broker上兩慎陸個partition最好

注意:伺服器部署時候一定要用內網172. .開頭的,外部訪問設為外網ip
不然會導致Kafka寫入數據的時候報錯 : TImeout

4.1本地灶念docker創建topic:

4.2 本地windows 創建topic
進入本地軟體路徑KAFKA/BIN/WIONDOWS
創建topic

5.修改伺服器的host:
一定要注意加sudo 不然會導致readonly 無法修改

在host 文件的末尾加上以下:

6.切換到工程部署的目錄

7.清理redis,不然數據有殘留:
7.1伺服器上的redis掛載清除:
在 docker-compose.yml中注銷這幾行: 目的是每次啟動不必記錄上次沒有執行完的數據.

這個是用來記錄redis中假如上次指定的是1到100萬塊,沒有執行完.下次接著執行沒執行完的任務,測試時暫時關閉

7.2刪除volume:

7.3 如果volume文件被佔用時,先刪除佔用容器:

7.4 清除redis中的數據
進入redis容器中:

8.部署命令:
8.1開啟docker可視化web上監控docker:

然後訪問: http://39.100.48.41:9000
宿主機IP + 9000埠

8.2執行部署命令,啟動服務:

9.部署時報錯: yaml: line 46: did not find expected key
原因: docker-compose.yml文件中第46行 報錯

解決:將所有數據對齊,不要有多餘的空格.

熱點內容
ea伺服器怎麼連接 發布:2025-02-08 05:16:45 瀏覽:461
更加密更改 發布:2025-02-08 05:15:20 瀏覽:782
倉儲資源配置都需要開展哪些任務 發布:2025-02-08 05:13:51 瀏覽:675
探針資料庫 發布:2025-02-08 05:13:35 瀏覽:79
cfft演算法 發布:2025-02-08 04:53:59 瀏覽:960
極客學院php 發布:2025-02-08 04:52:32 瀏覽:779
書本編譯是什麼意思 發布:2025-02-08 04:45:56 瀏覽:953
淘寶密碼賬號在哪裡看 發布:2025-02-08 04:29:39 瀏覽:536
描繪四季的美文寫一份朗讀腳本 發布:2025-02-08 04:29:21 瀏覽:139
金蝶軟體伺服器是電腦嗎 發布:2025-02-08 04:27:06 瀏覽:974