第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的监控工具的使用  尽可能安装成功

相关文章
相关标签/搜索