文章目录
一、下载安装包及解压
- 解压文件
tar -zxvf kafka_2.11-1.0.0.tgz -C /export/servers/
- 删除之前的安装记录
cd /export/servers/
rm -rf /export/servers/kafka
rm -rf /export/logs/kafka/
rm -rf /export/data/kafka
- 重命名
mv kafka_2.11-1.0.0 kafka
二、修改配置文件
进入/export/servers/kafka/config
修改配置文件 vim server.properties
• Broker.id每个broker在集群中的唯一标识,正整数。当该服务器的ip地址发生变更,但broker.id未变,则不会影响consumers的消费情况
• listeners:kafka的监听地址与端口
• num.network.threads:kafka用于处理网络请求的线程数
• num.io.threads:kafka用于处理磁盘io的线程数
• socket.send.buffer.bytes:发送数据的缓冲区
• socket.receive.buffer.bytes:接收数据的缓冲区
• socket.request.max.bytes:允许接收的最大数据包的大小(防止数据包过大导致OOM)
• log.dirs:kakfa用于保存数据的目录,所有的消息都会存储在该目录当中。可以通过逗号来指定多个路径,kafka会根据最少被使用的原则选择目录分配新的partition。需要说明的是,kafka在分配partition的时候选择的原则不是按照磁盘空间大小来定的,而是根据分配的partition的个数多少而定
• num.partitions:设置新创建的topic的默认分区数
• number.recovery.threads.per.data.dir:用于恢复每个数据目录时启动的线程数
• log.retention.hours:配置kafka中消息保存的时间,还支持log.retention.minutes和log.retention.ms。如果多个同时设置会选择时间最短的配置,默认为7天。
• log.retention.check.interval.ms:用于检测数据过期的周期
• log.segment.bytes:配置partition中每个segment数据文件的大小。默认为1GB。超出该大小后,会自动创建一个新的segment文件。
• zookeeper.connect:指定连接的zk的地址,zk中存储了broker的元数据信息。可以通过逗号来设置多个值。格式为:hostname:port/path。hostname为zk的主机名或ip,port为zk监听的端口。/path表示kafka的元数据存储到zk上的目录,如果不设置,默认为根目录
• zookeeper.connection.timeout:kafka连接zk的超时时间
• group.initial.rebalance.delay.ms:在实际环境当中,当将多个consumer加入到一个空的consumer group中时,每加入一个consumer就会触发一次对partition消费的重平衡,如果加入100个