系統新增資料需要通過kafka平台進行推送,第三方消費訊息
1.伺服器端需要安裝jdk, kafka 2.6.0(使用kafka自帶zookeeper),jdk配置對應的環境變數,kafka使用預設配置;
2.啟動順序為:zookeeper啟動之後 啟動kafka;
關閉順序為:kafka關閉之後 關閉zookeeper;
3.後台zookeeper啟動:(到kafka安裝目錄)
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
4.後台kafka啟動:(到kafka安裝目錄)
bin/kafka-server-start.sh -daemon config/server.properties
5.建立topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic name --partitions 1 --replication-factor 1
6.檢視該topic的狀態
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic name
7.需要測試的話,可以在kafka上新開連線視窗 建立生產者和消費者
生產者:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic name
消費者:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic name --from-beginning
靜態初始化生產者
// topic名稱
private
static
final string topic =
"oamessage"
;// broker list位址
private
static
final string broker_list =
"10.31.245.5:9092"
;// kafka 生產者
private
static kafkaproducer
producer = null;
// 初始化生產者
static
private
static properties initconfig()
在具體方法中使用生產者推送訊息
new
thread((
)->).
start()
;
報錯 error connecting to node 0 at *********:9092:
原因分析:不能解析*********主機名
kafka連線原理:首先連線 127.0.0.1:9092
再次連線返回的是 host.name = *********
最後持續連線的是advertised.host.name = *********
解決辦法:新增hosts檔案網域名稱解析
hosts檔案增加
127.0.0.1 *********
用cmd ping一下*********試試 如果可以ping通即可 kafka使用總結
列出所有topics bin kafka topics.sh list zookeeper 10.19.167.11 2181,10.19.167.12 2181,10.19.167.14 2181 bin kafka topics.sh list zookeeper 10.19.167.21 21...
Ubuntu下kafka使用總結
安裝執行環境 apt get install openjdk 8 jre pip3 install kafka 啟動kafka bin zookeeper server start.sh config zookeeper.properties bin kafka server start.sh co...
kafka知識總結
1 kafka是什麼 類jms訊息佇列,結合jms中的兩種模式,可以有多個消費者主動拉取資料,在jms中只有點對點模式才有消費者主動拉取資料。kafka是乙個生產 消費模型。producer 生產者,只負責資料生產,生產者的 可以整合到任務系統中。資料的分發策略由producer決定,預設是defa...