首页 > 系统相关 >centos7直接部署添加认证的kafka

centos7直接部署添加认证的kafka

时间:2023-10-26 09:55:07浏览次数:46  
标签:bin admin zookeeper 认证 centos7 kafka server data

前言

测试服务器:10.255.60.149

一. 安装jdk

官网下载jdk1.8版本以上的

https://www.oracle.com/java/technologies/downloads/

image-20230710160609690

测试系统版本为centos7,选择了最后一个下载后,使用rpm -ivh即可安装

二. 安装zookeeper和kafka

软件版本:kafka_2.12-2.4.0(带zookeeper)

下载链接:http://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-2.4.0.tgz

将安装包上传到服务器并解压到/data目录

tar zxvf kafka_2.12-2.4.0.tgz -C /data
mv kafka_2.12-2.4.0 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";
};
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文件夹中的sh文件
1) 修改zookeeper-server-start.sh
添加下面一行,不要放在最后
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/kafka/config/kafka_zoo_jaas.conf -Dzookeeper.sasl.serverconfig=ZKServer"

2) 修改kafka-server-start.sh
添加下面一行,不要放在最后
export KAFKA_OPTS="-Djava.security.auth.login.config=/data/kafka/config/kafka_server_jaas.conf"

3) 修改kafka-console-producer.sh
添加
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/kafka/config/kafka_client_jaas.conf"

4) 修改kafka-console-consumer.sh
添加
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/kafka/config/kafka_client_jaas.conf"

3.修改config目录下文件
1)修改server.properties, 在server basics配置块中修改后的内容如下
broker.id=0
host.name=10.255.60.149
#绑定内网IP
listeners=SASL_PLAINTEXT://10.255.60.149:9092
#绑定外网IP
advertised.listeners=SASL_PLAINTEXT://10.255.60.149:9092

security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
# 配置ACL入口类
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
# 设置admin超级用户
super.users=User:admin
#设置为true,ACL机制为黑名单机制,只有黑名单中的用户无法访问
#默认为false,ACL机制为白名单机制,只有白名单中的用户可以访问
allow.everyone.if.no.acl.found=false


2) consumer.properties和 producer.properties 添加如下
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

3)zookeeper.properties 添加如下:
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000

四. 启动服务并验证

1.启动zookeeper
/data/kafka/bin/zookeeper-server-start.sh -daemon /data/kafka/config/zookeeper.properties  
2.启动kafka
/data/kafka/bin/kafka-server-start.sh -daemon /data/kafka/config/server.properties 
3.客户端来连接
#开启生产者
/data/kafka/bin/kafka-console-producer.sh --broker-list 10.255.60.149:9092 --topic test --producer-property security.protocol=SASL_PLAINTEXT --producer-property sasl.mechanism=PLAIN

#开启消费者
/data/kafka/bin/kafka-console-consumer.sh --bootstrap-server 10.255.60.149:9092 --topic test --from-beginning --consumer-property security.protocol=SASL_PLAINTEXT --consumer-property sasl.mechanism=PLAIN

4.生产消息并在消费者中查看

生产消息

image-20230710170416458

消费者查看

image-20230710170430781

五. 设置systemctl启动服务

1.创建zookeeper.service
cd  /lib/systemd/system/
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=/data/kafka/bin/zookeeper-server-start.sh /data/kafka/config/zookeeper.properties
ExecStop=/data/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

2.创建kafka.service
cd  /lib/systemd/system/
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=/data/kafka/bin/kafka-server-start.sh /data/kafka/config/server.properties
ExecStop=/data/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. 刷新配置并加入开机自启
systemctl daemon-reload

systemctl enable zookeeper
systemctl enable kafka

systemctl start zookeeper
systemctl start kafka

参考文档

https://blog.csdn.net/zy517863543/article/details/103864537

https://blog.csdn.net/d1240673769/article/details/124042854

 ./kafka-console-producer.sh --topic csdn01 --broker-list 10.255.60.149:9092 --producer.config /data/kafka/config/producer.properties

输出

image-20230713145405683

标签:bin,admin,zookeeper,认证,centos7,kafka,server,data
From: https://www.cnblogs.com/regit/p/17788723.html

相关文章

  • centos7 安装 SonarQube
    3.1安装postgresql数据库yuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmyuminstall-ypostgresql13-server/usr/pgsql-13/bin/postgresql-13-setupinitdbsystemctlenablepostgresql-13systemctls......
  • centos7安装node-v18版本真是难呢
    背景背景就是上一篇文章提到的,部署gitbook这个文档中心的话,是需要先安装node,然后,如果你的node版本过高的话,一般会报错,此时,网上很多文章就是降node版本解决,但其实用高版本也是有办法的,只是麻烦点,要改改代码;但是,我下载了高版本的node安装时,发现在centos7上还装不了,可谓一波未平一波......
  • centos7升级sshd脚本
    升级sshd脚本yuminstallgccgcc-c++zlib-develpam-developenssl-develmakevimwget-ymv/etc/ssh{,.bak}wgethttps://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gztarxzvfopenssh-9.2p1.tar.gzcdopenssh-9.2p1./configure--prefix=/us......
  • 聊城双软认证办理流程和需要的材料是什么
    聊城双软认证办理流程和需要的材料是什么恒标知产刘经理双软认定评估流程在双软评估之前需取得计算机软件著作权/其他知识产权和软件产品的测评报告。企业取得计算机软件著作权/其他知识产权和软件产品的测评报告之后,企业需先进行软件产品评估再进行软件企业评估。若企业需要登记软......
  • VirtualBox上安装CentOS7
    下载CentOS7ISO镜像文件:前往CentOS官方网站的镜像下载页面:Download在页面上找到适合你系统架构的CentOS7ISO镜像文件,并下载到本地。安装VirtualBox:前往VirtualBox官方网站的下载页面:Downloads–OracleVMVirtualBox根据你的操作系统,选择合适的......
  • RecureCRT连接VMware虚拟机Centos7及网络配置
    1.确认物理机ip地址2.打开VMware,点击网络适配器并且选择NET模式3.打开WMware,点击左上角编辑,虚拟网络编辑器,设置子网ip和子网掩码 4.设置好之后点击上图中的NET设置,查看网关IP5.打开并进入虚拟机,配置网络信息,输入如下命令:vim/etc/sysconfig/network-scripts/ifconfig-e**......
  • centos7.9设置永久明细路由
    centos7.9设置永久明细路由1.创建配置文件/etc/sysconfig/static-routesstatic-routes默认没有此文件,需要手动创建2.编辑配置文件static-routes,添加以下内容:anynet10.86.134.0/24gw202.96.104.1#上面意思为10.86.134.0/24的网络数据都从202.96.104.1访问。也就是202.96.104.1......
  • 芯启源与KeyarchOS完成浪潮信息澎湃技术认证
    日前,芯启源DPU智能网卡与KeyarchOS完成并通过了浪潮信息澎湃技术认证,经双方联合测试,二者完全兼容,功能、性能和兼容性方面表现良好,运行稳定高效,满足用户需求。 浪潮信息澎湃技术认证是基于多元、创新的通用计算平台,与供应链及软件服务等生态合作伙伴共同构建的产品互兼容性认证......
  • centos7安装Docker(2023/10/24)
    centos7安装Docker(2023/10/24)一、安装前必读系统配置方面,这里使用的是Centos7Linux内核:官方建议3.10以上。注意:本文的命令使用的是root用户登录执行,非root用户所有命令前面要加sudo1.查看当前的内核版本1uname-r如图为3.10,满足条件。 2.使用root权限更......
  • 【CentOS7】启动 CentOS7 系统时卡在开机界面 7 解决办法
    【CentOS7】启动CentOS7系统时卡在开机界面7解决办法本文参考:https://www.51c51.com/danpianji/xinxi/89/73120.html目录一、问题如题二、解决步骤1.进入grub界面2.修改BIOSLegacy或UEFIBIOS模式启动的3.挂载系统根&RW读写权限4.修改/etc/selinux/config配置......