kafka_2.13-3.9 集群部署,非zookeeper,并添加SASL/PLAIN认证

1.环境准备

        ubuntu24.04 (不一定非得是24的)

        java : sudo apt-get install openjdk-11-jdk

        下载文件:kafka_2.13-3.9.0.tgz

        模拟集群环境:192.168.1.1  192.168.1.2  192.168.1.3

2.安装

        将下载好的文件分别上传到三台服务器上,然后每台执行如下代码

tar -xzf kafka_2.13-3.9.0.tgz
sudo mv kafka_2.13-3.9.0 /usr/local/
cd /usr/local/kafka_2.13-3.9.0/

        选择其中任意一台,生成集群id,执行如下代码并记住生成的id

sh bin/kafka-storage.sh random-uuid

        使用生成的id,在每台服务器上进行初始化

sh bin/kafka-storage.sh format -t <集群id> -c ./config/kraft/server.properties
3.配置SASL/PLAIN

        创建kafka_server_jaas.conf,在所有节点上操作

vim config/kraft/kafka_server_jaas.conf
// 写入如下内容
KafkaServer {
   org.apache.kafka.common.security.plain.PlainLoginModule required
   username="admin"
   password="admin-password"
   user_admin="admin-password"
   user_user="user-password";
};

        编辑server.properties配置,如下配置有则修改,没有则新增。在所有节点上操作

vim config/kraft/server.properties

node.id=1  # 每个节点的id不同 1 ,2 ,3

[email protected]:9092,[email protected]:9092,[email protected]:9092

listeners=SASL_PLAINTEXT://:9092,CONTROLLER://:9093

advertised.listeners=SASL_PLAINTEXT://192.168.1.1:9092,CONTROLLER://192.168.1.1:9093

inter.broker.listener.name=SASL_PLAINTEXT

controller.listener.names=CONTROLLER
        listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT,SSL:SSL,SASL_SSL:SASL_SSL

sasl.enabled.mechanisms=PLAIN

sasl.mechanism.inter.broker.protocol=PLAIN
4.前台启动集群

        在所有节点上操作

export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.13-3.9.0/config/kraft/kafka_server_jaas.conf"
./bin/kafka-server-start.sh ./config/kraft/server.properties
5.添加到系统服务启动

        在所有节点上操作

sudo vim /etc/systemd/system/kafka.service

# 写入内容

[Unit]
Description=Apache Kafka Service
After=network.target zookeeper.service

[Service]
User=<替换成你自己的服务器user>
Group=<替换成你自己的服务器user>       
ExecStart=/usr/local/kafka_2.13-3.9.0/bin/kafka-server-start.sh /usr/local/kafka_2.13-3.9.0/config/kraft/server.properties
ExecStop=/usr/local/kafka_2.13-3.9.0/bin/kafka-server-stop.sh
Environment="KAFKA_OPTS=-Djava.security.auth.login.config=/usr/local/kafka_2.13-3.9.0/config/kraft/kafka_server_jaas.conf"
Restart=on-failure
RestartSec=10
LimitNOFILE=1000000

[Install]
WantedBy=multi-user.target

        

    sudo systemctl daemon-reload # 重载
    sudo systemctl start kafka # 启动
    sudo systemctl enable kafka # 自动启动
    sudo systemctl status kafka # 查看状态

你可能感兴趣的:(kafka,分布式)