DiDi Kafka-Manager安装和简单使用
时间:2022-07-26
本文章向大家介绍DiDi Kafka-Manager安装和简单使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
之前本来想装kafka-manager,现在叫做CMAK,后来发现滴滴开源的kafka-manager,功能更丰富。看了下它的架构图和源码,还是很值得参考和借鉴的。
让我们来看看didi kafka-manager官网介绍的功能:
一站式 ApacheKafka
集群指标监控与运维管控平台
主要功能特性
集群监控维度
- 多版本集群管控,支持从
0.10.2
到2.4
版本; - 集群Topic、Broker等多维度历史与实时关键指标查看;
集群管控维度
- 集群运维,包括逻辑Region方式管理集群;
- Broker运维,包括优先副本选举;
- Topic运维,包括创建、查询、扩容、修改属性、数据采样及迁移等;
- 消费组运维,包括指定时间或指定偏移两种方式进行重置消费偏移;
用户使用维度
- 管理员用户与普通用户视角区分;
- 管理员用户与普通用户权限区分;
kafka-manager架构图
安装手册
环境依赖
-
Maven3.5.0+
(后端打包依赖) -
node v8.12.0+
(前端打包依赖) -
Java8+
(运行环境需要) -
MySQL
或PostgreSQL
(数据存储)
环境初始化
mysql建库kafka-manager,执行初始化脚本 createmysqltable.sql,从而创建所需的MySQL库及表,默认创建的库名是 kafka_manager
。
打包
执行 mvn install
命令即可。
备注:每一次执行 mvn install
命令,都将在 web/src/main/resources/templates
下面生成最新的前端资源文件,如果 console
模块下的代码没有变更,可以修改 ./pom.xml
文件,忽略对 console
模块的打包。
在对console执行npm的过程中遇到下面的错误:
“Unexpected end of JSON input while parsing near···”
解决方法:先清除缓存,再重新安装
清除缓存
npm cache clean --force
在重新执行命令
启动
############# application.yml 是配置文件
cp web/src/main/resources/application.yml web/target/
cd web/target/
nohup java -jar kafka-manager-web-1.0.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&
由于集群8080端口被占用,我们改成了9005
Web界面
用管理员帐号admin/admin登录
我们需要添加kafka集群
这里注意,我们CDH中zookeeper的连接地址为 cdh1.macro.com:2181,cdh2.macro.com:2181,cdh3.macro.com:2181/kafka
后续我们深度使用,看会遇到哪些问题。
- 如何在Hue中配置HiveServer2的负载均衡
- 如何修改CDH集群的IP地址
- 如何在Kerberos环境的CDH集群部署Livy
- 如何在Kerberos环境下使用Haproxy实现HiveServer2负载均衡
- Hive与Impala的关键字
- 如何通过Livy的RESTful API接口向非Kerberos环境的CDH集群提交作业
- 如何编译Livy并在非Kerberos环境的CDH集群中安装
- Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs
- 如何在RedHat7上使用Bind搭建DNS服务
- 如何在Redhat7.3的CDH5.14中启用Kerberos
- 如何使用SAML配置Cloudera Manager的身份验证
- 如何使用Shibboleth搭建IDP服务并集成OpenLDAP
- 如何获取Hive正在执行或者已结束的的MapReduce作业的SQL语句
- 如何启用Oozie的HA
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux内核平台总线设备驱动模型浅析
- Sentinel熔断降级说明
- 浅谈text段、data段和bss段
- RocketMQ消息发送常见错误与解决方案
- 浅谈内核的Makefile、Kconfig和.config文件
- HTTPS 基本原理
- 自动化运维平台Spug测试
- 如何提升前端基建的效能价值?
- iTerm2安装和配置
- 最新最全的mutect2教程
- Flutter基础widgets教程-CupertinoAlertDialog篇
- Spring的Controller是单例还是多例?怎么保证并发的安全
- 用TypeScript装饰器实现一个简单的依赖注入
- PING问题解决方法_20190305
- 前端需要掌握的设计模式