当前位置:   article > 正文

Linux部署zookeeper集群、kafka集群_部署kafka 集群并zk管理

部署kafka 集群并zk管理

kafka下载地址:Apache Kafka

本机环境:Centos7

本文选用:kafka_2.12-2.0.0.tgz

 

由于kafka集群需要zookeeper集群作为前提,故需首先搭建zookeeper集群。

一、部署zookeeper集群

1.初始化:

JDK安装,可参考:
linux-安装oracleJDK替换默认openJDK_Java菜鸟小白~的博客-CSDN博客

2.hosts配置

本文节点:192.168.160.128,192.168.160.129,192.168.160.130

已保证IP间互通,内外网物理机均互通

具体可参考

linux安装虚拟机_Java菜鸟小白~的博客-CSDN博客

linux搭建虚拟机与本机物理机互联_Java菜鸟小白~的博客-CSDN博客

编辑hosts文件,提供域名映射:

vim /etc/hosts

插入以下内容:

  1. 192.168.160.128 node1
  2. 192.168.160.129 node2
  3. 192.168.160.130 node3

本文以node1为master节点,node2,node3位slave节点。以上内容三个虚拟机均需进行配置。

3.下载

本文使用zookeeper版本为:apache-zookeeper-3.6.4-bin.tar.gz

下载地址为:Apache ZooKeeper

 4.解压缩:以128环境为例

tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz

 创建data和log文件夹

  1. cd /usr/local/kafka/zookeeper/apache-zookeeper-3.6.4-bin
  2. mkdir data && mkdir log

 创建myid文件,输入1保存

cd data

 129,130myid文件夹内容分别为2、3!!!

5.编辑zookeeper配置文件

cd /usr/local/kafka/zookeeper/apache-zookeeper-3.6.4-bin/conf

 重命名zookeeper配置文件名称

mv zoo_sample.cfg zoo.cfg

编辑zoo.cfg文件:

vim zoo.cfg

 注释原有内容,新增以下内容

  1. #dataDir=/tmp/zookeeper
  2. dataDir=/usr/local/kafka/zookeeper/apache-zookeeper-3.6.4-bin/data
  3. dataLogDir=/usr/local/kafka/zookeeper/apache-zookeeper-3.6.4-bin/log
  4. server.1=192.168.160.128:2888:3888
  5. server.2=192.168.160.129:2888:3888
  6. server.3=192.168.160.130:2888:3888

具体文件位置: 

 6.配置环境变量

vim /etc/profile

新增以下内容:

  1. export ZOOKEEPER_HOME=/usr/local/kafka/zookeeper/apache-zookeeper-3.6.4-bin
  2. export PATH=$PATH:$ZOOKEEPER_HOME/bin

配置文件生效:

source /etc/profile

129,130重复上述操作,注意data目录下myid的对应关系!!!

7.启动

此命令需三节点都执行

  1. cd /usr/local/kafka/zookeeper/apache-zookeeper-3.6.4-bin
  2. ./bin/zkServer.sh start

查看状态

./bin/zkServer.sh status

 启动成功:

可见128,130为slave,129为master

 

 

 至此,zookeeper集群已搭建完毕。

二、部署kafka集群

1.下载

官方下载:

https://kafka.apache.org/downloads

wget下载:

wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz

2.解压缩:以128为例

tar -xzvf kafka_2.12-2.0.0.tgz

3.修改配置文件

cd /usr/local/kafka/kafka_2.12-2.0.0

 创建日志文件夹:

mkdir log

编辑配置文件:

  1. cd /usr/local/kafka/kafka_2.12-2.0.0/config
  2. vim server.properties

编辑内容:

128节点:

  1. broker.id=1
  2. listeners=PLAINTEXT://:9092
  3. advertised.listeners=PLAINTEXT://192.168.160.128:9092
  4. log.dirs=/usr/local/kafka/kafka_2.12-2.0.0/log
  5. # topic 在当前broker上的分片个数,与broker保持一致
  6. num.partitions=3
  7. # 设置zookeeper集群地址与端口如下:
  8. zookeeper.connect=192.168.160.128:2181,192.168.160.129:2181,192.168.160.130:2181

129节点

  1. broker.id=2
  2. listeners=PLAINTEXT://:9092
  3. advertised.listeners=PLAINTEXT://192.168.160.129:9092
  4. log.dirs=/usr/local/kafka/kafka_2.12-2.0.0/log
  5. # topic 在当前broker上的分片个数,与broker保持一致
  6. num.partitions=3
  7. # 设置zookeeper集群地址与端口如下:
  8. zookeeper.connect=192.168.160.128:2181,192.168.160.129:2181,192.168.160.130:2181

130节点:

  1. broker.id=3
  2. listeners=PLAINTEXT://:9092
  3. advertised.listeners=PLAINTEXT://192.168.160.130:9092
  4. log.dirs=/usr/local/kafka/kafka_2.12-2.0.0/log
  5. # topic 在当前broker上的分片个数,与broker保持一致
  6. num.partitions=3
  7. # 设置zookeeper集群地址与端口如下:
  8. zookeeper.connect=192.168.160.128:2181,192.168.160.129:2181,192.168.160.130:2181

4.启动

  1. 启动kafka
  2. bin/kafka-server-start.sh config/server.properties
  3. 以守护线程启动kafka
  4. bin/kafka-server-start.sh -daemon config/server.properties

5.关闭

bin/kafka-server-stop.sh

6.验证

128节点

129节点:

 130节点:

 

7.创建topic验证:

128创建topic

  1. bin/kafka-topics.sh --create --zookeeper 192.168.160.128:2181,192.168.160.129:2181,192.168.160.130:2181 --replication-factor 1 --partitions 1 --topic test
  2. --replication-factor:指定副本个数
  3. --partitions:指定分区个数
  4. --topic:指定topic名

 查看topic列表

bin/kafka-topics.sh --zookeeper 192.168.160.128:2181,192.168.160.129:2181,192.168.160.130:2181 --list

128节点

 

 129节点

 130节点

 

8.创建group

  1. 创建消费者组
  2. bin/kafka-console-consumer.sh --bootstrap-server 192.168.160.128:9092 --topic test --group consumer-test
  3. 查看消费者组
  4. bin/kafka-consumer-groups.sh --bootstrap-server 192.168.160.128:9092 --list
  5. 消费数据
  6. bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.128:9092 --topic test --from-beginning

通过改变ip可在不在的节点上看到相同的group组

9.消费

128生产数据

bin/kafka-console-producer.sh --broker-list 192.168.160.128:9092 --topic test

 129,130消费数据

 

 至此已全部搭建完成

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/976055
推荐阅读
相关标签
  

闽ICP备14008679号