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";
相关推荐
SEO_juper20 分钟前
Semrush 蓝海关键词筛选,AI 一键拓展完整词库
大数据·谷歌·seo·geo·gemini·询盘·b2b
志栋智能1 小时前
超自动化巡检剧本(Playbook):运维经验的数字化封装
运维·自动化
风味蘑菇干1 小时前
WTomcat服务器
java·服务器
ElevenS_it1881 小时前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
weixin_307779131 小时前
Python写入Shell文件使用Linux系统的换行符
linux·开发语言·python·自动化
liulilittle2 小时前
Linux Swap 文件配置与持久化(虚拟内存)
linux·运维·服务器
linux修理工2 小时前
使用codebuddy学习kafka
分布式·学习·kafka
未若君雅裁2 小时前
日志采集与ELK:从本地日志到集中检索分析
运维·elk·jenkins
青梅橘子皮2 小时前
Linux---进程控制(2)(进程程序替换)
linux·c++·算法
阿 才2 小时前
跟文件系统(busybox)的构建
大数据·hadoop·分布式