php遠程調用kafka服務,PHP kafka

本文目錄一覽:

給kafka配置外部連接

在公司的測試環境中,有的應用需要遠程連接kafka,本地有時也是需要連接到kafka進行Debug,這就需要將kafka配置成外部可連接。想要實現這種效果,有兩種實現方法,第一種方法是將所有kafka的連接都配置成公網IP連接。第二種方法是採用kafka的內外分離配置。方法一雖然能夠實現kafka的外部連接,可是伺服器上面對kafka的連接也會默認使用公網IP的方式連接,而不是內網,這樣會給實例的公網帶寬頻來很大的壓力,應用一多,就會造成實例無法進行登錄。而方法二就可以有效的避免這種現象了,它是將雲上本地應用採用內網來連接kafka,而同時又採用不同的埠配置外網連接,這樣能夠有效的減少公網帶寬的壓力。

在原有配置的基礎上加上或者更改如下配置,配置接受外網連接的埠為9093,同時打開安全組的9093埠,配置過後通過重啟kafka即可通過9093在本地連接kafka。

listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT主要分別定義內部和外部連接採用的安全協議

listeners=INTERNAL://內網IP:9092,EXTERNAL://0.0.0.0:9093主要是定義內部和外部連接監聽的地址埠

advertised.listeners=INTERNAL://內網IP:9092,EXTERNAL://外網IP:9093主要是提交給zookeeper來實現對kafka內部和外部的連接,最開始改配置只是配置了外部的連接,沒有內部的連接,所以對kafka的連接都是通過外部連接。

inter.broker.listener.name=INTERNAL主要是制定kafka集群內部broker之前通過INTERNAL的配置來進行內部通訊。

參考連接:

如何利用pykafka遠程消費 zookeeper+kafka集群 python腳本

#從kafka消費

#consumer_area = topic_area.get_simple_consumer(auto_offset_reset=OffsetType.LATEST)

#從ZOOKEEPER消費

consumer_area = topic_area.get_balanced_consumer(

consumer_group=b’zs_download_04′, # 自己命令

auto_offset_reset=OffsetType.LATEST,#在consumer_group存在的情況下,設置此變數,表示從最新的開始取

#auto_offset_reset=OffsetType.EARLIEST,

#reset_offset_on_start=True,

auto_commit_enable=True,

#auto_commit_interval_ms=1,

zookeeper_connect=ZK_LIST

)

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

就用

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

注意:如果遇到只讀許可權不能修改時,將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:

然後訪問:

宿主機IP + 9000埠

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

9.部署時報錯: yaml: line 46: did not find expected key

原因: docker-compose.yml文件中第46行 報錯

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

php本地 怎麼連接遠程資料庫伺服器

在php中如果要連接遠程資料庫連接方法很簡單,只要把本地連接localhost或127.0.0.1改成指定遠程伺服器一IP地址或者直接域名即可。

語法

mysql_connect(servername,username,password);

例子

在下面的例子中,我們在一個變數中 ($con) 存放了在腳本中供稍後使用的連接。如果連接失敗,將執行 “die” 部分:

代碼如下:

?php

$con = mysql_connect(“localhost”,”peter”,”abc123″);

if (!$con)

{

die(‘Could not connect: ‘ . mysql_error());

}

// some code

?

消息中間件Kafka – PHP操作使用Kafka

cd librdkafka/

./configure make make install

安裝成功界面 沒有報錯就是安裝成功

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/289390.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:02
下一篇 2024-12-24 03:02

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python消費Kafka數據指南

    本文將為您詳細介紹如何使用Python消費Kafka數據,旨在幫助讀者快速掌握這一重要技能。 一、Kafka簡介 Kafka是一種高性能和可伸縮的分散式消息隊列,由Apache軟體…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • Flink消費Kafka

    一、Flink消費Kafka簡介 Apache Flink是一個分散式流處理引擎,提供在大規模數據上實時計算的能力,同時也支持批處理模式。在結合Kafka使用時,Flink可以通過…

    編程 2025-04-25
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24

發表回復

登錄後才能評論