目录
- 一、概述
- 二、EFAK kafka鉴权配置(zookeeper无鉴权)
- 1)kafka Kerberos 鉴权 配置
- 1、启动zookeeper服务
- 2、启动kafka服务
- 3、配置EFAK
- 4、把配置copy到几个节点
- 5、启动EFAK服务
- 6、测试验证
- 2)kafka 账号密码鉴权 配置
- 1、启动zookeeper服务
- 2、启动kafka服务
- 3、配置EFAK
- 4、把配置copy到几个节点
- 5、启动EFAK服务
- 6、测试验证
- 三、EFAK kafka kerberos配置(zookeeper账号密码鉴权)
- 1)开启zookeeper 账号密码认证
- 2)开启kafka kerberos认证
- 3)配置EFAK
- 4、把配置copy到几个节点
- 5、启动EFAK服务
- 6、测试验证
- 四、EFAK kafka 账号密码配置(zookeeper账号密码鉴权)
- 1)开启zookeeper 账号密码认证
- 2)开启kafka 账号密码认证
- 3)配置EFAK
- 4、把配置copy到几个节点
- 5、启动EFAK服务
- 6、测试验证
- 五、EFAK SSL配置(zookeeper无鉴权)
- 1)启动zookeeper服务
- 2)启动kafka服务
- 3)配置EFAK
- 4)把配置copy到几个节点
- 5)启动EFAK服务
- 6)测试验证
一、概述
前面已经很详细的讲了
kafka
和zookeeper
的安全机制和实现,如果它两配置了安全机制认证,EFAK作为监控kafka和zookeeper的图像化软件,必然也离不开对kafka和zookeeper安全认证的配置。
关于EFAK的介绍和安装部署可以参考我这篇文章:大数据Hadoop之——Kafka 图形化工具 EFAK(EFAK环境部署)
官方文档:https://www.kafka-eagle.org/articles/docs/installation/security.html
二、EFAK kafka鉴权配置(zookeeper无鉴权)
最好先看完我这两篇文章再来配置哦:
分布式开源协调服务——Zookeeper大数据Hadoop之——Kafka鉴权认证(Kafka kerberos认证+kafka账号密码认证+CDH Kerberos认证)
1)kafka Kerberos 鉴权 配置
1、启动zookeeper服务
$ cd $KAFKA_HOME
$ ./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
$ ./bin/zookeeper-shell.sh hadoop-node1:12181
2、启动kafka服务
$ cd $KAFKA_HOME
$ ./bin/kafka-server-start-sasl.sh -daemon config/server-sasl.properties
3、配置EFAK
$ cd $KE_HOME
$ vi conf/system-config.properties
配置如下:
######################################
# kafka sasl authenticate
######################################
cluster1.efak.sasl.enable=true
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=GSSAPI
# serviceName与kakfka 配置文件里的这个字段sasl.kerberos.service.name值一样
cluster1.efak.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/opt/bigdata/hadoop/server/kafka_2.13-3.1.1/config/kerberos/kafka-client.keytab" storeKey=true useTicketCache=false serviceName=kafka-server principal="kafka-client@HADOOP.COM";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=
4、把配置copy到几个节点
$ scp $KE_HOME/conf/system-config.properties hadoop-node2:$KE_HOME/conf/
$ scp $KE_HOME/conf/system-config.properties hadoop-node3:$KE_HOME/conf/
5、启动EFAK服务
$ ke.sh cluster restart
6、测试验证
http://hadoop-ndoe1:8048
2)kafka 账号密码鉴权 配置
1、启动zookeeper服务
$ cd $KAFKA_HOME
$ ./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
$ ./bin/zookeeper-shell.sh hadoop-node1:12181
2、启动kafka服务
$ cd $KAFKA_HOME
$ ./bin/kafka-server-start-pwd.sh config/server-pwd.properties
3、配置EFAK
$ cd $KE_HOME
$ vi conf/system-config.properties
配置如下:
######################################
# kafka sasl authenticate
######################################
cluster1.efak.sasl.enable=true
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=PLAIN
cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="123456";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=
4、把配置copy到几个节点
$ scp $KE_HOME/conf/system-config.properties hadoop-node2:$KE_HOME/conf/
$ scp $KE_HOME/conf/system-config.properties hadoop-node3:$KE_HOME/conf/
5、启动EFAK服务
$ ke.sh cluster restart
6、测试验证
http://hadoop-ndoe1:8048
三、EFAK kafka kerberos配置(zookeeper账号密码鉴权)
最好先看完我这篇文章再来配置哦: 大数据Hadoop之——Zookeeper鉴权认证(Kerberos认证+账号密码认证)
1)开启zookeeper 账号密码认证
不清楚的小伙伴可以先看我上面的文章哦
【温馨提示】看EFAK配置里只有zookeeper的账号密码认证的配置,所以这里只能选择开启zookeeper的账号密码认证了。
$ cd $KAFKA_HOME
$ ./bin/zookeeper-server-start-userpwd.sh -daemon ./config/zookeeper-userpwd.properties
$ ./bin/zookeeper-shell-userpwd.sh hadoop-node1:12181
2)开启kafka kerberos认证
不清楚的小伙伴可以先看我上面的文章哦
$ cd $KAFKA_HOME
$ ./bin/kafka-server-kerberos-zkcli-userpwd-start.sh -daemon ./config/server-kerberos-zkcli-userpwd.properties
3)配置EFAK
$ cd $KE_HOME
$ vi conf/system-config.properties
配置如下:
######################################
# zookeeper enable acl
######################################
cluster1.zk.acl.enable=true
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=kafka
cluster1.zk.acl.password=123456
######################################
# kafka sasl authenticate
######################################
cluster1.efak.sasl.enable=true
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=GSSAPI
# serviceName与kakfka 配置文件里的这个字段sasl.kerberos.service.name值一样
cluster1.efak.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/opt/bigdata/hadoop/server/kafka_2.13-3.1.1/config/kerberos/kafka-client.keytab" storeKey=true useTicketCache=false serviceName=kafka-server principal="kafka-client@HADOOP.COM";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=
4、把配置copy到几个节点
$ scp $KE_HOME/conf/system-config.properties hadoop-node2:$KE_HOME/conf/
$ scp $KE_HOME/conf/system-config.properties hadoop-node3:$KE_HOME/conf/
5、启动EFAK服务
$ ke.sh cluster restart
6、测试验证
http://hadoop-ndoe1:8048
四、EFAK kafka 账号密码配置(zookeeper账号密码鉴权)
1)开启zookeeper 账号密码认证
不清楚的小伙伴可以先看我上面的文章哦
【温馨提示】看EFAK配置里只有zookeeper的账号密码认证的配置,所以这里只能选择开启zookeeper的账号密码认证了。
$ cd $KAFKA_HOME
$ ./bin/zookeeper-server-start-userpwd.sh -daemon ./config/zookeeper-userpwd.properties
2)开启kafka 账号密码认证
不清楚的小伙伴可以先看我上面的文章哦
$ cd $KAFKA_HOME
$ ./bin/kafka-server-start-zkcli-userpwd.sh -daemon ./config/server-zkcli-userpwd.properties
# 查看topic列表
$ ./bin/kafka-topics-pwd.sh --list --bootstrap-server hadoop-node1:19092 --command-config config/userpwd/client.properties
3)配置EFAK
$ cd $KE_HOME
$ vi conf/system-config.properties
配置如下:
######################################
# zookeeper enable acl
######################################
cluster1.zk.acl.enable=true
### scheme采用何种方式授权
# 1. world :默认方式,相当于全部都能访问;
# 2.auth :代表已经认证通过的用户( cli中可以通过addauth digest user:pwd来添加当前上下文中的授权用户);
# digest :即用户名:密码这种方式认证,这也是业务系统中最常用的。用username:password字符串来产生一个MD5串,然后该 串被用来作为ACL ID。认证是通过明文发送username password来进行的,当用在ACL时,表达式为username:base64;
# ip :使用客户端的主机IP作为ACL ID。这个ACL表达式的格式为addr/Nts ,此时add「中的有效位与客户端addr中的有效位进行比对,base64是password的SHA1摘要的编码。
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=kafka
cluster1.zk.acl.password=123456
######################################
# kafka sasl authenticate
######################################
cluster1.efak.sasl.enable=true
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=PLAIN
cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="123456";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=
4、把配置copy到几个节点
$ scp $KE_HOME/conf/system-config.properties hadoop-node2:$KE_HOME/conf/
$ scp $KE_HOME/conf/system-config.properties hadoop-node3:$KE_HOME/conf/
5、启动EFAK服务
$ ke.sh cluster restart
6、测试验证
http://hadoop-ndoe1:8048
五、EFAK SSL配置(zookeeper无鉴权)
1)启动zookeeper服务
$ cd $KAFKA_HOME
$ ./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
# 登录客户端
$ ./bin/zookeeper-shell.sh hadoop-node1:12181
2)启动kafka服务
$ cd $KAFKA_HOME
# 【温馨提示】在“Kafka安全机制(Kafka SSL认证实现)”,zookeeper都是带鉴权的,所以这里启动脚本就用kafka-server-start.sh
$ ./bin/kafka-server-start.sh -daemon ./config/server-ssl.properties
# 查看topic列表
$ ./bin/kafka-topics.sh --list --bootstrap-server hadoop-node1.ssltest.com:19092 --command-config ./config/client-ssl.properties
3)配置EFAK
$ cd $KE_HOME
$ vi conf/system-config.properties
配置如下:
######################################
# kafka ssl authenticate
######################################
cluster1.efak.ssl.enable=true
cluster1.efak.ssl.protocol=SSL
# kafka server.properties "ssl.truststore.location" value
cluster1.efak.ssl.truststore.location=/opt/bigdata/hadoop/server/kafka_2.13-3.1.1/config/certificates/kafka.truststore
# kafka server.properties "ssl.truststore.password" value
cluster1.efak.ssl.truststore.password=123456
# kafka server.properties "ssl.keystore.location" value
cluster1.efak.ssl.keystore.location=/opt/bigdata/hadoop/server/kafka_2.13-3.1.1/config/certificates/kafka.keystore
# kafka server.properties "ssl.keystore.password" value
cluster1.efak.ssl.keystore.password=123456
# kafka server.properties "ssl.endpoint.identification.algorithm" value
cluster1.efak.ssl.endpoint.identification.algorithm=https
# kafka server.properties "ssl.key.password" value
cluster1.efak.ssl.key.password=123456
4)把配置copy到几个节点
$ scp $KE_HOME/conf/system-config.properties hadoop-node2:$KE_HOME/conf/
$ scp $KE_HOME/conf/system-config.properties hadoop-node3:$KE_HOME/conf/
5)启动EFAK服务
$ ke.sh cluster restart
6)测试验证
http://hadoop-ndoe1:8048
EFAK里配置kafka和zookeeper的安全认证就到这了,有疑问的小伙伴欢迎给我留言哦,后续文章更丰富,请小伙伴耐心等待哦~