kafka入門學習

2021-09-12 06:08:37 字數 1696 閱讀 5713

為了解決流式處理,也解決原版本較為死板的c通訊檔案,現在引入kafka來進行多併發等問題的處理。2023年03月08日14:19:21

此處解壓到/usr/local目錄下

> tar -zxvf kafka_2.10-0.8.2.2.tgz -c /usr/local/

> cd /usr/local/kafka_2.10-0.8.2.2/

2、開啟kafka服務

kafka依賴zookeeper,所以首先要開啟zookeeper,如果機器沒有安裝zookeeper,可以使用kafka安裝包內的自帶的指令碼來啟動乙個單節點的zookeeper

> bin/zookeeper-server-start.sh config/zookeeper.properties

啟動kafka server:

> bin/kafka-server-start.sh config/server.properties

3、建立topic

建立乙個名為」test」的topic,只有乙個partition和乙個replica

> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

使用topic命令可以檢視當前的topic

> bin/kafka-topics.sh --list --zookeeper localhost:2181

相對於此處的手動建立topic,你還可以在brokers上配置當沒有topic的時候自動建立topic

4、傳送訊息

kafka自帶乙個命令列客戶端,它從檔案或標準輸入中獲取輸入,並將其作為訊息傳送到kafka集群,預設每行作為單獨的訊息傳送

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 

this is a message

this is another message

5、開啟consumer

kafka還有乙個命令列consumer,可以把訊息轉儲到標準輸出。

> bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning(0.9前)

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning(kafka0.9版本後)

this is a message

this is another message

問題集合:

1.反覆遭遇鏈結超時,connect to ipv4#x.x.x.xfailed,connection timed out,1/1brokers are down 等情況

表現為伺服器本地生成消費正常,但是外部機器無法訪問,傳送資訊報如上所示錯誤

原因是我們使用ubuntu伺服器的防火牆,沒有將9092埠暴露出去,

這裡使用$ sudo ufw status檢視防火牆狀態,

使用$ sudo ufw allow 9092 將9092埠新增到可用,再次檢視會顯示(action allow)

之後就可以在本地的消費者那裡看到遠端機器傳送給伺服器的訊息正常消費了。

Kafka學習 入門

在進行如下配置前,首先要啟動zookeeper。1.進入kafka解壓目錄 2.啟動kafka bin windows kafka server start config server.properties3.建立topic和檢視機器上topic 4.傳送資料 5.開始消費資料 bin window...

Kafka入門學習筆記

生產者,發布訊息。將訊息發布到指定的topic中,並負責決定發布到哪個分割槽。通常簡單的由負載均衡機制隨機選擇分割槽,但也可以通過特定的分割槽函式選擇分割槽。使用的更多的是第二種。kafka將訊息種子 feed 分門別類,每一類的訊息稱之為乙個topic。kafka的資料就儲存在topic。topi...

Kafka入門學習 基礎

kafka是什麼 kafka是最初由linkedin公司開發,是乙個分布式 支援分割槽的 partition 多副本的 replica 基於zookeeper協調的分布式訊息系統,它的最大的特性就可以實時的處理大量資料以滿足各種需求場景 比如基於hadoop的批處理系統 低延遲的實時系統 storm...