大數據(kafka-原理及架構)

kafka背景及應用場景

     由LinkedIn 公司開發的一個分佈式的消息系統;
     高吞吐率;
     支持Kafka Server間的消息分區,及分佈式消費;
     同時支持離線數據處理和實時數據處理;
     支持在線水平擴展。apache

kafka基本架構

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

相關文章
相關標籤/搜索