kafka此前使用Zookeeper进行服务管理,为脱离Zookeeper,从2.8版本开始,有了自己的服务管理组件:Kraft, 所以本次也是用这种模式安装的,版本为:3.4, 废话不多说,开始上干货
本次我规划了三台机器,分别称为 1 2 3 号机器, 安装步骤没有特殊说明的话是三台机器都需要操作.
我使用的是centos8, centos7应该也是没问题的, 另外需要机器上提前装好jdk,配置好环境变量
如果为了用户权限划分更细,而不是用一个root打天下,建议需要创建用户
useradd kafka
passwd kafka
注意: 键入上面的命令后,就会让你输入不可见的密码,然后确定. 如果提示密码太简单,通过再次确定也可以使用.
我这儿分享一个3.4的tar.gz安装包, 如需安装别的版本,请自行去官网下载
链接:https://pan.baidu.com/s/1tppGoD3FlpQ6jtqi-RY5qg
提取码:cjjj
–来自百度网盘超级会员V5的分享
将安装包上传到三台主机上, 建议目录为: /home/linux用户名/,我们这儿就是/home/kafka
解压:
tar -zxvf kafka_2.13-3.4.0.tar.gz
解压之后会在这个当前目录下多一个目录:kafka_2.13-3.4.0,请记住这个目录,这个目录下有bin config等目录,后面需要使用,我将其称为kafka的主目录,比如我的kafka主目录:/home/kafka/kafka_2.13-3.4.0/
配置文件位置: 如果是完全按照我的步骤来的,那么位置是:/home/kafka/kafka_2.13-3.4.0/config/kraft/server.properties, 如果没有完全按照步骤,请自行寻找kafka主目录
修改配置(1号机)
2 3号机也是一样的方式修改,但是额外需要修改:
注意:如果没有完全按照文章的目录来进行操作,还需要额外修改:
在一号机上,cd到kafka的主目录,执行命令
./bin/kafka-storage.sh random-uuid
这个命令会生成一个UUID,例如:
ZHlPusghSW--nsqghb0QkA
然后分别在1 2 3 号机器,cd到kafka主目录,执行如下命令,注意UUID改成自己的
./bin/kafka-storage.sh format -t ZHlPusghSW--nsqghb0QkA -c ./config/kraft/server.properties
如果出现错误:
Unable to create storage directory /home/kafka/kafka_2.13-3.4.0/data/kraft1: /home/kafka
请检查<2.修改配置>中的log.dirs,
cd到kafka主目录,
1. 测试启动
(注意需要三台都启动,因为是集群,需要相互通信,健康检查等)
bin/kafka-server-start.sh config/kraft/server.properties
2. 测试创建topic,
新开一个远程,cd到kafka主目录,执行如下命令(注意改成自己的ip)
./bin/kafka-topics.sh --create --topic test --partitions 1 --replication-factor 3 --bootstrap-server 10.1.20.54:9092,10.1.20.55:9092,10.1.20.56:9092
另外这个测试只能在一台机器上执行,在另外的机器上执行,会提示topic已经存在,
3. 后台启动
使用Ctrl+C停掉启动的kafka服务,然后使用如下命令后台启动,注意在kafka主目录下执行
bin/kafka-server-start.sh config/kraft/server.properties &