kafka入門使用
kafka版本0.11.0.1以上自帶zookeeper,必須要求環境中有jdk,解壓後進入目錄
1、在kafka解壓目錄下下有一個config的文件夾,裏面放置的是我們的配置文件
consumer.properites 消費者配置,此處我們使用默認的即可 producer.properties 生產者配置,此處我們使用默認的即可 server.properties kafka服務器的配置,此配置文件用來配置kafka服務器,目前僅介紹幾個最基礎的配置 broker.id 申明當前kafka服務器在集群中的唯一ID,需配置為integer,並且集群中的每一個kafka服務器的id都應是唯一的,我們這裏采用默認配置即可 listeners 申明此kafka服務器需要監聽的端口號,如果是在本機上跑虛擬機運行可以不用配置本項,默認會使用localhost的地址,如果是在遠程服務器上運行則必須配置,例如: listeners=PLAINTEXT:// 192.168.180.128:9092。並確保服務器的9092端口能夠訪問,如果想外部電腦上的程序也能訪問此kafka,就必須指定ip地址,不然java中會報key為null的錯誤 zookeeper.connect 申明kafka所連接的zookeeper的地址 ,需配置為zookeeper的地址,由於本次使用的是kafka高版本中自帶zookeeper,使用默認配置即可 zookeeper.connect=localhost:2181 |
運行
- 啟動zookeeper
cd進入kafka解壓目錄,輸入
bin/zookeeper-server-start.sh config/zookeeper.properties
啟動zookeeper成功後會看到如下的輸出
2.啟動kafka
cd進入kafka解壓目錄,輸入
bin/kafka-server-start.sh config/server.properties
啟動kafka成功後會看到如下的輸出
kafka後臺運行,進入解壓目錄下
nohup bin/zookeeper-server-start.sh config/zookeeper.properties >>zk.log &
nohup bin/kafka-server-start.sh config/server.properties >>kafka.log &
2.5. 第一個消息
2.5.1 創建一個topic
Kafka通過topic對同一類的數據進行管理,同一類的數據使用同一個topic可以在處理數據時更加的便捷
在kafka解壓目錄打開終端,輸入
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic
test
創建一個名為test的topic
註意:如果server.properties中配置listeners=PLAINTEXT:// 192.168.180.128:的ip地址,那麽就不能再使用localhost,必須指定為ip地址,此處改為
bin/kafka-topics.sh --create --zookeeper 192.168.180.128:2181 --replication-factor 1 --partitions 1 --topic test
下面都是一樣的,localhost改為ip地址,不然外部用程序訪問時會獲取不到而報節點無效的錯誤
在創建topic後可以通過輸入
bin/kafka-topics.sh --list --zookeeper localhost:2181
來查看已經創建的topic
2.4.2
創建一個消息消費者
在kafka解壓目錄打開終端,輸入
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic
test
--from-beginning
可以創建一個用於消費topic為test的消費者
消費者創建完成之後,因為還沒有發送任何數據,因此這裏在執行後沒有打印出任何數據
不過別著急,不要關閉這個終端,打開一個新的終端,接下來我們創建第一個消息生產者
2.4.3 創建一個消息生產者
在kafka解壓目錄打開一個新的終端,輸入
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic
test
在執行完畢後會進入的編輯器頁面
在發送完消息之後,可以回到我們的消息消費者終端中,可以看到,終端中已經打印出了我們剛才發送的消息
來源:https://www.cnblogs.com/hei12138/p/7805475.html
kafka入門使用