前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0543-5.15.0-Kerberos环境下Kafka管理工具Kafka Eagle安装使用

0543-5.15.0-Kerberos环境下Kafka管理工具Kafka Eagle安装使用

作者头像
Fayson
发布2019-03-07 11:00:18
1.5K1
发布2019-03-07 11:00:18
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

文档编写目的

Fayson在前面的文章介绍了《如何在CDH集群安装Kafka Manager》和《0542-6.1.0-非安全环境下Kafka管理工具Kafka Eagle安装使用》。Kafka-eagle支持Kerberos环境下的Kafka集群管理,本篇文章Fayson主要介绍在Kerberos环境下Kafka管理工具Kafka Eagle安装使用。

  • 内容概述

1.Kafka-eagle配置

2.Kafka-eagle使用

3.总结

  • 测试环境

1.CM和CDH版本为5.15.0

2.Kafka版本为0.10.2+kafka2.2.0

3.Kafka-eagle版本为1.2.9

2

Kafka-eagle配置

在前面的文章《6.1.0-非Kerberos环境下Kafka管理工具Kafka Eagle安装使用》已经介绍了Kafka-eagle的安装及配置,这里就不再重复的讲了。既然要集成Kerberos环境下的Kafka,当然少不了Principal账号和keytab文件。

1.准备一个kafka的Principal账号及keytab文件

使用AD的话window下导出keytab命令:

代码语言:javascript
复制
ktpass -princ kafka/admin@FAYSON.COM  -mapuser kafka/admin -pass 123!QAZ -out kafkaadmin.keytab -crypto RC4-HMAC-NT

使用KDC的话Linux下导出keytab命令:

代码语言:javascript
复制
kadmin.local -q "xst -norandkey -k kafkaadmin.keytab kafka/admin@FAYSON.COM"

2.进入{KE_HOME}/conf目录,在system-config.properties配置文件中找到“kafka sasl authenticate”片段将配置修改为如下内容

代码语言:javascript
复制
kafka.eagle.sasl.enable=true
kafka.eagle.sasl.protocol=SASL_PLAINTEXT
kafka.eagle.sasl.mechanism=GSSAPI

3.修改${KE_HOME}/conf/kafka_client_jaas.conf文件,内容如下:

代码语言:javascript
复制
KafkaClient {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  storeKey=true
  serviceName=kafka
  keyTab="/opt/cloudera/kafka-eagle/keytab/kafkaadmin.keytab"
  principal="kafka/admin@FAYSON.COM";
};

Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  storeKey=true
  keyTab="/opt/cloudera/kafka-eagle/keytab/kafkaadmin.keytab"
  principal="kafka/admin@FAYSON.COM";
};

注意:kafka_client_jaas.conf文件中配置的serviceName=kafka参数,在Kerberos环境下访问Kafka时需要获取serviceName,之前Fayson是在代码里面指定“sasl.kerberos.service.name”与jaas.conf文件中指定效果一致。如下是KafkaClient加载Kerberos配置时获取serviceName代码片段

3

Kafka-eagle使用

1.kafka-eagle监控主页

2.Topic列表界面

3.模拟向指定Topic发送消息界面

4.Consumers监控界面

5.Kafka指标监控界面

4

总结

1.在集成Kerberos环境下的Kafka时需要注意jaas.conf文件中需要增加serviceName属性,否则Kafka-eagle在访问Kakfa时会报“No serviceName defined in either JAAS or Kafka config”错误。

2.Kafka-eagle1.2.9版本使用的Kafka客户端为2.0.0,目前集成Kafka0.10.2版本未发现有什么异常。

更多功能可参考官方文档:https://ke.smartloli.org/

在安装测试过程总使用的Kafka自带的性能测试脚本生成和消费消息

代码语言:javascript
复制
[root@cdh05 lib]# more /data/disk1/client.properties 
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
client.id=testgroup
bootstrap.servers=cdh2.fayson.com:9092,cdh3.fayson.com:9092,cdh4.fayson.com:9092
max.request.size=4192256

生产消息脚本

代码语言:javascript
复制
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/cloudera/kafka-eagle/conf/kafka_client_jaas.conf "
sh /opt/cloudera/parcels/KAFKA/lib/kafka/bin/kafka-producer-perf-test.sh \
--topic topic_eagle_1 \
--num-records 1000 \
--producer.config /data/disk1/client.properties \
--throughput 10 \
--record-size 1024

消费消息脚本

代码语言:javascript
复制
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/cloudera/kafka-eagle/conf/kafka_client_jaas.conf "
/opt/cloudera/parcels/KAFKA/lib/kafka/bin/kafka-consumer-perf-test.sh \
--topic topic_eagle_1 \
--messages 10000 \
--fetch-size 10 \
--broker-list cdh2.fayson.com:9092,cdh3.fayson.com:9092,cdh4.fayson.com:9092 \
--consumer.config /data/disk1/client.properties

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档