kafka_2.11-2.0.0 集群搭建

1.环境

centos 7,jdk 1.8,kafka_2.11-2.0.0

 

2.单节点搭建

kafka官网下载对应版本的安装包,解压

tar -zvxf  kafka_2.11-2.0.0.tgz -C /opt/

cd /opt

ln -s kafka_2.11-2.0.0/ kafka

kafka需要在zookeeper上注册自己的节点信息,故需要先启动一个zookeeper,这里不再阐述zk的安装,详见zookeeper集群搭建

笔者之前已经搭建好一个三个节点的zk集群,首先启动zk集群,然后可直接启动单节点的kafka

cd /opt/kafka/bin

./kafka-server-start.sh ../config/server.properties

(提示:zk的默认端口是2181,如果修改了端口,需要在server.properties中将zookeeper.connect值修改为对应的ip:port)

至此,单节点搭建完成

 

3.集群搭建

官网介绍的集群搭建方法,是在同一台机器部署多个实例,但笔者需要在同一局域网不同机器上部署。理论上来说方法应该是一样的。

首先,修改master节点的kafka配置文件server.properties

为保证集群正常运行,先只修改4个配置项,master节点配置:

broker.id=0
listeners=PLAINTEXT://master:9092
log.dirs=/data/kafka/log
zookeeper.connect=master:2181,slave1:2181,slave2:2181

将kafka文件拷贝到slave1和slave2节点上,分别修改配置,

slave1配置:

broker.id=1
listeners=PLAINTEXT://slave1:9092
log.dirs=/data/kafka/log
zookeeper.connect=master:2181,slave1:2181,slave2:2181

slave2配置:

broker.id=2
listeners=PLAINTEXT://slave2:9092
log.dirs=/data/kafka/log
zookeeper.connect=master:2181,slave1:2181,slave2:2181

broker.id:kafka broker的唯一标识

listeners:监听的url列表

log.dirs:日志路径

zookeeper.connect:zk访问路径集合,可根据实际情况配置

 

配置完成后,启动kafka集群,为方便一次性启动集群,编写脚本执行

usage="Usage: $0 (start|stop)"
if [ $# -lt 1 ]; then
  echo $usage
  exit 1
fi
behave=$1
echo "$behave kafka cluster..."
#主机名称
for i in master slave1 slave2
do
#使用ssh进行启动
script=""
if [ $1 == 'start' ];then
script="kafka-server-start.sh /opt/kafka/config/server.properties 1>/data/kafka/log/kafka.out 2>&1 &"
fi
if [ $1 ==  'stop' ];then
script="kafka-server-stop.sh"
fi
ssh root@$i "/opt/kafka/bin/$script"
done
exit 0

1>/data/kafka/log/kafka.out 2>&1 &表示后台启动,将标准输出和错误输出到kafka.out文件

启动成功后,创建一个测试topic

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic

然后查看topic

kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

可以看到,该topic有一个分片,3个冗余备份,broker1被选举为leader,备份在0,1,2三个节点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值