赞
踩
感谢点赞和关注 ,每天进步一点点!加油!
目录
为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager(已改名为 cmak)。
这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。
它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:
可选地过滤掉在zookeeper中没有id /所有者/ &偏移量/目录的消费者。
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
cmak下载地址为:
https://github.com/yahoo/CMAK/releases/download/3.0.0.6/cmak-3.0.0.6.zip
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=true
-
- basicAuthentication.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 required
- useKeyTab=true
- keyTab="/etc/security/keytabs/kafka.service.keytab"
- principal="kafka/hdp103@WINNER.COM"
- serviceName="kafka"
- doNotPrompt=true;
- };
- KafkaClient{
- com.sun.security.auth.module.Krb5LoginModule required
- useKeyTab=true
- keyTab="/etc/security/keytabs/kafka.service.keytab"
- principal="kafka/hdp103@WINNER.COM"
- serviceName="kafka"
- doNotPrompt=true;
- };
如果开启JMX轮训 ,必须要在kafka启动脚本中打开JMX端口(kafka节点都打开)
- vim /usr/hdp/3.1.4.0-315/kafka/bin/kafka-server-start.sh
-
- export JMX_PORT=9999
然后去重启kafka, 检测kafka-manager端口
创建启动脚本 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.conf
-
-
- nohup $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
之前配置了账号密码(admin/admin) 如果没有改过是(admin/password)
当我们第一次打开这个界面的时候 是空白的 要配置 添加集群
配置:zookeeper 地址,后面的namespace 不用加
因为开启了kerberos 所以选择认证模式。save保存 然后去查看
配置保存失败: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 ""
Summary 页面 可以看到 ,zk连接信息、kafka 版本信息、Topic和Brokers个数。
查看topic状态,面上可以查看到Broker信息 topic状态
点击 List 可以查看 Topics 清单
查看 topic kangtest 的详细信息
其他参数配置,默认
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个)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。