centos7-kafka_2.12-2.3.1集群搭建(zookeeper非kafka自带)

本文详细介绍如何在三台服务器上搭建Kafka集群,包括环境准备、JDK安装配置、Zookeeper集群搭建、Kafka集群搭建等步骤,以及可能出现的错误解决方法。

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

1、准备
环境准备很重要,尤其是版本对应,如果不注意jdk和kafka的版本,kafka和zookeeper的版本,中间会报一些奇奇怪怪的错。对应准备的版本:

  • 三台服务器:192.168.0.128,192.168.0.129,192.168.0.130(以下操作均为三台服务器)
  • kafka:kafka_2.12-2.3.1
  • jdk:jdk-8u241-linux-x64.tar.gz
  • zookeeper: zookeeper-3.4.14(kafka有内置的zookeeper,如果不知道zk应该用哪个版本,可以再kafka中查看对应的版本号)。

2、 jdk安装配置

# 下载jdk,解压
tar -zxvf jdk-8u241-linux-x64.tar.gz
# 配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 配置生效
source /etc/profile

3、 zookeeper集群搭建

# 下载zookeeper-3.4.14.tar.gz,解压
tar -zxvf zookeeper-3.4.14.tar.gz
# 配置环境变量
vi /etc/profile
# zk环境变量
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.14
export PATH=$ZOOKEEPER_HOME/bin:$PATH
# 配置生效
source /etc/profile

修改配置文件zoo.cfg

# 修改配置文件 zoo.cfg
vi zookeeper-3.4.14/conf/zoo.cfg

修改zoo.cfg 内容(三台服务器都一样):

tickTime=2000
syncLimit=5
dataDir=/opt/zookeeper-3.4.14/data
clientPort=2181
server.1=192.168.0.128:2888:3888
server.2=192.168.0.129:2888:3888
server.3=192.168.0.130:2888:3888

dataDir=/opt/zookeeper-3.4.14/data(上边zoo.cfg配置的dataDir路径)下添加myid文件(不能相同,要唯一),这是zookeeper集群互认对方的唯一标识。

192.168.0.128 : echo 1 > /opt/zookeeper-3.4.14/data/myid
192.168.0.129 : echo 2 > /opt/zookeeper-3.4.14/data/myid
192.168.0.130 : echo 3 > /opt/zookeeper-3.4.14/data/myid

查看:
192.168.0.128:
在这里插入图片描述
192.168.0.129:
在这里插入图片描述
192.168.0.130:
在这里插入图片描述
至此安装完成!
启动三台服务器的zookeeper:/opt/zookeeper-3.4.14/bin/zkServer.sh start
查看启动状态:/opt/zookeeper-3.4.14/bin/zkServer.sh status
在这里插入图片描述
这样就启动成功了!

4、kafka集群搭建

# 下载 kafka_2.12-2.3.1.tgz,解压
tar -zxvf  kafka_2.12-2.3.1.tgz
# 配置环境变量
vi /etc/profile
# kafka环境变量
export KAFKA_HOME=/opt/kafka_2.12-2.3.1
export PATH=$KAFKA_HOME/bin:$PATH
# 配置生效
source /etc/profile

修改配置文件server.properties

# 修改配置文件server.properties
vi /opt/kafka_2.12-2.3.1/config/server.properties 

修改server.properties内容:

# 三台服务器都要配置
# 192.168.0.128 为 broker.id=1192.168.0.129 为 broker.id=2192.168.0.130 为 broker.id=3
broker.id=1

# 各服务器写各自的ip,128的服务器就写128,129的就写129......
listeners=PLAINTEXT://192.168.0.128:9092
advertised.listeners=PLAINTEXT://192.168.0.128:9092

# log.dirs 路径自己配,单文件夹一定要存在,不会自己生成,如果路径不存在启动会报错。
log.dirs=/opt/kafka_2.12-2.3.1/kafka-data

# topic 允许删除配置
delete.topic.enable=true

# 以下配置三台服务器都一样
zookeeper.connect=localhost:192.168.0.128:2181,192.168.0.129:2181,192.168.0.130:2181
zookeeper.connection.timeout.ms=60000

配置完成,启动kafka集群:bin/kafka-server-start.sh -daemon config/server.properties,jps 查看,启动成功!
在这里插入图片描述
可能会出现的错误:解决
验证:

  • 创建一个topic(例如在128的服务器上)
# 在kafka目录下运行:
bin/kafka-console-producer.sh --broker-list 192.168.0.128:9092 --topic ttt
  • 运行 producer(在128的服务器上),然后在控制台输入一些消息以发送到服务器。
# 在kafka目录下运行:
bin/kafka-console-producer.sh --broker-list 192.168.0.128:9092 --topic ttt

在这里插入图片描述

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

在这里插入图片描述
成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值