kafka集群搭建(使用外部zookeeper)
Posted 毫末之木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka集群搭建(使用外部zookeeper)相关的知识,希望对你有一定的参考价值。
虚拟机vmware
三个节点:192.168.204.131、192.168.204.132、192.168.204.133
zookeeper集群(参照zookeeper集群搭建)
1、下载安装包:kafka官网http://kafka.apache.org/
解压:tar -zxvf kafka_2.11-0.11.0.1.tgz
2、配置环境变量
vim ~/.bashrc
export KAFKA_HOME=/usr/local/kafka_2.11-0.11.0.1
export PATH=$PATH:$KAFKA_HOME/bin
3、kafka配置
/config/server.properties
注解:
1、使用默认配置就好,注意五个个选项,brokerid、num.partitions、default.replication.factor、zookeeper.connect、zookeeper.connection.timeout.ms
2、brokerid,当前节点的id号,唯一标识,建议给顺序数字,方便管理(与zookeeper中myid类似)
3、num.partitions,控制设定几个分区,default.replication.factor,控制设定几个备份。
三个节点,各给了3,也可根据自身实际情况以及自身需求给定
4、zookeeper.connect指定外部zk源的各个节点。若无特殊指定,外部zk集群默认端口2181,逗号隔开
5、zookeeper.connection.timeout.ms根据自身网络情况设定,通常默认就好
4、将server.properties分发给各节点,修改brokerid
5、启动各节点
kafka-server-start.sh /usr/local/kafka_2.11-0.11.0.1/config/server.properties > /usr/local/kafka_2.11-0.11.0.1/logs/logs &
6、启动验证
7、常见问题解决
启动过一次后修改brokerid,再次启动,失败
这是由于kafka日志系统无法写入导致的,每次写入日志文件时候,会在日志文件同目录下,生成相关几个文件。其中meta.properties会记录之前brokerID,若是再启动,日志会与kafka的brokerID进行比对,若是一致才准许写入指定的log文件,若是不一致则报错,线程停止
=================================
三台节点,创建kafka目录,解压安装,并在该目录下创建kafkalogs,配置config/server.properties
broker.id=和zk集群myid差不多,作为唯一标记
port=默认9092
host.name=为了处理0.8.1bug,1以后版本不存在该bug
log.dirs=/**/kafkalogs可以设置多个用逗号隔开
zookeeper.connect=zk集群用逗号隔开
日志过期配置
log.retention.hours=168
message.max.byte=5048576
default.replication.factor=2
replica.fetch.max.bytes=5048576
启动测试:先启动zk集群再启动kafka集群
进入到kafka的bin目录下:./kafka-server-start.sh -daemon ../config/server.properties
注:-daemon指后台启动
本章节整理就到这里,后续资料还在持续更新中,更多精彩内容,请关注【毫末之木】公众账号。
以上是关于kafka集群搭建(使用外部zookeeper)的主要内容,如果未能解决你的问题,请参考以下文章