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";
相关推荐
牛马十年9 小时前
当自动化运维系统被ai重构后
运维·人工智能·自动化
Niliuershangba9 小时前
Docker Desktop 部署 ChestnutCMS 全流程:从零搭建企业级 CMS 开发环境
运维·docker·容器
Lalolander9 小时前
设备工程项目采购中缺料和浪费的痛点和解决思路
大数据·运维·设备工程项目管理系统·设备工程项目质量管控·设备工程项目成本管控
tedcloud12310 小时前
TradingAgents部署教程:打造AI量化分析工作流
服务器·前端·人工智能·系统架构·edge
dayuOK630710 小时前
AI内容创作工具的下一个战场:从“生成”到“全流程自动化”
运维·人工智能·chatgpt·职场和发展·自动化·新媒体运营·媒体
不爱编程的小陈10 小时前
探究raft的线性一致性读方法
分布式
Agent手记10 小时前
成本数据多系统自动采集与分析实操指南:基于2026大模型Agent的超自动化实践
运维·人工智能·microsoft·ai·自动化
拉卡拉开放平台10 小时前
支付系统在文旅场景的进阶之路:聚合收单、分账与自动化对账
大数据·人工智能·自动化
樱桃花下的小猫10 小时前
森林 — 开发者控制台指令与物品ID速查手册
服务器·森林·云鸢互联·零门槛一键搭建·新手友好无技术门槛要求·森林游戏服务器·森林低延迟稳定服务器