由LinkedIn 公司開發的一個分佈式的消息系統;
高吞吐率;
支持Kafka Server間的消息分區,及分佈式消費;
同時支持離線數據處理和實時數據處理;
支持在線水平擴展。apache
kafka基本名詞解釋bootstrap
kafka順序寫磁盤服務器
Kafka的文件存儲機制架構
Kafka的文件複製原理異步
Kafka的數據可靠性的保證分佈式
request.required.acks=-1參數來設置數據可靠性的級別
min.insync.replicas配合使用ui
Kafka的發送模式,默認同步producer.type=sync,如下是異步的參數spa
Kafka的消息傳輸保障命令行
At most once: 消息可能會丟,但毫不會重複傳輸
At least once:消息毫不會丟,但可能會重複傳輸
Exactly once:每條消息確定會被傳輸一次且僅傳輸一次3d
Kafka的單節點搭建
Kafka版本下載
配置server.properties和consumer.properties
Kafka依賴zookeeper
1:下載kafka
地址:http://kafka.apache.org/downloads
2:上傳安裝包到服務器上面,而且進行解壓
3:進入kafka的安裝目錄下的config目錄
1)編輯server.properties文件,修改zk的服務地址,好比:
zookeeper.connect=hm02:2181,hs0201:2181,hs0202:2181
2)編輯consumer.properties文件,修改zk的服務地址,好比:
zookeeper.connect=hm02:2181,hs0201:2181,hs0202:2181
4:啓動zk集羣
./zookeeper-3.4.8/bin/zkServer.sh start
5:啓動kafka的server
./bin/kafka-server-start.sh config/server.properties 啓動kafka服務
6:克隆一個會話來進行建立一個主題,topic
./bin/kafka-topics.sh --create --zookeeper hm02:2181,hs0201:2181,hs0202:2181 --replication-factor 1 --partitions 1 --topic mykaka
查看有那些topic:
./bin/kafka-topics.sh --list --zookeeper hm02:2181,hs0201:2181,hs0202:2181
7:建立一個生產者,這裏是使用命令行的producer
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykaka
8:建立一個消費者,這裏也是用命令行的consumer ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mykaka --from-beginning