第1節 kafka消息隊列:十一、kafka的數據不丟失機制,以及kafka-manager監控工具的使用;十二、課程總結

十二、kafka如何保證數據的不丟失

12.1生產者如何保證數據的不丟失

kafka的ack機制:在kafka發送數據的時候,每次發送消息都會有一個確認反饋機制,確保消息正常的可以被收到java

若是是同步模式:ack機制可以保證數據的不丟失,若是ack設置爲0,風險很大,通常不建議設置爲0node

producer.type=sync 
request.required.acks=1git

 

若是是異步模式:經過buffer來進行控制數據的發送,有兩個值來進行控制,時間閾值與消息的數量閾值,若是buffer滿了數據尚未發送出去,若是設置的是當即清理模式,風險很大,必定要設置爲阻塞模式github

結論:producer有丟數據的可能,可是能夠經過配置保證消息的不丟失vim

producer.type=async 
request.required.acks=1 
queue.buffering.max.ms=5000 
queue.buffering.max.messages=10000 
queue.enqueue.timeout.ms = -1 
batch.num.messages=200瀏覽器

 

12.2 消費者如何保證數據的不丟失

經過offset  commit  來保證數據的不丟失,kafka本身記錄了每次消費的offset數值,下次繼續消費的時候,接着上次的offset進行消費便可服務器

 

12.3       broker如何保證數據的不丟失:

partition的副本機制app

 

1三、kafkaManager監控工具的安裝與使用

第一步:下載kafkaManager

源碼下載地址:異步

https://github.com/yahoo/kafka-manager/async

下載源碼,而後上傳解壓準備編譯

 

cd /export/servers/kafka-manager-1.3.3.15

unzip kafka-manager-1.3.3.15.zip -d  ../servers/

./sbt clean dist

編譯完成以後,咱們須要的安裝包就在這個路徑之下

/export/servers/kafka-manager-1.3.3.15/target/universal

須要下載源碼進行本身編譯,比較麻煩,不要本身編譯,已經有編譯好的版本能夠拿過來直接使用便可

 

第二步:上傳編譯好的壓縮包並解壓

將咱們編譯好的kafkamanager的壓縮包上傳到服務器並解壓

cd  /export/softwares

unzip kafka-manager-1.3.3.15.zip -d /export/servers/

 

第三步:修改配置文件

cd /export/servers/kafka-manager-1.3.3.15/

vim  conf/application.conf

 

kafka-manager.zkhosts="node01:2181,node02:2181,node03:2181"

 

 

 

第四步:爲kafkamanager的啓動腳本添加執行權限

cd /export/servers/kafka-manager-1.3.3.15/bin

chmod u+x ./*

 

第五步:啓動kafkamanager進程

cd /export/servers/kafka-manager-1.3.3.15

nohup bin/kafka-manager  -Dconfig.file=/export/servers/kafka-manager-1.3.3.15/conf/application.conf -Dhttp.port=8070   2>&1 &

 

 

第六步:瀏覽器頁面訪問

http://node01:8070/

 

==================================================

課程總結:

一、kafka的基本介紹

二、kafka與傳統消息隊列的比較

爲何業務系統用activeMQ:基於事務的保證

爲何大數據平臺用kafka:吞吐量大,速度快

 

三、kafka的組件模型的介紹:  搞定

producer:消息的生產者

topic:一類消息的集合

broker:服務器

consumer:消費者,消費topic當中的數據

partition:分區,一個topic由多個partition組成

segment:一個partition由多個segment組成

.log:數據文件

.index:數據的索引數據

 

四、kafka的安裝:搞定

 

五、kakfa命令行的使用   搞定

建立topic  模擬生產者  模擬消費者

 

六、kafka的java API   跑通就行

 

七、kafka的數據的分區策略:知道

       第一種:指定分區號

第二種:沒有分區號,有了數據的key值,直接按照key取hashCode進行分區

第三種:沒有分區號,也沒有key值,輪循發送

第四種:自定義分區

 

八、kafka的配置文件的說明 瞭解

 

九、flume與kafka的整合  搞定

十、kakfa的監控工具的使用  儘可能安裝成功

相關文章
相關標籤/搜索