Kafka集群部署

环境信息

节点名称 IP地址 服务
node01 192.168.1.11 zookeeper、kafka
node02 192.168.1.12 zookeeper、kafka
node03 192.168.1.13 zookeeper、kafka

JDK

配置jdk

tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local

cat /etc/profile.d/java.sh << EOF
export JAVA_HOME=/usr/local/jdk1.8.0_212
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
EOF
bash
java -version

zookeeper

安装zk

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /data
mv /data/apache-zookeeper-3.7.1-bin/ /data/apache-zookeeper-3.7.1
cd /data/apache-zookeeper-3.7.1
cp conf/zoo_sample.cfg conf/zoo.cfg

编辑配置文件

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/apache-zookeeper-3.7.1/data
clientPort=2181
server.0=82.221.25.42:2888:3888
server.1=82.221.25.43:2888:3888
server.2=82.221.25.44:2888:3888

创建myid,每个节点id不一样,且要和配置文件中server.<id>保持一致

mkdir -p /data/apache-zookeeper-3.7.1/data
echo 2 > /data/apache-zookeeper-3.7.1/data/myid

注册systemd

cat > /etc/systemd/system/zookeeper.service << EOF
[Unit]
Description=ZooKeeper Service
After=network.target

[Service]
Type=forking
Environment="JAVA_HOME=${JAVA_HOME}"
ExecStart=/data/apache-zookeeper-3.7.1/bin/zkServer.sh start
ExecStop=/data/apache-zookeeper-3.7.1/bin/zkServer.sh stop
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

启动服务

systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper
systemctl status zookeeper

创建环境变量

cat > /etc/profile.d/zookeeper.sh << 'EOF'
#!/bin/bash
export ZOOKEEPER_HOME=/data/apache-zookeeper-3.7.1
export PATH=${ZOOKEEPER_HOME}/bin:$PATH
EOF
source /etc/profile

Kafka

下载安装包

https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz
tar xf kafka_2.12-2.2.1.tgz -C /data

编辑配置文件server.properties

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/data/kafka_2.12-2.2.1/logs
default.replication.factor=3
zookeeper.connect=192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181
auto.create.topics.enable=true

创建log目录

mkdir -p /data/kafka_2.12-2.2.1/logs

注册systemd

cat > /etc/systemd/system/kafka.service << EOF
[Unit]
Description=Kafka Service
After=network.target

[Service]
Type=forking
Environment="JAVA_HOME=${JAVA_HOME}"
ExecStart=/data/kafka_2.12-2.2.1/bin/kafka-server-start.sh -daemon /data/kafka_2.12-2.2.1/config/server.properties
ExecStop=/data/kafka_2.12-2.2.1/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

启动服务

systemctl start kafka
systemctl enable kafka
systemctl status kafka

查看默认topic

kafka-topics.sh --list --bootstrap-server localhost:9092

查看topic信息

kafka-topics.sh --describe --topic taskStatusMessage --bootstrap-server localhost:9092

创建topic

kafka-topics.sh --create --topic <topic_name> --bootstrap-server localhost:9092 --partitions 9 --replication-factor 3
文章作者: 慕容峻才
文章链接: https://www.acaiblog.top/Kafka集群部署/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿才的博客
微信打赏
支付宝打赏