centos下kafka的安裝和使用

Kafka是由Apache軟件基金會開發的一個開源流處理平臺,由ScalaJava編寫。Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。這些數據通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。
linux系統下安裝kafka:
wget http://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz
tar -xzvf kafka_2.12-2.2.0.tgz 

在kafka目錄下:

cd config
vim server.properties
####
    然後在server.properties文件中進行以下設置
    #當前機器在集羣中的唯一標識,和zookeeper的myid性質一樣
    broker.id=0 
    #當前kafka對外提供服務的端口默認是9092
    port=9092 
    #主機ip
    host.name=172.18.13.17 
    #消息存放的目錄,這個目錄可以配置爲“,”逗號分割的表達式,上面的num.io.threads要大於這個目錄的個數這個目錄,如果配置多個目錄,新創建的topic他把消息持久化的地方是,當前以逗號分割的目錄中,那個分區數最少就放那一個
    log.dirs=/home/wanguri/downloads/kafka_2.12-2.2.0/kafka-logs 
    #設置zookeeper的連接端口
    zookeeper.connect=127.0.0.1:2181

在kafka目錄下,新建kafkastart.sh腳本,運行腳本啓動kafka:

#啓動zookeeper
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/zookeeper-server-start.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/zookeeper.properties &
#睡眠3秒在執行下一條
sleep 3
#啓動kafka
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/kafka-server-start.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/server.properties &

在kafka目錄下,新建kafkastop.sh腳本,運行腳本關閉kafka:

#關閉zookeeper
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/zookeeper-server-stop.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/zookeeper.properties &
#睡眠3秒在執行下一條
sleep 3
#關閉kafka
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/kafka-server-stop.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/server.properties

或者是直接執行命令關閉也可以:

cd kafka_2.12-2.1.0/bin/
./zookeeper-server-stop.sh ../config/zookeeper.properties & #關閉kafka自帶的zookeeper(若不用自帶zookeeper可不執行此句)
./kafka-server-stop.sh ../config/server.properties

如果報錯如下,表示有些文件路徑還不存在,可以忽略這個錯誤,因爲創建完之後就不會報錯了:

[2019-12-06 03:25:14,412] INFO Got user-level KeeperException when processing sessionid:0x100e3191a8f0000 type:multi cxid:0x2e zxid:0x3f txntype:-1 reqpath:n
/a aborting remaining multi ops. Error Path:/admin/preferred_replica_election Error:KeeperErrorCode = NoNode for /admin/preferred_replica_election (org.apache.zookeeper.server.PrepRequestProcessor)

注意在啓動之前要確認是否已經關閉上一次開啓的kafka server,如果沒有啓動時候會報錯。

創建一個topic,名字叫做test。只有一個分區和一個備份:

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

生產消息:

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

消費消息:這裏172.18.13.17是本機IP
 

bin/kafka-console-consumer.sh --bootstrap-server 172.18.13.17:9092 --topic test --from-beginning 

 

 

發佈了80 篇原創文章 · 獲贊 133 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章