前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kafka集群搭建&zookeeper集群搭建

kafka集群搭建&zookeeper集群搭建

作者头像
全栈程序员站长
发布2022-06-26 10:50:59
1.9K1
发布2022-06-26 10:50:59
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1.安装准备 jdk-8u162-linux-x64.tar zookeeper-3.4.12.tar.gz kafka_2.11-2.0.0 .tgz

2.准备至少三台虚拟机 192.168.196.128 192.168.196.131 192.168.196.132

3.Java环境安装 (略…自行百度)

4.搭建zookeeper集群 在每台主机下执行以下步骤:

移动至/usr/local下:

代码语言:javascript
复制
mv zookeeper-3.4.12.tar.gz /usr/local

解压,重命名:

代码语言:javascript
复制
tar -zxvf zookeeper-3.4.12.tar.gz
mv zookeeper-3.4.12 zookeeper

配置环境变量:

代码语言:javascript
复制
vim /etc/profile

追加以下内容:

代码语言:javascript
复制
#set zookeeper environment
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH

保存文件后,使修改生效:

代码语言:javascript
复制
source /etc/profile

打开zookeeper配置文件:

代码语言:javascript
复制
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
vim /usr/local/zookeeper/zoo.cfg

修改zookeeper配置文件:

代码语言:javascript
复制
#修改数据文件夹路径
dataDir=/usr/local/zookeeper/data
#在文件末尾添加
server.1=192.168.196.128:2888:3888
server.2=192.168.196.131:2888:3888
server.3=192.168.196.132:2888:3888

创建数据文件夹和myid文件:

代码语言:javascript
复制
mkdir /usr/local/zookeeper/data
touch /usr/local/zookeeper/data/myid

分别在各个机器添加myid信息:

代码语言:javascript
复制
echo "1" > /usr/local/zookeeper/data/myid #kafka-1 192.168.196.128
echo "2" > /usr/local/zookeeper/data/myid #kafka-1 192.168.196.131
echo "3" > /usr/local/zookeeper/data/myid #kafka-1 192.168.196.132

分别在各个机器启动zookeeper:

代码语言:javascript
复制
/usr/local/zookeeper/bin/zkServer.sh start

全部启动后查看状态:

代码语言:javascript
复制
 /usr/local/zookeeper/bin/zkServer.sh status

显示如下则zookeeper集群搭建成功:

5.搭建kafka集群 在每台主机下执行以下步骤: 移动至/usr/local下:

代码语言:javascript
复制
mv kafka_2.11-2.0.0 .tgz /usr/local

解压,重命名:

代码语言:javascript
复制
tar -zxvf kafka_2.11-2.0.0 .tgz
mv kafka_2.11-2.0.0 kafka

配置环境变量:

代码语言:javascript
复制
vim /etc/profile

追加以下内容:

代码语言:javascript
复制
#set kafka environment
export KAFKA_HOME=/usr/local/kafka
export PATH=${KAFKA_HOME}/bin:$PATH

保存文件后,使修改生效:

代码语言:javascript
复制
source /etc/profile

修改server.properties配置文件:

代码语言:javascript
复制
vim /usr/local/kafka/config/server.properties

在kafka-1主机中:

代码语言:javascript
复制
#修改
broker.id=1
listeners=PLAINTEXT://192.168.196.128:9092
zookeeper.connect=192.168.196.128:2181,192.168.196.131:2181,192.168.196.132:2181
offsets.topic.replication.factor=3

在kafka-2主机中:

代码语言:javascript
复制
#修改
broker.id=2
listeners=PLAINTEXT://192.168.196.131:9092
zookeeper.connect=192.168.196.128:2181,192.168.196.131:2181,192.168.196.132:2181
offsets.topic.replication.factor=3

在kafka-3主机中:

代码语言:javascript
复制
#修改
broker.id=3
listeners=PLAINTEXT://192.168.196.132:9092
zookeeper.connect=192.168.196.128:2181,192.168.196.131:2181,192.168.196.132:2181
offsets.topic.replication.factor=3

在每台机器上分别启动kafka

代码语言:javascript
复制
/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties

(测试)在其中一台机器上创建topic:

代码语言:javascript
复制
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.196.128:2181,192.168.196.131:2181,192.168.196.132:2181 --replication-factor 3 --partitions 3 --topic test-topic

(测试)查看创建的topic信息:

代码语言:javascript
复制
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.196.128:2181,192.168.196.131:2181,192.168.196.132:2181 --topic test-topic

(测试)选其中一台机器创建生产者:

代码语言:javascript
复制
bin/kafka-console-producer.sh --broker-list 192.168.196.128:9092 -topic test-topic

(测试)另外两台机器创建消费者:

代码语言:javascript
复制
bin/kafka-console-consumer.sh --bootstrap-server 192.168.196.128:9092,192.168.196.131:9092,192.168.196.132:9092 --topic test-topic2 --from-beginning

尝试发送消息,收到则部署成功!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134087.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档