Kafka集群搭建条件:
1. Linux服务器一台或者多台;
2. 已经搭建好的zookeeper集群;
3. 安装包 kafka_2.12-2.2.0.tgz (二进制)
注意: 下载kafka安装包的时候,下载二进制包。 不要下载源码包(kafka-2.1.1-src),不然还需要自己编译。
一般官网下载源码包,后面都有一个后缀 src 。
安装kafka前提条件:
1. 安装jdk
https://blog.csdn.net/chuxin_mm/article/details/81000553
2. 安装zookeeper集群
https://blog.csdn.net/chuxin_mm/article/details/88993995
kafka自带zookeeper插件,不过需要配置,启动的时候带上该配置 (这种方法没有试过)
但是原理应该是一样的。 可以直接配置自带的zookeeper,然后分别启动。
具体的可以去看zookeeper集群搭建,步骤都差不多
kafka自带zookeeper启动插件方式:
[root@wqm kafka03]# bin/zookeeper-server-start.sh config/zookeeper.properties
上面的命令,只能启动zookeeper。
按理来说,也可以直接启动zookeeper集群了。
- 好了,上面可以不看了。开始kafka集群配置 (集群配置就是下面的步骤多次执行)。
1. 创建一个kafka的目录,将安装包放在kafka目录下
2. 创建kafkalogs目录,用户存放kafka消息,一会配置文件会用到这个目录路径
[root@wqm kafka]# mkdir kafkalogs01
3. 查看创建的kafkalogs路径地址 (准备给后面配置使用)
[root@wqm kafkalogs01]# pwd
/wangqinmin/kafka/kafkalogs01
3. 解压kafka安装包
[root@wqm kafka]# tar -xvf kafka_2.12-2.2.0.tgz
4. 修改配置文件
[root@wqm kafka03]# vim config/server.properties
- 修改server.properties部分:
broker.id=1 ## 必须为整数,相当于zookeeper集群里面的server.1,主要用于标识,比如3台为一集群,分别就是1,2,3
log.dirs=/wangqinmin/kafka/kafkalogs01 ## 日志保存的位置,创建目录,自定义
zookeeper.connect=172.27.0.13:2181,172.27.0.13:2182,172.27.0.13:2183 ## zookeeper集群链接地址,用逗号隔断
- 增加server.properties部分:
port=9093
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
delete.topic.enable=true
上面配置的意义:
1. 默认端口号为9092,如果是在一台服务器上部署3个kafka的话,可以配置该属性可以用于端口号修改,分服务器部署则不用加该配置
2. 1024*1024*5 = 5M ( (默认:1000000) – broker能接收消息的最大字节数,这个值应该比消费端的fetch.message.max.bytes更小才对,否则broker就会因为消费端无法使用这个消息而挂起)
3. kafka的replica指的是消息的备份,默认值为1,表示不对topic进行备份。如果配置为2,表示除了leader节点,对于topic里的每一个partition,都会有一个额外的备份。
4. (消费端的最大字节)
5. topic是否可以被删除
- 启动命令: (在kafka根目录启动命令,这里就是kafka01的目录下)
bin/kafka-server-start.sh config/server.properties
- 停止命令: ( 在kafka根目录输入命令 )
bin/kafka-server-stop.sh config/server.properties
- 后台启动(在kafka目录下启动):
bin/kafka-server-start.sh -daemon config/server.properties
- 可能会出现的问题:(内存溢出) 在测试搭建集群的时候,可能再同一台服务器上搭建集群所以会java内存溢出
- kafka的bin目录下编辑启动配置,修改java运行内存
vim kafka-server-start.sh
## 将export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
## 修改为:
export KAFKA_HEAP_OPTS="-Xmx200m -Xms200m"
## 就是将运行内存修改为了200兆,也可以自己调节
安装上了, 也启动成功了, 就是暂时还没有试过,具体能不能用,还不清楚。