Administrator
Published on 2023-02-15 / 53 Visits
0
0

kafka-2.1.1 集群搭建-使用自带zookeeper搭建

下载并解压,注意:本文需要使用jdk,本次测试用的是jdk1.8,需要自行百度安装一下jdk

wget https://archive.apache.org/dist/kafka/2.1.1/kafka_2.11-2.1.1.tgz
tar zxvf kafka_2.11-2.1.1.tgz -C /usr/local/
mv /usr/local/kafka_2.11-2.1.1 /usr/local/kafka_2.1.1

1.创建数据和日志文件夹
#zk是kafka自带的,所以需要创建数据文件夹和日志文件夹,配置文件里会配置
mkdir -p /usr/local/kafka_2.1.1/zookeeper
mkdir -p /usr/local/kafka_2.1.1/log/zookeeper
mkdir -p /usr/local/kafka_2.1.1/log/kafka

建立zookeeper集群

1.修改zookeeper配置文件信息
vim /usr/local/kafka_2.1.1/config/zookeeper.properties
#直接清空配置文件所有内容粘贴如下内容,记得修改自己的ip信息
dataDir=/usr/local/kafka_2.1.1/zookeeper
dataLogDir=/usr/local/kafka_2.1.1/log/zookeeper
clientPort=12181
tickTime=2000
initLimit=10
syncLimit=5
server.0=172.xx.xx.xx:2888:3888
server.1=172.xx.xx.xx:2888:3888
server.2=172.xx.xx.xx:2888:3888

#记得该配置在集群的机器内都要配置

修改kafka配置文件

vim /usr/local/kafka_2.1.1/config/server.properties
# broker.id三台服务器不能一样,这是唯一标识,各自服务器为0,1,2
broker.id=0
# ip为各自服务器ip地址,advertised.listeners很重要,默认是被注释的,要放开。
listeners=PLAINTEXT://192.168.0.2:9092
advertised.listeners=PLAINTEXT://192.168.0.2:9092
# log日志路径
log.dirs=/usr/local/kafka_2.1.1/log/kafka
# topic允许被彻底删除,如果没有配置可以自己添加,可以不配置
delete.topic.enable=true
# zookeeper配置,三台都一样
zookeeper.connect=192.168.0.2:12181,192.168.0.3:12181,192.168.0.4:12181

#配置zookeeper的myid标识符,注意上方配置的broker.id是啥就在机器创建啥ID,下面的例句是在三台服务器运行的
echo 0 > /usr/local/kafka_2.1.1/zookeeper/myid
echo 1 > /usr/local/kafka_2.1.1/zookeeper/myid
echo 2 > /usr/local/kafka_2.1.1/zookeeper/myid

启动或关闭

#启动顺序:先zk后kafka,停止顺序,先停kafka,后zk
zookeeper启动命令与关闭
sh /usr/local/kafka_2.1.1/bin/zookeeper-server-start.sh -daemon /usr/local/kafka_2.1.1/config/zookeeper.properties

sh /usr/local/kafka_2.1.1/bin/zookeeper-server-stop.sh 


启动kafka
sh /usr/local/kafka_2.1.1/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.1.1/config/server.properties

sh /usr/local/kafka_2.1.1/bin/kafka-server-stop.sh

验证部分

#创建一个topic
bin/kafka-topics.sh --create --zookeeper 192.168.0.2:12181 --replication-factor 1 --partitions 1 --topic test

#运行 producer,然后在控制台输入一些消息以发送到服务器
bin/kafka-console-producer.sh --broker-list 192.168.0.2:9092 --topic test

#Kafka 还有一个命令行consumer(消费者)(在129的服务器上),将消息转储到标准输出
bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.2:9092 --topic test --from-beginning

image.png

验证图片

image.png


Comment