Centos7 安装Kafka_2.8.0集群-使用自带zk集群

转载:kafka集群搭建(自带Zookeeper)

kafka简介

kafka官网:http://kafka.apache.org/
kafka下载页面:http://kafka.apache.org/downloads
kafka配置快速入门:http://kafka.apache.org/quickstart
新版本的kafka自带有zookeeper,本篇文章记录使用自带zookeeper搭建kafka集群。

环境准备

kafka版本:kafka_2.12-1.0.0
三台主机IP 10.211.55.29、10.211.55.30、10.211.55.31

配置工作

1、修改hosts
由于zookeeper是通过主机名通信的,我们需要需改hosts.
编辑vim /etc/hosts
1)保留前2行,其余的127.0.0.1注释掉

127.0.0.1 localhost
::1 localhost

2)添加三台机器的host绑定。
如:

10.211.55.29 kandy1
10.211.55.30 kandy2
10.211.55.31 kandy3 

3)修改hostname:
编辑vim /etc/sysconfig/network
修改hostname为上述绑定中对应的名称
如:
HOSTNAME=kandy1
三台机器都需要操作,重启后生效reboot
2、kafka安装配置
下载后解压kafka

wget http://mirrors.shu.edu.cn/apache/kafka/1.0.0/kafka_2.12-1.0.0.tgz
tar xzvf kafka_2.11-0.9.0.0.tgz  #解压

自定义目录
首先新建kafka的日志目录和zookeeper数据目录,因为这两项默认放在tmp目录,而tmp目录中内容会随重启而丢失,所以我们自定义两个目录:
新增/var/kafka-logs和/data/zk目录(看个人心情修改)

修改 server.properties
进入kafka的config目录
vim server.properties
修改内容如下:

1、broker.id=1       #保证每个broker唯一,第一台可以不修改默认为0,后面两台需要修改,如改为23
2、num.partitions=3      #分区数量一般与broker保持一致
3、listeners=PLAINTEXT://10.211.55.29:9092     #修改为本机ip
4、zookeeper.connect=10.211.55.29:2181,10.211.55.30:2181,10.211.55.31:2181      #配置三台服务zookeeper连接地址
5、host.name=10.211.55.29      #新增host.name值,分别设为不同的值(3台机器根据自己的ip设置)
6、log.dirs=/var/kafka-logs/       #修改log.dirs目录为之前自定义的目录

修改 zookeeper.properties
vim zookeeper.properties
修改内容如下:

dataDir=/data/zk  #修改为自定义的目录
#maxClientCnxns=0  #注释掉
#设置连接参数,添加如下配置
tickTime=2000
initLimit=10
syncLimit=5
#设置broker Id的服务地址
server.0=10.211.55.29:2888:3888
server.1=10.211.55.30:2888:3888
server.2=10.211.55.31:2888:3888

zookeeper数据目录添加id配置
在各台服务的zookeeper数据目录添加myid文件,写入服务broker.id属性值,如这里的目录是/data/zk
第一台broker.id为1的服务到该目录下执行:

echo 1 > myid

其他两台机器分别新增.
3、启动kafka
kafka启动时先启动zookeeper,再启动kafka;关闭时相反,先关闭kafka,再关闭zookeeper
启动zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties &

启动kafka:

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

创建启动脚本(可选)
进入bin目录
新增文件
vim start_zk.sh
内容如下:

#!/bin/bash
dir=`pwd`
echo $dir
start() {
cd $dir
nohup ./zookeeper-server-start.sh ../config/zookeeper.properties &
echo -e '\r'
} 
start >> $dir/../logs/start_zk.log 2>> $dir/../logs/start_zk.log 

保存赋权
chmod +x start_zk.sh
新增文件
vim start_kfk.sh
内容:

[root@ycb-dev6 bin]# vim start_kfk.sh 
#!/bin/bash
dir=`pwd`
echo $dir
start() {
cd $dir
nohup ./kafka-server-start.sh ../config/server.properties &
echo -e '\r'
} 
start >> $dir/../logs/start_kfk.log 2>> $dir/../logs/start_kfk.log 

保存赋权
chmod +x start_kfk.sh
在kafka的bin同级目录下新建logs文件夹
上述操作完成后即配置完毕。

kafka测试:

分别启动三台机器的zookeeper:
bin目录下执行
./start_zk.sh
三台机器的zookeeper都启动后,再做下面的操作:
分别启动三台机器的kafka
bin目录下执行
./start_kfk.sh
在某台机器创建topic kandy:

bin/kafka-topics.sh -create --zookeeper 10.211.55.29:2181,10.211.55.30:2181,10.211.55.31:2181 -replication-factor 3 --partitions 3 --topic kandy

展示topic,确认topic创建成功

bin/kafka-topics.sh --list --zookeeper 10.211.55.29:2181

创建生产者

bin/kafka-console-producer.sh --broker-list 10.211.55.29:9092,10.211.55.30:9092,10.211.55.31:9092 --topic kandy

在另外两台机器创建消费者

bin/kafka-console-consumer.sh --zookeeper 10.211.55.29:2181,10.211.55.30:2181,10.211.55.31:2181 --topic kandy --from-beginning  

生产者机器截图

在这里插入图片描述

消费者机器截图

在这里插入图片描述

如上,在生产者中输入字符并回车,消费者中可接收到消息即配置成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值