说明
本文是在CentOS系统使用,其他操作系统可能会有一些不适用。
一. 环境依赖
1.1Java环境依赖
下载
进去下载页面下载https://www.oracle.com/java/technologies/javase-downloads.html
名字类似:jdk-8u421-linux-x64.tar.gz
,名字里有 linux-x64.tar.gz
,上传到服务器,解压即可
如果没有账号,那就自行从国内镜像站下载 Oracle JDK
配置环境变量
|
|
生效环境变量
|
|
验证
|
|
显示是你安装配置的JDK路径就代表正确配置了。
1.2 zookeeper环境依赖
需要有zookeeper环境,可以参考《CentOS7安装部署最新Zookeeper3.8.0集群》文章说明。
需要补充的是里面的节点IP根据实际修改。
二.部署图
三. zk 配置认证
最开始搭建的zookeeper是没有认证的功能,那么我们需要增加配置
- 每个节点新增加认证文件
conf/zookeeper_jaas.conf
|
|
其中user_
后面代表的是用户名,比如 zkkafka
就是用户名,密码是zkkafka@202401
- 每个节点
conf/zoo.cfg
增加认证配置项
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
- 增加环境变量,重启 zk
下面启动脚本:
|
|
四. 部署kafka 服务端
4.1 说明
默认没配置,走的是 PLAN 方式,下面将以 sha512 认证方式进行配置说明
4.2 创建Kafka认证文件
$ cat config/kafka_broker_jaas.conf
KafkaServer {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="kafka"
password="kafka@202401";
};
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username="zkkafka"
password="zkkafka@202401";
};
KafkaClient {
org.apache.kafka.common.security.scram.ScramLoginModule required
username="zkkafka"
password="zkkafka@202401";
};
KafkaServer
配置节对应的是Kafka服务器本身的超级账户kafka
和其密码,使用的是ScramLoginModule
模式Client
配置节对应的是用来登陆Zookeeper使用的,也就是上面我们配置到zookeeper_jaas.conf
- KafkaClient配置节对应在使用自带的kafka 脚本时读取
4.3kafka 配置文件config/server.properties
变动
sasl.enabled.mechanisms=PLAIN,SCRAM-SHA-512
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
security.inter.broker.protocol=SASL_PLAINTEXT
zookeeper.set.acl=true
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=User:kafka;User:zkkafka
4.4 添加相关账号到 zk
$ bin/kafka-configs.sh --zookeeper gzkafka01:5001 --alter --add-config 'SCRAM-SHA-512=[password=kafka@202401]' --entity-type users --entity-name kafka
$ bin/kafka-configs.sh --zookeeper gzkafka01:5001 --alter --add-config 'SCRAM-SHA-512=[password=zkkafka@202401]' --entity-type users --entity-name zkkafka
这步骤是添加账号密码,不可缺少.
4.5 启动加载认证文件
$ export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/testerzhang/kafkaserver/kafka_2.12/config/kafka_broker_jaas.conf"
$ nohup ./kafka-server-start.sh ../config/server.properties &
4.6自带其他脚本连接
bin/kafka-run-class.sh
在配置文件最开始的地方增加配置项
export KAFKA_OPTS=" -Djava.security.auth.login.config=/home/kafka/kafkaserver/kafka_2.12-3.6.1-19092/config/kafka_client_jaas.conf
"
- 新增配置文件
config/config.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
- 执行命令
$ bin/kafka-topics.sh --bootstrap-server gzkafka01:59091 --describe --command-config config/config.properties
通过Nginx配置映射
这里就不展开了。
欢迎关注我的公众号testerzhang,原创技术文章第一时间推送。