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