irpas技术客

Kafka3.1安装配置,配置Kafka集群,Zookeeper集群_空城旧守i_kafka3 安装

irpas 4756

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 advertised.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 connect clientPort=2181 # disable the per-ip limit on the number of connections since this is a non-production config maxClientCnxns=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=8080 tickTime=2000 initLimit=5 syncLimit=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/zookeeper-server-start.sh -daemon config/zookeeper.properties

(4)注意事项

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

[2022-04-18 19:36:47,630] WARN Cannot open channel to 3 at election address /192.168.196.189:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager) java.net.ConnectException: 拒绝连接 (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) 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-18 19:36:49,230] INFO Notification time out: 3200 (org.apache.zookeeper.server.quorum.FastLeaderElection) [2022-04-18 19:36:49,231] WARN Cannot open channel to 3 at election address /192.168.196.189:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager) java.net.ConnectException: 拒绝连接 (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) 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


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #kafka3 #安装 #zxvf #kafka_212310tgz #C