博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生产实践Kafka与ELK
阅读量:6824 次
发布时间:2019-06-26

本文共 1488 字,大约阅读时间需要 4 分钟。

项目背景,第三方发送数据到kafka。我方负责消费,解码、存储、入库。

开发环境:集群1.0kafka,springboot开发程序

问题:1.kafka服务端与客户端版本不一致,服务端1.0,客户端0.8,导致程序消费到一部分重启后,为消费的数据丢失直接别为已消费,导致剩余数据未走流程。

2. 数据丢失节点盲目,无法找到,需要大量测试。

3. 线程数太多,分配资源浪费,dfs单节点瓶颈。

解决问题:

1. 服务端与客户端版本不一致,0.8版本中auto.offset.reset=smallest/largest/anything else  与1.0版本auto.offset.reset=earliest/latest/none

参数不一致,导致重启程序后数据丢失,调整版本一致后,解决此问题。

2. 使用springboot 继承metrics做统计

pom中添加

org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator

代码中注入

@Autowired CounterService counterService;//计数     @Autowired GaugeService gaugeService;//计时

counterService.increment("zhibiaojishu");//计数的指标名称gaugeService.submit("zhibiaojishi");//计时的指标名称
继承es,将指标存入到es中,

中程序中加入

@SpringBootApplicationpublic class KafkaApplication {	@Bean	@ConfigurationProperties("metrics.export")	@ExportMetricWriter	public MetricWriter metricWriter() {		return new ElasticsearchMetricWriter();	}	public static void main(String[] args) {		SpringApplication.run(KafkaApplication.class, args);	}}

具体代码可参考https://github.com/lane-cn/spring-boot-metrics-sample

安装elasticsearrch-head-1.0.0.jar      head工具 直接java -jar elasticsearrch-head-1.0.0.jar启动,配置ip和端口号

 elasticsearrch-5.6.9.tar.gz   更改集群名字和端口号  ./elasticsearrch -d 后台启动,使用内存可使用大一点

安装kibana-5.6.9.tar.gz 配置ip,启动后可收集es中的数据做统计报表,此时各项指标脚本监控形成图标已完成。

3. 线程数根据cpu物理内存做修改一般保持一致,dfs单点瓶颈问题需要搭建集群环境。

到此ELk模拟环境完成。运维人员可直接查看kibana图标监控各个数据指标。

转载地址:http://fblzl.baihongyu.com/

你可能感兴趣的文章
实验三
查看>>
Codeforces Round #363 (Div. 2)
查看>>
HDU 6141 - I am your Father! | 2017 Multi-University Training Contest 8
查看>>
日期操作
查看>>
angularjs中ng-repeat-start与ng-repeat-end用法实例
查看>>
linux centos6.5 安装gcc-c++时出现 yum install gcc-c++ cannot find a valid baseurl for repo...
查看>>
Jsp动态生成表格
查看>>
MongoDB环境配置
查看>>
5_4 calvc
查看>>
Educational Codeforces Round 36 (Rated for Div. 2)
查看>>
深入理解javascript原型和闭包——从【自由变量】到【作用域链】
查看>>
Leetcode Sudoku Solver
查看>>
java多线程
查看>>
Navigator - BOM对象
查看>>
js中字符串的操作
查看>>
String类
查看>>
Hello Swift
查看>>
Codevs1029 遍历问题
查看>>
远程连接提示“为Administrator连接到现存会话发生错误(Id 0).操作成功”
查看>>
nginx配置ssl证书
查看>>