文章目录
一、节点说明
| 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";
