kafka伪分布式安装

必须先安装zookeeper,参考:http://blog.csdn.net/u012572955/article/details/78910393

解压文件至 /usr/local/tanlei/kafkacluster/
tar -zxvf kafka_2.11-0.9.0.1.tgz


这里只创建了2个节点,复制两个节点:
cp -r ./kafka_2.11-0.9.0.1/ ./kafka1
cp -r ./kafka_2.11-0.9.0.1/ ./kafka2


创建两个节点的消息文件夹,对应log.dirs=/usr/local/tanlei/kafkacluster/kafka2/kafkalogs
mkdir /usr/local/tanlei/kafkacluster/kafka1/kafkalogs
mkdir /usr/local/tanlei/kafkacluster/kafka2/kafkalogs


修改各自config下的server.properties文件:
kafaka1的config下该文件:
broker.id=0
port=9091
host.name=10.1.5.71
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/local/tanlei/kafkacluster/kafka1/kafkalogs
num.partitions=1
num.recovery.threads.per.data.dir=5
log.flush.interval.message=10000
log.flush.interval.ms=1000
log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.1.5.71:2181,10.1.5.71:2182,10.1.5.71:2183
zookeeper.connect.timeout.ms=6000


kafaka1的config下该文件:
broker.id=1
port=9092
host.name=10.1.5.71
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/local/tanlei/kafkacluster/kafka2/kafkalogs
num.partitions=1
num.recovery.threads.per.data.dir=5
log.flush.interval.message=10000
log.flush.interval.ms=1000
log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.1.5.71:2181,10.1.5.71:2182,10.1.5.71:2183
zookeeper.connect.timeout.ms=6000


字段解释:
broker.id=0         #当前机器在kafka机器里唯一标识,与zookeeper的myid一个意思,由于我使用独立zookeeper这里可以注释掉
port=9092          #socket监听的端口
host.name=192.168.152.192    #broker绑定的IP,我这里三台机器都绑定了,后面远程复制的时候记得修改
num.network.threads=3        #broker处理网络的线程数目
num.io.threads=8                  #broker处理IO的线程数目
socket.send.buffer.bytes=102400     #kafka发送数据缓冲区的大小,到达阈值才发送
socket.receive.buffer.bytes=102400     #kafka接收数据缓冲区的大小,达到阈值才落地
socket.request.max.bytes=104857600    #kafka所能接受的数据最大值,100MB,这个值应该小于机器配置的Java heap,一般Java heap为内存的1/4
log.dirs=/home/kafka/kafkalogs        #存储消息的目录位置
num.partitions=1       #每个主题的默认分区数目,更多的分区可以允许更多的消费,可以提高性能
num.recovery.threads.per.data.dir        #在kafka启动和关闭flush时,还原日志时,对于每个数据目录所能使用的线程数目
log.flush.interval.message=10000        #当消息达到10000条时就会强制刷一次数据到磁盘
log.flush.interval.ms=1000                    #每过1秒就会强制刷数据到磁盘,单位毫秒
log.retention.hours=168                        #消息最大持久化时间,单位小时,即7天
log.retention.bytes=1073741824          #一种持久化策略,当剩余段文件不低于这个阈值,当前段就会从日志消息中删除
log.segment.bytes=1073741824          #一个段文件的最大值,达到最大值会另起一个新的segment
log.retention.check.interval.ms=300000   #每300秒去检验一下段文件是否能被删除
zookeeper.connect=192.168.152.192:12181,192.168.152.193:12181,192.168.152.194:12181  #设置zookeeper的端口
zookeeper.connect.timeout.ms=6000    #连接zookeeper的超时时间


分别启动各节点:
进入bin目录下,输入命令行
./kafka-server-start.sh ../config/server.properties




创建启动脚本:
/usr/local/tanlei/kafkacluster/kafka1/bin/kafka-server-start.sh /usr/local/tanlei/kafkacluster/kafka1/config/server.properties | /usr/local/tanlei/kafkacluster/kafka2/bin/kafka-server-start.sh /usr/local/tanlei/kafkacluster/kafka2/config/server.properties


创建topic:
./kafka-topics.sh --zookeeper 10.1.5.71:2181,10.1.5.71:2182,10.1.5.71:2183 --topic test1 --replication-factor 1 --partitions 1 --create
观察topic:
./kafka-topics.sh --zookeeper 10.1.5.71:2181,10.1.5.71:2182,10.1.5.71:2183 --topic test1 --describe


kafka 文档中文翻译:

http://orchome.com/451

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值