centos7 kafka安全认证(配置账号密码生产消费)+systemctl开机启动

2 篇文章 0 订阅

kafka安装类似tomcat,也就是只要安装好了jdk,解压即用。
这里不介绍jdk安装,不会请自行搜索。

系统:centos7.4
Spring 版本:4.2.5.RELEASE
kafka版本:kafka_2.12-2.2.0.tgz (asc, sha512)
zookeeper:kafka自带zookeeper
(由于Spring版本问题,无法使用kafka最新版,2.3需要spring 5,经测试2.2.0可以正常使用)
下载地址下载链接
关联教程:
centos7 Spring mvc配置kafka教程+两种kafka配置方式+spring xml配置+java代码配置+kafka sasl安全认证(配置账号密码生产消费)

一 kafka安装

1.解压到/usr/kafka,目录可自定义。

目录结构:
目录结构

2.设置 systemctl 启动,
cd  /lib/systemd/system/

新建zookeeper.service ,jdk目录和kafka目录换成自己的

vim  zookeeper.service 
[Unit]
Description=Zookeeper service
After=network.target

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/bin"
User=root
Group=root
ExecStart=/usr/kafka/bin/zookeeper-server-start.sh /usr/kafka/config/zookeeper.properties
ExecStop=/usr/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

新建kafka.service ,jdk目录和kafka目录换成自己的

vim kafka.service 
[Unit]
Description=Apache Kafka server (broker)
After=network.target  zookeeper.service

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/bin"
User=root
Group=root
ExecStart=/usr/kafka/bin/kafka-server-start.sh /usr/kafka/config/server.properties
ExecStop=/usr/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

刷新配置

systemctl daemon-reload
3.zookeeper、kafka服务加入开机自启。
systemctl enable zookeeper
systemctl enable kafka

#启动
 systemctl start zookeeper
 systemctl start kafka

二.kafka配置SASL_PLAINTEXT账号密码认证

1.在config目录下新建以下3个文件:
kafka_server_jaas.conf
kafka_client_jaas.conf
kafka_zoo_jaas.conf

kafka_server_jaas.conf内容如下:

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin"
    user_admin="admin"
    user_alice="alice";
};
KafkaClient {
	org.apache.kafka.common.security.plain.PlainLoginModule required
		username="admin"
		password="admin";
};

Client {
	org.apache.kafka.common.security.plain.PlainLoginModule required
		username="admin"
		password="admin";
};

kafka_client_jaas.conf内容如下:

KafkaClient {  
org.apache.kafka.common.security.plain.PlainLoginModule required  
    username="admin"  
    password="admin";  
};

kafka_zoo_jaas.conf内容如下:

ZKServer{
	org.apache.kafka.common.security.plain.PlainLoginModule required
		username="admin"
		password="admin"
		user_admin="admin";
};
2.修改kafka的bin文件夹中的zookeeper-server-start.sh

添加:

export KAFKA_OPTS=" -Djava.security.auth.login.config=/usr/kafka/config/kafka_zoo_jaas.conf -Dzookeeper.sasl.serverconfig=ZKServer"

在这里插入图片描述
请勿加在最后一行!

3.修改kafka的bin文件夹中的kafka-server-start.sh

添加:

export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/kafka/config/kafka_server_jaas.conf"

在这里插入图片描述
不要加在最后一行。

4.修改kafka的bin文件夹中的kafka-console-producer.sh

添加:

export KAFKA_OPTS=" -Djava.security.auth.login.config=/usr/kafka/config/kafka_client_jaas.conf"

5.修改kafka的bin文件夹中的kafka-console-consumer.sh

添加:

export KAFKA_OPTS=" -Djava.security.auth.login.config=/usr/kafka/config/kafka_client_jaas.conf"
6.config目录下修改server.properties,如下:
#开启登录验证
#绑定外网ip可在外网用ip访问
advertised.listeners=SASL_PLAINTEXT://ip:9092
#绑定内网ip
listeners=SASL_PLAINTEXT://ip:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
super.users=User:admin
7.config目录下在consumer.properties和 producer.properties 添加如下:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

7.config目录下在zookeeper.properties 添加如下:
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
6.先启动zookeeper,在启动kafka,避免无法查看问题,这里直接启动,没有问题后可使用systemctl启动

zookeeper启动正常:
在这里插入图片描述
kafka启动正常,说明账号密码认证通过:
在这里插入图片描述

安装完成,接下来就是关于spring 接入kafka了,请看

centos7 Spring mvc配置kafka教程+两种kafka配置方式+spring xml配置+java代码配置+kafka sasl安全认证(配置账号密码生产消费)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值