Linux软件安装 —— kafka集群安装(SASL密码验证)

文章目录


一、节点说明

IP 主机名 软件
192.168.10.102 node02 jdk,zookeeper,kafka
192.168.10.103 node03 jdk,zookeeper,kafka
192.168.10.104 node04 jdk,zookeeper,kafka

二、JDK安装

参考本人此篇文章:Linux软件安装 ------ JDK安装


三、Zookeeper安装

参考本人此篇文章:Linux软件安装 ------ zookeeper集群安装


四、kafka安装

1、软件下载

下载地址:https://kafka.apache.org/community/downloads/

本文采用:kafka_2.12-2.7.2.tgz

2、基础环境准备

(1)上传并解压

shell 复制代码
# 解压到安装目录
tar -zxvf kafka_2.12-2.7.2.tgz -C /opt/module/

# 修改名称
mv kafka_2.12-2.7.2/ kafka

(2)配置环境变量

shell 复制代码
vim /etc/profile.d/my_env.sh
# kafka
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

# 分发到node03,node04
scp /etc/profile.d/my_env.sh root@node03:/etc/profile.d
scp /etc/profile.d/my_env.sh root@node04:/etc/profile.d

# 分别使环境变量生效
source /etc/profile.d/my_env.sh

3、修改配置

(1)修改server配置

bash 复制代码
vim /opt/module/kafka/config/server.properties

# 修改如下配置
broker.id=2

listeners=SASL_PLAINTEXT://0.0.0.0:9092
advertised.listeners=SASL_PLAINTEXT://node02:9092

###### SASL ######
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
allow.everyone.if.no.acl.found=false

log.dirs=/opt/module/kafka/logs

zookeeper.connect=node02:2181,node03:2181,node04:2181
zookeeper.set.acl=false
zookeeper.sasl.client=false
zookeeper.connection.timeout.ms=18000

(2)配置kafka服务端密码

shell 复制代码
# 创建
vim /opt/module/kafka/config/kafka-server-jaas.conf
KafkaServer {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="admin"
        password="admin_123456"
        user_admin="admin_123456";
};

# 应用
vim /opt/module/kafka/bin/kafka-server-start.sh
# 倒数第二行添加
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/module/kafka/config/kafka-server-jaas.conf"

(3)配置kafka客户端密码

shell 复制代码
# 创建
vim /opt/module/kafka/config/kafka-client-jaas.conf
KafkaClient {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="admin"
        password="admin_123456";
};

# 应用(生产者、消费者都需要)
vim /opt/module/kafka/bin/kafka-console-consumer.sh
# 倒数第二行添加
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/module/kafka/config/kafka-client-jaas.conf"

vim /opt/module/kafka/bin/kafka-console-producer.sh
# 倒数第二行添加
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/module/kafka/config/kafka-client-jaas.conf"

4、分发kafka

(1)将node02 kafka分发到node03,node04

shell 复制代码
scp -r /opt/module/kafka/ root@node03:/opt/module/
scp -r /opt/module/kafka/ root@node04:/opt/module/

(2)修改node03配置

shell 复制代码
vim /opt/module/kafka/config/server.properties

# 修改以下内容
broker.id=3
listeners=SASL_PLAINTEXT://0.0.0.0:9092
advertised.listeners=SASL_PLAINTEXT://node03:9092

(3)修改node04配置

shell 复制代码
vim /opt/module/kafka/config/server.properties

# 修改以下内容
broker.id=4
listeners=SASL_PLAINTEXT://0.0.0.0:9092
advertised.listeners=SASL_PLAINTEXT://node04:9092

5、启动kafka

(1)启动Zookeeper

shell 复制代码
# 启动命令:在三个节点分别执行
zkServer.sh start

# 查看集群状态
zkServer.sh status

# 停止命令:在三个节点分别执行
zkServer.sh stop

(2)启动kafka

shell 复制代码
# 启动命令:在三个节点分别执行
kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties

# 停止命令
kafka-server-stop.sh

6、远程连接

本文采用kafka tool连接


shell 复制代码
# 连接信息
org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin_123456";
相关推荐
桑榆4168 小时前
双系统(Windows + Ubuntu)安装流程
linux·windows·ubuntu
guwentian12 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
jerryinwuhan12 小时前
《系统部署与运维》开篇 课程介绍
运维
ltl14 小时前
实时 OS 巡礼:VxWorks、QNX、Zephyr 与 PREEMPT_RT
linux
我是谁??14 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
圣殿骑士-Khtangc15 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
Shell运维手记15 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
2503_9317124815 小时前
OpenInsight领衔:企业AI数据分析平台(Data Agent/智能问数/智能数据报告)
大数据
朴马丁15 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
这个DBA有点耶16 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构