前言
本人是一枚热爱新技术的程序猿,想在知乎文艺一下。由于水平有限,如果存在知识点上面的错误,请大神明确指出,我会认真听取,并及时修正自己的错误。
目录
本文包含目录中 kafka部署的章节。
6. kafka部署
……6.1.linux相应的配置文件
…………6.1.1.profile配置
……6.2.kafka配置
……6.3.启动kafka
6.kafka部署
概述
软件版本:kafka“2.10-0.10.0.0”
6.1.linux相应的配置文件
6.1.1.profile配置
kafka_2.10-0.10.0.0安装在/mnt/apps/kafka/kafka_2.10-0.10.0.0下面,所有的配置都是按照这个目录进行配置的。
我们使用vim /etc/profile,进入进行编辑:
#set Kafka
export KAFKA_HOME=/mnt/apps/kafka/kafka_2.10-0.10.0.0
export PATH=$PATH:$KAFKA_HOME/bin
编辑完成之后,退出编辑,执行 source /ect/profile,即完成profile的配置。
6.2.kafka配置
broker.id=0
port=9092
num.network.threads=2
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
log.dirs=/mnt/apps/kafka/kafka-logs
num.partitions=2
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=60000
log.cleaner.enable=false
zookeeper.connect=localhost:2181/kafka
zookeeper.connection.timeout.ms=1000000
broker配置参数说明
参数 默认值 描述
broker.id 0 每一个boker都有一个唯一的id作为它们的名字。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响consumers的消息情况
port 9092 broker server服务端口
host.name “” broker的主机地址,若是设置了,那么会绑定到这个地址上,若是没有,会绑定到所有的接口上,并将其中之一发送到ZK
log.dirs /tmp/kafka-logs kafka数据的存放地址,多个地址的话用逗号分割,多个目录分布在不同磁盘上可以提高读写性能 /data/kafka-logs-1,/data/kafka-logs-2
message.max.bytes 1000012 表示消息体的最大大小,单位是字节
num.network.threads 3 broker处理消息的最大线程数,一般情况下数量为cpu核数
num.io.threads 8 处理IO的线程数
log.flush.interval.messages Long.MaxValue 在数据被写入到硬盘和消费者可用前最大累积的消息的数量
log.flush.interval.ms Long.MaxValue 在数据被写入到硬盘前的最大时间
log.flush.scheduler.interval.ms Long.MaxValue 检查数据是否要写入到硬盘的时间间隔。
log.retention.hours 168 (24*7) 控制一个log保留多长个小时
log.retention.bytes -1 控制log文件最大尺寸
log.cleaner.enable false 是否log cleaning
log.cleanup.policy delete delete还是compat.
log.segment.bytes 1073741824 单一的log segment文件大小
log.roll.hours 168 开始一个新的log文件片段的最大时间
background.threads 10 后台线程序
num.partitions 1 默认分区数
socket.send.buffer.bytes 102400 socket SO_SNDBUFF参数
socket.receive.buffer.bytes 102400 socket SO_RCVBUFF参数
zookeeper.connect 指定zookeeper连接字符串, 格式如hostname:port/chroot。chroot是一个namespace
zookeeper.connection.timeout.ms 6000 指定客户端连接zookeeper的最大超时时间
zookeeper.session.timeout.ms 6000 连接zk的session超时时间
zookeeper.sync.time.ms 2000 zk follower落后于zk leader的最长时间
6.3.启动kafka
bin/kafka-server-start.sh config/server.properties &