一、Kafka簡介
Kafka是由Apache軟件基金會開發的一個開源流處理平台,由Scala和Java編寫。Kafka是一種高吞吐量的
分布式發布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索
和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據通常是由於吞吐量的要求而通過
處理日志和日志聚合來解決。 對於像Hadoop的一樣的日志數據和離線分析系統,但又要求實時處理的限制,這是
一個可行的解決方案。Kafka的目的是通過Hadoop的並行加載機制來統一線上和離線的消息處理,也是為了通過
集群來提供實時的消息。
類似的組件還有:Azure的ServiceBus、RabbitMQ等,據網上描述,Kafka比RabbitMQ性能強。
二、安裝
2.1、安裝Kafka之前得先安裝jdk,最好就是1.8及以上
參考:https://www.cnblogs.com/hsyw/p/13203495.html
2.2、下載Kafka
下載地址:http://kafka.apache.org/downloads.html
2.3、安裝
#我下載的是kafka_2.11-2.2.1.tgz,需要什么版本可自選
[root@t1 ~]# tar -zxvf kafka_2.11-2.2.1.tgz -C /app/ && cd /app
[root@t1 app]# mv kafka_2.11-2.2.1/ kafka
[root@t1 app]# cd kafka/
#存放Kafka日志
[root@t1 kafka]# mkdir logs
[root@t1 kafka]# vim config/server.properties
#修改日志目錄方便查看日志
log.dirs=/app/kafka/logs
2.4、啟動
#啟動Kafka得先啟動zookeeper,可以用內置的,也可以自帶。我這用的是另外安裝的,默認端口是2181,所以不 修改Kafka的啟動配置文件
#前台啟動看看有沒有報錯,如果有報錯排查
[root@t1 bin]# ./kafka-server-start.sh ../config/server.properties
#后台啟動,可以到日志查看是否有錯誤
[root@t1 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
三、驗證
3.1、創建一個Topic
[root@t1 bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic test.
3.2、查看剛剛創建的Topic
[root@t1 bin]# ./kafka-topics.sh --list --zookeeper localhost:2181
3.3、產生消息
[root@t1 bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
>hello tzh
>ni zui jin hai hao ma
>wo hen xiang ni
3.4、消費消息
###高版本用--bootstrap-server消費消息
[root@t1 bin]# ./kafka-console-consumer.sh --bootstrap-server 192.168.47.188:9092 --topic test --from-beginning
hello tzh
ni zui jin hai hao ma
wo hen xiang ni
###低版本用--zookeeper消費消息
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
四、bin目錄文件介紹
kafka-server-start.sh Kafka服務啟動腳本
kafka-server-stop.sh Kafka服務停止腳本
kafka-console-consumer.sh Kafka命令窗口消費者啟動腳本
kafka-console-producer.sh Kafka命令窗口生產者啟動腳本
zookeeper-server-start.sh Kafka自帶zookeeper服務的啟動腳本
zookeeper-server-stop.sh Kafka自帶zookeeper服務的停止腳本
五、conf目錄文件介紹
server.properties Kafka服務的啟動配置文件
zookeeper.properties Kafka自帶zookeeper的啟動配置文件