0


Kafka3.1安装配置,配置Kafka集群,Zookeeper集群

1.下载Kafka安装包

Kafka官网下载地址:https://kafka.apache.org/downloads

2.解压压缩包

tar -zxvf kafka_2.12-3.1.0.tgz -c kafka

3.进入配置文件目录

cd kafka/config

4.配置kafka配置文件

vim server.properties

注:log.dirs文件原本的存储路径在tmp文件夹下,该文夹下数据可能会被清除。所以可以在kafka安装目录下创建一个日志文件夹,将log.dirs修改为日志文件夹全路径。
每台服务器都需要进行如下配置,但broker.id值不能相同,它是全局唯一标识,建议从0开始。
修改配置文件的如下选项:

#broker 的全局唯一编号,不能重复。若有多台服务器,每台的broker.id都应该不同,建议从0开始。在改变IP地址,不改变broker.id的话不会影响consumers
broker.id=0#kafka 运行日志存放的路径#这个log.dir用来存放Kafka的数据,不仅是日志
log.dirs=/home/download/kafka/logs

#配置连接 Zookeeper 集群地址#若有多台或少于3太,可以增加或减少服务器IP:端口号,中间以,分隔
zookeeper.connect=1号服务器IP:2181,2号服务器IP:2181,3号服务器IP:2181

如果是kafka集群,应该增加如下配置,否则消费或生产时候会不成功。集群中每个服务器的server.properties文件都应该加上该配置

新增如下选项:

host.name=本服务器IP
listeners=PLAINTEXT://本服务器IP:9092
dvertised.listeners=PLAINTEXT://本服务器IP:9092

请添加图片描述

5.启动Zookeeper集群

(1)配置zookeeper配置文件

每台服务器都要进行如下配置:

与kafka日志文件夹一样,在kafka安装目录下创建一个zookeeper的数据存储文件夹,其默认在tmp文件夹下会被清除,所以需要自定义一个路径。将dataDir属性修改为日志文件夹全路径

加上ticktime、initLimit、syncLimit属性,然后指定zookeeper集群中每台服务器的ip:2888:3888

2888端口用于内部选举投票,3888端口用于数据传递和广播

dataDir=/home/download/kafka/zookeeperlogs
# the port at which the clients will connectclientPort=2181# disable the per-ip limit on the number of connections since this is a non-production configmaxClientCnxns=0# Disable the adminserver by default to avoid port conflicts.# Set the port to something non-conflicting if choosing to enable this
admin.enableServer=false
# admin.serverPort=8080tickTime=2000initLimit=5syncLimit=2
server.1=1号服务器IP:2888:3888
server.2=2号服务器IP:2888:3888
server.3=3号服务器IP:2888:3888

(2)在上面创建的zookeeper数据存储文件夹中创建myid文件

进入自己创建的zookeeper日志文件夹

cd /home/download/kafka/zookeeperlogs

创建myid文件

vim myid
第一台服务器输入1,第二台服务器输入2,第三台服务器输入3

在这里插入图片描述

查看myid文件确认一下
在这里插入图片描述

(3)启动zookeeper

返回kafka安装目录,执行以下命令

./bin/kafka-server-start.sh -daemon config/server.properties

(4)注意事项

启动第一台时查看日志可以发现被拒绝连接。这是由于

ZooKeeper

集群启动的时候,每个节点都试图去连接集群中的其它节点,先启动的肯定连不上后面还没启动的,所以上面日志前面部分的异常是可以忽略的。继续将其他服务器的zookeeper启动,他们会自动选举一个leader,后续也就不会警告拒绝连接了。

[2022-04-1819:36:47,630] WARN Cannotopenchannelto3 at election address /192.168.196.189:3888(org.apache.zookeeper.server.quorum.QuorumCnxManager)java.net.ConnectException: 拒绝连接 (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(NativeMethod)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:383)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:457)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)[2022-04-1819:36:49,230] INFO Notification time out:3200(org.apache.zookeeper.server.quorum.FastLeaderElection)[2022-04-1819:36:49,231] WARN Cannotopenchannelto3 at election address /192.168.196.189:3888(org.apache.zookeeper.server.quorum.QuorumCnxManager)java.net.ConnectException: 拒绝连接 (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(NativeMethod)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:383)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:457)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

6.启动Kafka

(1)切换到启动目录

cd /home/admin/kafka/bin

(2)启动kafka

注:kafka启动前一定要确保zookeeper已经启动,不然会启动失败。

./kafka-server-start.sh -daemon …/config/server.properties

(3)注意事项

若你的服务武器内存太少,kafka启动时可能会报错,显示内存不足。因为其默认启动内存为1G。
修改启动文件

vim kafka-server-start.sh

在这里插入图片描述将该配置修改为 -Xmx256M -Xms256M

标签: kafka 服务器 centos

本文转载自: https://blog.csdn.net/qq_52355487/article/details/124330948
版权归原作者 空城旧守i 所有, 如有侵权,请联系我们删除。

“Kafka3.1安装配置,配置Kafka集群,Zookeeper集群”的评论:

还没有评论