以下是一个基本的Centos下一键安装Kafka的Shell脚本,其中包含ZooKeeper地址和端口等参数配置。
#!/bin/bash
# 安装Kafka集群
# 设置ZooKeeper地址和端口
ZK_HOSTS="zk01:2181,zk02:2181,zk03:2181"
ZK_CHROOT="/kafka"
BROKER_ID=$(hostname | awk -F'-' '{print $NF}')
BROKER_PORT=9092
# 设置Kafka版本和安装路径
KAFKA_VERSION="2.7.0"
KAFKA_HOME="/opt/kafka_$KAFKA_VERSION"
# 安装Java
yum install -y java-1.8.0-openjdk
# 下载和解压Kafka
wget "https://downloads.apache.org/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz" -P /tmp
tar -xvf "/tmp/kafka_2.13-$KAFKA_VERSION.tgz" -C /opt/
# 配置Kafka
cd $KAFKA_HOME/config
cp server.properties server.properties.bak
sed -i "s/broker.id=0/broker.id=$BROKER_ID/g" server.properties
sed -i "s/#listeners=PLAINTEXT:\/\/:9092/listeners=PLAINTEXT:\/\/:9092/g" server.properties
sed -i "s/log.dirs=\/tmp\/kafka-logs/log.dirs=$KAFKA_HOME\/logs/g" server.properties
sed -i "s/#zookeeper.connect=localhost:2181/zookeeper.connect=$ZK_HOSTS\/$ZK_CHROOT/g" server.properties
# 启动Kafka
nohup $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties >/dev/null 2>&1 &
echo "Kafka is installed and started."
需要在脚本中设置以下变量:
ZK_HOSTS:ZooKeeper服务器地址和端口,多个地址使用逗号分隔。
ZK_CHROOT:ZooKeeper中Kafka集群的根目录。
BROKER_ID:Kafka Broker的ID,可以使用当前主机名的最后一个字段。
BROKER_PORT:Kafka Broker的端口,默认为9092。
KAFKA_VERSION:Kafka的版本号。
KAFKA_HOME:Kafka的安装路径。
在脚本中,首先安装Java,然后从Apache官网下载Kafka,并将其解压到$KAFKA_HOME目录下。然后,脚本将配置Kafka的参数,例如Broker ID、监听地址和端口、数据存储目录和ZooKeeper连接地址和端口等。最后,脚本启动Kafka服务。
注意:如果需要开启Kafka的SSL支持,需要在配置文件中添加SSL相关的配置项,如ssl.keystore.location、ssl.keystore.password、ssl.key.password等。此外,还需要生成证书和私钥,并将它们放到指定目录下。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved