Kafka伪集群环境搭建
前言:由于笔记本资源有限,采用伪集群方式,用端口隔离搭建集群环境,踩坑颇多做此纪录!
1. 版本问题
kafka_2.12-2.4.1 # 已内置zookeeper
2. Linux部署
2.1 拷贝解压
拷贝压缩包到指定目录中,并解压
cd /home/export/server # 我的服务器部署目录
tar zxvf kafka_2.12-2.4.1.tgz
目录名称 | 说明 |
---|---|
bin | Kafka的所有执行脚本都在这里。例如:启动Kafka服务器、创建Topic、生产者、消费者程序等等 |
config | Kafka的所有配置文件 |
libs | 运行Kafka所需要的所有JAR包 |
logs | Kafka的所有日志文件,如果Kafka出现一些问题,需要到该目录中去查看异常信息 |
site-docs | Kafka的网站帮助文件 |
2.2创建文件夹
创建部分文件夹,作配置使用
cd /home/export/server/kafka_2.12-2.4.1
mkdir data
# 日志目录
mkdir log # 存放日志
cd /home/export/server/kafka_2.12-2.4.1/log
mkdir kafkalog # kafka日志目录
cd /home/export/server/kafka_2.12-2.4.1/log/kafkalog
mkdir 01
mkdir 02
mkdir 03
cd /home/export/server/kafka_2.12-2.4.1/log
mkdir zookeeper # zookeeper日志目录
cd /home/export/server/kafka_2.12-2.4.1/log/zookeeper
mkdir zk1
mkdir zk2
mkdir zk3
2.3 修改配置文档
配置文档主要包含两个部分 zookeeper.properties 和 server.properties
cd /home/export/server/kafka_2.12-2.4.1/config
# 配置3个zookeeper配置文件
cp zookeeper.properties zookeeper01.properties
cp zookeeper.properties zookeeper02.properties
cp zookeeper.properties zookeeper03.properties
# 配置3个kafka配置文件
cp server.properties server01.properties
cp server.properties server02.properties
cp server.properties server03.properties
vim修改文档配置
例: zookeeper01.properties 四处修改!
dataDir=/home/export/server/kafka_2.12-2.4.1/zookeeper/zk1 # 递增zk2 zk3
dataLogDir=/home/export/server/kafka_2.12-2.4.1/log/zookeeper/zk1 # 递增zk2 zk3
clientPort=2181 # 递增2182 2183
server.1=localhost:2888:3888 # 递增localhost:2889:3889 localhost:2890:3890
例:server01.properties 四处修改!
broker.id=0 # 递增1 2
listeners=PLAINTEXT://localhost:9092 # 递增9093 9094
zookeeper.connect=localhost:2181 # 递增2182 2183
log.dirs=/home/export/server/kafka_2.12-2.4.1/log/kafkalog/01 # 递增 02 03
2.4 启动/关闭脚本
Kafka启动脚本
cd /home/export/server/kafka_2.12-2.4.1
vim start-kafka.sh
#脚本内容
#!/bin/bash
cd /home/export/server/kafka_2.12-2.4.1
nohup bin/zookeeper-server-start.sh config/zookeeper01.properties &
nohup bin/zookeeper-server-start.sh config/zookeeper02.properties &
nohup bin/zookeeper-server-start.sh config/zookeeper03.properties &
nohup bin/kafka-server-start.sh config/server01.properties >>/dev/null 2>&1 &
nohup bin/kafka-server-start.sh config/server02.properties >>/dev/null 2>&1 &
nohup bin/kafka-server-start.sh config/server03.properties >>/dev/null 2>&1 &
# 给予权限
sudo chmod 777 start-kafka.sh
Kafka关闭脚本
cd /home/export/server/kafka_2.12-2.4.1
vim stop-kafka.sh
#脚本内容
#!/bin/bash
cd /home/export/server/kafka_2.12-2.4.1
bin/zookeeper-server-stop.sh
bin/kafka-server-stop.sh
# 给予权限
sudo chmod 777 stop-kafka.sh
该版本存在存在官方脚本kafka-server-stop.sh无法关闭Kafka的情况!补充一个kill-kafka.sh脚本
cd /home/export/server/kafka_2.12-2.4.1
vim kill-kafka.sh
#脚本内容
#!/bin/bash
kill -s KILL $(jps -lm | grep -i 'kafka.Kafka' | awk '{print $1}')
# 给予权限
sudo chmod 777 kill-kafka.sh
最终启动实现结果!