公众号推文规则变了,点击上方 "数据社", 设为星

后台回复【加群】,申请加入数据学习交流群

滴滴开源了其Kafka 监控与管控平台 Logi-KafkaManager,因为有30+个集群的维护经验,使用过kafka-manager,kafka-eagle,kafka-mirrorkaker工具,所以很期待能有1个工具能够整合kafka所有工具优点于一身,这样对于生产环境中kafka集群的管理、监控、资源分配、平滑升级、数据跨机房传输是非常好的,所以在研究kafka源码的同时研究一下Logi-KafkaManager的源码和使用,滴滴提供了体验地址:http://117.51.150.133:8080/kafka ,账户:admin/admin。

一、调试环境搭建

前端调试环境

github克隆比较慢gitee很快,采取前后端分离架构(springboot+reactJS+Typescript),代码包含了几个模块common,console,core,dao,extends,task,web,其中web中有MainApplication这个项目的启动类,其他都是依赖,console模块是基于recat+typescript的前端界面(技术栈选型还是很超前的),本地分别对前后端运行查看源码,这里把console单独放在VScode中运行;

# react跟vue一样基于node,所以npm相关依赖引入和配置启动
npm config set registry https://registry.npm.taobao.org
npm config list #查看npm当前配置
npm install
# 启动react项目
npm start

console前端模块启动运行:

因为前后端分别用idea和vscode,所以后端项目pom.xml需要注释掉对于console前端模块的引用:

后端调试环境

依赖Maven 3.5+(后端打包),node v12+(前端打包),Java 8+(运行环境需要),MySQL 5.7(数据存储),node因为放在vscode了所以不需要,在mysql创建kafka_manager库,并且运行sql初始化语句,同时修改springboot中的mysql配置(这里官方提供的sql语句没有加字符集设置,需要加上不然报错)

mysql --default-character-set=utf8 -uroot -p123456 -P3306 -D kafka_manager < create_mysql_table.sql

将web模块的MainApplication.java配置成应用主类即可启动;

2021-01-25 19:33:22.642  INFO 18000 --- [           main] c.x.kafka.manager.web.MainApplication    : MainApplication started

由于是本地运行,console模块的API的proxy/target需要修改:

    proxy: {'/api/v1/': {target: 'http://127.0.0.1:8080',//target: 'http://10.179.37.199:8008',// target: 'http://99.11.45.164:8888',changeOrigin: true,}

以上,本地独立运行了基于前后端分离的调试环境;可以看见前端读取的是mysql库中kafka集群配置;

二、功能架构

按照官方提供的功能架构图理解,因为logi-kafka-manager的定位是kafka集群全方位管控系统,它以kafka集群为主体,封装和集成了kafka对外提供的用户API,,以kafka集群和topic资源为运营对象,面向应用系统用户(topic使用者)、kafka/管控平台开发者、kafka/管控平台运维者提供便捷的资源管理能力。按照这个思维理解,官方给的功能架构包括:资源层(zk和mysql元数据存储)、引擎层(kafka集群为主体)、网关层(kafka服务基础管理能力)、服务层(高级用户api)、平台层(面向不同用户);

三、部署验证

windows环境下的部署/调试环境

这里在win系统下本地kafka+logi-kafka-manager的联调测试验证,用于对于kafka+logi-kafka-manager的源码研究和联调,关于win环境下如何部署zookeeper以及idea中运行kafka集群可以参考之前系列文章:《kafka实践(十二):生产者(KafkaProducer)源码详解和调试》,环境配置如下:

  • 本地启动zookeeper(3.4.12),服务端口2181;

  • idea上本地启动kafka集群(1.0版本),对外暴露9999端口服务,且本地已创建yzg这个topic;

  • idea上本地启动logi-kafka-manager后端模块,参考上面配置;

  • vscode本地启动console前端模块,本地调试环境搭建完毕:http://127.0.0.1:1025/

本地测试增加kafka集群到logi-kafka-manager内进行统一管理,新增的本地集群的zk地址和kafka地址,就可以统一管理broker和topic,以及后续的资源分配,win下实现环境配置方便源码调整和kafka/管控平台人员的调试;

linux环境下生产使用

linux环境下的生产部署使用则更为简单,zk和kafka部署完成后,按照官方文档指引进行前后端统一部署,不再验证;

# mvn会调用npm模块下载node依赖
mvn install# application.yml 是配置文件cp kafka-manager-web/src/main/resources/application.yml kafka-manager-web/target/
cd kafka-manager-web/target/
nohup java -jar kafka-manager-web-2.1.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 &

四、工具理解

应用开发人员

针对应用开发人员,只关心其当前的应用系统的数据(多为日志数据)应发到哪个集群下的哪个topic?,因此logi-kafka-manager提供了“Topic管理”--“集群管理”--“监控告警”应用菜单服务,能提供以下几种服务:

  • 创建/申请应用

  • 在“Topic管理”内对当前的申请应用,匹配需要使用的topic资源(可调整配额和分区)

  • kafka集群接入申请

  • 在“监控告警”内自定义告警规则;(对消费偏移量、消费速率、集群状态、topic状态进行自定义监控,并实时预警,太有用了!)

  • 资源申请服务

kafka/管控开发人员

针对kafka/管控开发人员,需要进行应用系统、kafka集群、kafka管控平台的综合管理,增加“运维管控”菜单,提供对于kafka集群的server.config配置等集群运维能力和用户计费账单管理能力,能提供以下几种服务:

  • 创建/申请应用

  • 在“Topic管理”内对当前的申请应用,匹配需要使用的topic资源(可调整配额和分区)

  • 在“监控告警”内自定义告警规则

  • kafka集群接入、升级、配置修改能力

  • 应用管理能力

  • 平台用户计费账单管理能力

  • 资源申请服务

kafka/管控运维人员

针对kafka/管控运维人员,需要及时发现解决kafka集群问题和快速修复,提供“专家服务”,罗列常见问题和解决方法,提供以下几种服务:

  • 创建/申请应用

  • 在“Topic管理”内对当前的申请应用,匹配需要使用的topic资源(可调整配额和分区)

  • 在“监控告警”内自定义告警规则

  • kafka集群接入、升级、配置修改能力

  • 应用管理能力

  • 平台用户计费账单管理能力

  • kafka集群常见问题及修复方案

  • 资源申请服务

五、对社区的建议

对于logi-kafka-manager工具,期待整合Mirror-maker跨机房数据传输工具,更方便地配置数据实时传输和效率监控!

历史好文推荐

  1. Kafka实战宝典:如何跨机房传输数据

  2. kafka实战宝典:手动修改消费偏移量的两种方式

  3. Kafka实战宝典:一文带解决Kafka常见故障处理

  4. Kafka实战宝典:Kafka的控制器controller详解

最后,一哥开通了视频号,发了第一个视频知识分享,大家快来关注、点个赞吧~

你点的每个在看,我都认真当成了喜欢

干货,实战滴滴开源Logi-KafkaManager相关推荐

  1. 滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star

    整理 | Jane 出品 | AI科技大本营(ID:rgznai100) 2018 年,科技企业纷纷布局开源战略后迎来的第一个"丰收年".但对滴滴来说,2019 年才迎来其第一波开 ...

  2. 滴滴开源Android插件框架

     登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 返回通知列表 下一条 上一条 分享资讯传PPT/文档提问题写博客传资源创建项目创建代码片 wz ...

  3. kafka实践(十五): 滴滴开源Kafka管控平台 Logi-KafkaManager研究

    滴滴开源了其Kafka 监控与管控平台 Logi-KafkaManager,因为有30+个集群的维护经验,使用过kafka-manager,kafka-eagle,kafka-mirrorkaker工 ...

  4. 滴滴开源了哪些有意思的项目?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 滴滴技术   出品 | 滴滴技术 作为卓越的一站式移动出 ...

  5. 滴滴开源3周年,都发布过哪些项目?

    桔妹导读:自2017年6月,滴滴发布了首个开源项目VirtualAPK开始,三年耕耘,不忘初心,滴滴已对外发布了40+个开源项目,涵盖人工智能.研发测试.前端.系统工具.大数据.运维监控等领域,一起来 ...

  6. 滴滴开源的项目比腾讯还多?一起来看看滴滴开源的项目!

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 来源:https://www.xttblog.com/?p=5112 在中国,B ...

  7. 滴滴开源AI项目登上GitHub热榜,人机对话模型可从论文到产品部署无缝衔接

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 没想到,滴滴开源的自然语言理解(人机对话)模型训练平台,就这样登上了GitHub热榜. 这一项目名为DELTA,是一个深度学习模型训练框架 ...

  8. 图像处理 花屏_滴滴开源的 AoE:工程实践中的图像处理

    近期,滴滴开源了AOE项目,很多人还是一脸懵逼,不太清楚AOE 到底是干什么的,所以今天我们再来听听官方工程师是怎么介绍的吧,不信你还是听不懂:近期我们开发了一个银行卡 OCR 项目.需求是用手机对着 ...

  9. 滴滴开源首次发布年度报告

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   2018年是滴滴开源飞速崛起的一年,滴滴开源项目由2017年的4个增长到目前的12个,总Star数突破1.6万,Fork数有2千多个,PR总 ...

最新文章

  1. R语言sub函数和gsub函数替换(replace)匹配的字符串实战
  2. android好用的第三方库2018使用总结
  3. UVALive5389 UVA414 POJ1493 ZOJ1339 Machined Surfaces
  4. Sklearn-train_test_split随机划分训练集和测试集
  5. Java中快速处理集合_简洁又快速地处理集合——Java8 Stream(上)
  6. java final static_Java基础之final、static关键字
  7. mysql增加实例,MySQL的简单使用笔记:增加实例以及启动
  8. android可以定义函数吗,Android自定义view 你所需要知道的基本函数总结
  9. 老兄,还在为你的MarkDown写作发愁吗?这些数学符号表达式绝对有你想要的那个,最后还有字体和颜色的修改方法哦
  10. html(+css)/01/html语言基础,标记,标记语法,html文档结构
  11. linux sshd进程起不来,linux sshd服务异常
  12. 可变对象 vs 不可变对象(Python)
  13. poj 1062 昂贵的聘礼 最短路
  14. 开关电源matlab仿真文件,基于PI控制方式的7A开关电源的MATLAB仿真.doc
  15. 最简单的Rest服务
  16. 2022全新彩虹商城知识付费模板源码+修复改良版
  17. BAT批处理脚本案例--创建快捷方式
  18. FPS显示和修改——unity3D
  19. 点击a标签调起whatsapp
  20. Eclipse创建java web工程

热门文章

  1. Micromedia Flash Player已终止一项可能不安全的操作解决办法
  2. redis文件事件和时间事件
  3. Java实现 洛谷 P1103 书本整理
  4. 3dmaxobj导出选项_3dmax将模型导出成OBJ格式和贴图的一些注意点
  5. java 爬取百度云盘,百度网盘资源抓取 爬虫
  6. 无路可逃java攻略_孤岛惊魂5
  7. 程序员生存图鉴:接私活、创业、自由职业,哪种才是理想工作?
  8. Embedding Label Structures:细粒度特征表示的标签结构嵌入
  9. 星际争霸pymarl的环境搭建(pymarl+smac)
  10. go语言基础-----06-----匿名字段、同名字段