zookeeper+kafka集群搭建

本文详细介绍了如何在三台Centos7服务器上搭建Zookeeper集群和Kafka集群,包括环境配置、软件安装、集群配置及启动过程,以及如何创建主题、生产者和消费者进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备

准备三台centos7的服务器 两核两G的

服务器系统Centos7.3
内存2G
CPU2核
IP地址10.0.0.41
服务器系统Centos7.3
内存2G
CPU2核
IP地址10.0.0.42
服务器系统Centos7.3
内存2G
CPU2核
IP地址10.0.0.43

下面的操作是在每台机器上都要执行的,基本上都是重复的动作

#关闭防火墙和SELinux
systemctl stop firewalld
setenforce 0
#安装jdk环境
rpm -ivh jdk-8u131-linux-x64_.rpm 
#查看Java的版本
java -version
#查看本地是否安装上了jdk环境
rpm -qa | grep jdk
#下载wget工具
yum -y install wget
#进入目录
cd /usr/local/src
#通过wget工具获取zookeeper源码包
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
#通过wget工具获取kafka源码包
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.0/kafka_2.11-2.2.0.tgz
#解压zookeeper 然后移动到/usr/local/zookeeper目录  kafka做同样的操作  kafka移动到/usr/local/kafka目录
#解压zookeeper源码包
tar zxf zookeeper-3.4.14.tar.gz 
#然后移动到/usr/local/zookeeper目录,在移动的过程当中并改名
mv zookeeper-3.4.14 /usr/local/zookeeper
#解压kafka源码包
tar zxf kafka_2.11-2.2.0.tgz 
#kafka做同样的操作  kafka移动到/usr/local/kafka目录
mv kafka_2.11-2.2.0 /usr/local/kafka

在 /usr/local/zookeeper下创建两个目录分别为zkdatalog zkdata

cd /usr/local/zookeeper
#zkdata是存放快照日志,zkdatalog是存放事物日志
mkdir {zkdatalog,zkdata}

进入/usr/loca/zookeeper/conf 复制一个配置文件 修改复制出来的配置文件

cd /usr/local/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
#编辑修改zookeeper的配置文件
vim zoo.cfg

在这里插入图片描述

在第一台服务器上执行

#就是在不同的服务器上,将服务器编号发送到zkdata下的myid。
echo '1' > /usr/local/zookeeper/zkdata/myid

在第二台服务器上执行

echo '2' > /usr/local/zookeeper/zkdata/myid

在第三台服务器上执行

echo '3' > /usr/local/zookeeper/zkdata/myid

启动zookeeper集群

# 启动zookeepe服务,启动的时候按顺序开启 第一台  第二台  第三台
cd /usr/local/zookeeper/bin
./zkServer.sh start

查看 zookpeer 的状态

./zkServer.sh status

#Mode: leader为主节点,Mode: follower为从节点,zk集群一般只有一个leader,多个follower,主一般是响应客户端的读写请求,而从主同步数据,当主挂掉之后就会从follower里投票选举一个leader出来。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

zookeeper到这里算是做完了,下面开始搭建kafka集群

第一台

#进入kafka的配置文件目录
cd /usr/local/kafka/config
#编辑修改配置文件
vim server.properties

在这里插入图片描述

在这里插入图片描述

第二台

cd /usr/local/kafka/config
vim server.properties

在这里插入图片描述

在这里插入图片描述

第三台

cd /usr/local/kafka/config
vim server.properties

在这里插入图片描述

在这里插入图片描述

vim /etc/hosts

添加以下内容在每一台服务器上

10.0.0.41 kafka01
10.0.0.42 kafka02
10.0.0.43 kafka03

启动Kafka集群服务
启动kafka的命令 每一台服务器都启动kafka

#进入kafka的启动目录
cd /usr/local/kafka/bin
#以守护进程的方式启动kafka服务,并指定配置文件
./kafka-server-start.sh -daemon ../config/server.properties
#查看Kafka服务的端口
ss -ntlp | grep 9092

创建主题 topics

cd /usr/local/kafka/bin
./kafka-topics.sh --create --zookeeper 10.0.0.41:2181 --replication-factor 2 --partitions 3 --topic aaronszm
#--replication-factor 2                  复制两份
#--partitions 1                 创建一个分区
#--topic tian                 主题为aaronszm

查看主题 如果可以显示刚刚创建的就是成功了

./kafka-topics.sh --list --zookeeper 10.0.0.41:2181
cd /usr/local/kafka/bin
#创建一个Producer,Producer是生产者的意思。
./kafka-console-producer.sh --broker-list 10.0.0.41:9092 --topic aaronszm

第二台服务器上操作模拟消费者

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 10.0.0.42:9092 --topic aaronszm --from-beginning

测试模拟生产者和消费者是否成功

在模拟生产者的服务器上写一些东西  可以在模拟消费者的服务器上可以看到表示成功如下所示

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值