老王帶你走過 Kafka 入門教程


Apache Kafka是分布式發布-訂閱消息系統,在 kafka官網上對 kafka 的定義:一個分布式發布-訂閱消息傳遞系統。 它最初由LinkedIn公司開發.

Linkedin於2010年貢獻給了Apache基金會並成為頂級開源項目。Kafka是一種快速、可擴展的、設計內在就是分布式的,分區的和可復制的提交日志服務。

主要構建如下:

1、話題(Topic):是特定類型的消息流。消息是字節的有效負載(Payload),話題是消息的分類名或種子(Feed)名;

2、生產者(Producer):是能夠發布消息到話題的任何對象;

3、服務代理(Broker):已發布的消息保存在一組服務器中,它們被稱為代理(Broker)或Kafka集群;

4、消費者(Consumer):可以訂閱一個或多個話題,並從Broker拉數據,從而消費這些已發布的消息;

kfaka最簡單的生產者與消費者相關操作:

pom.xml引入依賴jar包

生產者:

消費者:

 

修改配置文件相關配置

啟動 zookeeper 服務
bin/zookeeper-server-start.sh config/zookeeper.properties

啟動 kafka Broker 服務
bin/kafka-server-start.sh config/server.properties

 

創建一個單分區單副本的 topic: topicLog
bin/kafka-topics.sh --create --zookeeper localhost:26005 --replication-factor 1 --partitions 1 --topic topicLog
Created topic "topicLog".

 

注:記得設置jdk
export JAVA_HOME=/home/tomcat/jdk-1.8 
export PATH=$JAVA_HOME/bin:$PATH

 

bin/kafka-console-producer.sh --broker-list 172.17.0.8:26006 --topic topicLog
bin/kafka-console-consumer.sh --zookeeper 172.17.0.8:26005 --topic topicLog --from-beginning


bin/kafka-topics.sh --zookeeper localhost:26005 --delete --topic topicLog


但是運行命令后,topic並沒有被刪除,使用 “bin/kafka-topics.sh –list –zookeeper localhost:26005”

仍然可以查到。此時我們需要修改config/server.properties文件中的 “delete.topic.enable=true”

來打開這個功能。此時我們再執行上面的 –delete 操作,即可刪除topic了。

綜述:我們現在項目中均是以kafka作為生產者。由storm 或者logstash去消費相關消息。從而實現我們的相關的業務分析。數據分析。

 

—————————————————————————————————

推薦閱讀:

ElasticSearch(head)

6 個重構方法可幫你提升 80% 的代碼質量

filebeat+kafka+strom+logstash+es 輿情采集系統

大數據核心技術


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM