kafka的安装和启动以及集群的搭建

一、分别下载kafka和zookeeper的安装包并分发给各服务器,然后解压kafaka和zookeeper

二、配置kafka的配置文件
解压后进入文件夹中的config文件夹, 修改红色框框内的配置文件
在这里插入图片描述
在这里插入图片描述

每台机器上的broker.id都需要修改,且是不能重复的数字
在这里插入图片描述
存数据的文件夹
在这里插入图片描述
设置每台机器的zookeeper地址,端口号2181

三、启动每台机器的zookeeper
先给每台机器的zoo.cfg配置文件添加集群主机的地址:
在这里插入图片描述
然后在该文件夹中创建myid文件,并写入机器的号码,即server.1中的1,其余两台类推
在这里插入图片描述
(修改完之后再重启每台机器的zk,注意防火墙的状态,有时防火墙会导致无法找到主机

cd到zookeeper文件夹,进入bin,执行sh zkServer.sh start启动zk
执行指令后可执行sh zkServer.sh status 查看是否启动,如果没有启动可以查看bin文件夹中的zookeeper.out,看是否在启动中遇到错误。
我启动的时候zookeeper.out提示地址已经被使用,因为我往sshd_config中添加了2181端口,所以这个端口被占用了,导致无法正常启动zk)

三、消息的生产和消费
指令的执行需要切换到kafka的文件夹中,当然也可根据自己的实际情况操作。操作的过程中要注意kafaka和zk是否真的起来了,有时候启动了又会自动退出,让人很头疼,在这种情况下需要先解决启动不成功的问题,可以通过查看日志来解决。
有时重启后又自动关闭的情况,查看kafka的日志出现这种错误:The Cluster ID 6IrGpIOvTKKKD_mPKexzwQ doesn’t match stored clusterId Some(HFKz1z0KQguVvxmQ5ZGm1g) in meta.properties
此时先 执行

find / -name meta.properties

找一下这个文件的位置,查看文件的内容
在这里插入图片描述
有时在非正常关闭kafka的情况下这个cluster.id不会更新的,需要删除掉这行,然后再重新启动kafka,这样就可以生成新的cluster.id,并且kafka能正常启动
1、首先在zk为leader的服务器中创建主题

 bin/kafka-topics.sh --zookeeper 服务器名称:2181 --create replication-fator 2 partitions 1 --topic 主题名称

查和改的命令自行度娘

2、生产消息
首先需要修改每台服务器中的kafka的配置,修改如下
在这里插入图片描述
服务器地址根据自己的实际情况填写,端口号为9092
我这里用了三台虚拟机作为服务器,因此需要修改三次配置文件
修改完之后,需要到zookeeper为leader的服务器中开启消息生产,指令如下:

bin/kafka-console-producer.sh --topic forth --bootstrap-server 192.168.56.103:9092  

地址填写当前服务器的地址

3、消费消息
在另外一台zookeeper为follower的机器上执行如下指令:

bin/kafka-console-consumer.sh --topic forth --bootstrap-server 192.168.56.103:9092

地址填写的是步骤2,生产消息中填写的地址,意思是消费那台机器的消息

4、生产并消费消息
在第二步中的机器中输入消息,然后在第三步中就可以接收到了

四、分区和副本的作用
分区:提高负载能力。将数据分开放
副本:容灾备份,保证数据的一致性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值