kafka-manager配置及安装Kerberos(Ambari-HDP)认证
创始人
2025-05-31 09:29:35
0

目录

一、概述

二、环境

三、部署kafka-manager

3.1下载

3.2 配置修改

3.3kafka开启JMX

3.4启动CMAK

3.5登录

3.6添加kafka cluster配置

3.7 问题

3.8Topic和Broker信息查看

3.9Topic创建


一、概述


为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager(已改名为 cmak)。

这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。

它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:

  • 管理多个集群
  • 轻松检查集群状态(主题、消费者、偏移量、代理、副本分布、分区分布)
  • 运行首选副本选择
  • 生成分区分配,带有选择要使用的代理的选项
  • 运行分区重分配(基于生成的分配)
  • 创建一个带有可选主题配置的主题(0.8.1.1与0.8.2+有不同的配置)
  • 删除主题(仅在0.8.2+支持,记住设置Delete .topic。在代理配置中启用=true)
  • 主题列表现在显示标记为删除的主题(仅支持0.8.2+)
  • 批量生成多个主题的分区分配,并可选择要使用的代理
  • 批量运行多个主题的分区重分配
  • 向现有主题添加分区
  • 更新现有主题的配置
  • 可选地为代理级和主题级指标启用JMX轮询。

可选地过滤掉在zookeeper中没有id /所有者/ &偏移量/目录的消费者。

GitHub - yahoo/CMAK: CMAK is a tool for managing Apache Kafka clustersCMAK is a tool for managing Apache Kafka clusters. Contribute to yahoo/CMAK development by creating an account on GitHub.https://github.com/yahoo/CMAK


二、环境


Ambari 集群版本信息

注意:cmak环境要求JDK版本为11

1、jdk
java version "jdk-11.0.18"2、kafka集群信息
服务器:
192.168.2.152:6667
192.168.2.153:6667软件:
kafka_2.0.0
zookeeper-3.4.6

三、部署kafka-manager


3.1下载

cmak下载地址为:

https://github.com/yahoo/CMAK/releases/download/3.0.0.6/cmak-3.0.0.6.zip

3.2 配置修改

export JAVA_HOME=/hadoop/software/jdk-11.0.18

因为本地已经添加JDK1.8 环境变量,所以我在启动脚本中添加JDK环境变量

修改cmak中application.conf配置文件:

kafka-manager.zkhosts="192.168.2.152:2181,192.168.2.153:2181"
kafka-manager.zkhosts=${?ZK_HOSTS}
cmak.zkhosts="192.168.2.152:2181,192.168.2.153:2181"
cmak.zkhosts=${?ZK_HOSTS}
##开启认证
basicAuthentication.enabled=truebasicAuthentication.username="admin"
basicAuthentication.username=${?KAFKA_MANAGER_USERNAME}
basicAuthentication.password="admin"
basicAuthentication.password=${?KAFKA_MANAGER_PASSWORD}#kafka-manager.consumer.properties.file=${?CONSUMER_PROPERTIES_FILE}
kafka-manager.consumer.properties.file=/hadoop/software/cmak-3.0.0.6/conf/consumer.properties添加conf/consumer.properties配置security.protocol=SASL_PLAINTEXT
key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
添加 conf/jaas.conf 配置Client{com.sun.security.auth.module.Krb5LoginModule requireduseKeyTab=truekeyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/hdp103@WINNER.COM"serviceName="kafka"doNotPrompt=true;
};
KafkaClient{com.sun.security.auth.module.Krb5LoginModule requireduseKeyTab=truekeyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/hdp103@WINNER.COM"serviceName="kafka"doNotPrompt=true;
};

3.3kafka开启JMX

如果开启JMX轮训 ,必须要在kafka启动脚本中打开JMX端口(kafka节点都打开)

vim  /usr/hdp/3.1.4.0-315/kafka/bin/kafka-server-start.shexport JMX_PORT=9999

然后去重启kafka, 检测kafka-manager端口

3.4启动CMAK

创建启动脚本 startCamk.sh

#!/bin/bash
echo '-------------------------------------------------------------------分界线'$(date +%F%t%T)> manager.out# 配置kafka-manager元数据使用的zookeeper,此处必须是用export
export ZK_HOSTS=192.168.2.152:2181,192.168.2.153:2181,192.168.2.154:2181
# kafka-manager 路径
MANAGER_HOME=/hadoop/software/cmak-3.0.0.6
# 可执行文件路径
KAFKA_MANAGER=$MANAGER_HOME/bin/cmak
# 日志位置
APP_HOME=-Dapplication.home=$MANAGER_HOME
# 端口
HTTP_PORT=-Dhttp.port=9001# SASL安全认证
JAAS_CONF=-Djava.security.auth.login.config=$MANAGER_HOME/conf/jaas.conf
KRB5_CONF=-Djava.security.krb5.conf=$MANAGER_HOME/conf/krb5.confnohup  $KAFKA_MANAGER $JAAS_CONF $KRB5_CONF $APP_HOME $HTTP_PORT >manager.out 2>&1 &echo "$!"
tailf manager.out

可以先在 前台启动 ,查看是否有报错

./bin/cmak -Djava.security.krb5.conf=./conf/krb5.conf -Djava.security.auth.login.config=./conf/jaas.conf -Dhttp.port=9001

3.5登录

http://192.168.2.154:9000/

之前配置了账号密码(admin/admin) 如果没有改过是(admin/password)

3.6添加kafka cluster配置

当我们第一次打开这个界面的时候 是空白的 要配置 添加集群

配置:zookeeper 地址,后面的namespace 不用加

因为开启了kerberos 所以选择认证模式。save保存 然后去查看

3.7 问题

配置保存失败:kafka manager添加集群出现错误KeeperErrorCode

KeeperErrorCode = Unimplemented for /kafka-manager/mutex Try again.

解决办法

登录到zookeeper客户端,手动创建/ kafka-manager/ mutex / locks和/ kafka-manager / mutex / leases节点

[root@hdp103 ~]# zookeeper-client \
create /kafka-manager/mutex/locks ""
create /kafka-manager/mutex ""
create /kafka-manager/mutex/leases ""

3.8Topic和Broker信息查看

Summary 页面 可以看到 ,zk连接信息、kafka 版本信息、Topic和Brokers个数。

查看topic状态,面上可以查看到Broker信息 topic状态

点击 List 可以查看 Topics 清单

查看 topic kangtest 的详细信息

3.9Topic创建

其他参数配置,默认

topic list 查看 topic kangll-manager-test 创建成功

命令行查看 topic

接下来我们根据一张图理解上面的设置:


在上图一个Kafka集群中,有两个服务器,每个服务器上都有2个分区。P0,P3可能属于同一个主题,也可能是两个不同的主题。

如果设置的Partitons和Replication Factor都是2,这种情况下该主题的分布就和上图中Kafka集群显示的相同,此时P0,P3是同一个主题的两个分区。P1,P2也是同一个主题的两个分区,Server1和Server2其中一个会作为Leader进行读写操作,另一个通过复制进行同步。

如果设置的Partitons和Replication Factor都是1,这时只会根据算法在某个Server上创建一个分区,可以是P0~4中的某一个(分区都是新建的,不是先存在4个然后从中取1个)。

相关内容

热门资讯

今天,白玉兰奖入围名单全部公布... 转自:宁波晚报6月1日,第30届上海电视节白玉兰奖入围名单(海外电视剧单元)公布,奖项将于6月27日...
非遗“童”行,看汕头萌娃的别样... 转自:汕头发布5月30日,“童心向未来·巧手传非遗——汕头市庆祝‘六一’国际儿童节活动”顺利举办,活...
着力培育强国建设民族复兴伟业的... 着力培育强国建设民族复兴伟业的未来生力军《求是》杂志评论员  今年“六一”国际儿童节到来前夕,中国少...
“暗盘”围猎老股民,静安民警“... 转自:上观新闻在遭遇连环诈骗套路、投入32万元后仍准备追加58万元投资的七旬老人吕老伯,日前在静安警...
看古画里的孩子这样玩 收获“童... 转自:千龙网 儿童节到了!你会不会好奇千百年前的孩子们是...
新华视点|龙舟“划”出新赛道 ... 转自:中工网 古时,闽人的生活“赖于水、行于舟”。发达的...
让千年诗词“活”起来 川大学子... 中新网成都6月1日电 (记者 何浠)“当我们在浩如烟海的古籍中发现那些尘封已久、描绘蜀锦的诗词时,就...
【前端八股文】vue系列:vu... 文章目录vue的优点和特点双向数据绑定虚拟DOM组件化生命周期十个阶段相关功能题外话:...
常州全国首发“车网互动”方案,... 为促进长三角产业协作与科创协同,澎湃新闻旗下智库澎湃研究所推出“浪尖计划”。作为“浪尖计划”的子项目...
当出版遇上动漫:浙版集团跨界举... 由浙江出版联合集团主办的第二十一届中国国际动漫节武林921数字文化产业园分会场活动于5月31日至6月...
python包导入的方式 python包导入的方式 执行文件和目标导入模块在同一目录 直接import 比如我要在ma_mai...
@极光爱好者:2日左右,我国北... 转自:央视新闻据中国气象局国家空间天气监测预警中心信息发布平台消息,北京时间5月31日07时45分左...
俄方称两起桥梁坍塌均系爆炸引起 【#俄方称两起桥梁坍塌均系爆炸引起#】#俄方已展开刑事调查# 当地时间6月1日,俄罗斯联邦侦查委员会...
《求是》刊发北京市委教育工委署... 转自:长安街知事6月1日,《求是》2025年第11期刊发中共北京市委教育工作委员会署名文章《锻造好落...
手臂肌腱被咬断!致死率近100... 夏季天气炎热动物易烦躁不安攻击性增强加之人们衣着单薄不少人相继“中招”被猫犬咬、抓伤突然冲出,7岁女...
因地制宜发展庭院经济丨让方寸地... 转自:中工网吉林省长岭县集体乡高家窝堡村辣椒小院  “火红”生活人民日报记者  刘以晴“雨来了,小院...
官方回应6月1日不许下雨童趣通... 【#官方回应6月1日不许下雨童趣通知#】5月31日,深圳市气象局官方微博发布一则视频。视频中,主播以...
车企巨头,紧急召回! 转自:天津日报当地时间5月31日,央视记者获悉,福特汽车公司正在美国召回29501辆汽车。美国国家公...
俄桥梁坍塌事故已致7死47伤 【#俄桥梁坍塌事故已致7死47伤#】#俄仍在进行受损轨道修复# 俄罗斯紧急情况部当地时间6月1日通报...
vae(许嵩) 歌曲背后的故事 vae(许嵩) 歌曲背后的故事其实我也很喜欢VV 他自己写的有些是真实的如《多余的解释》; ...