Kafka集群集成ZooKeeper集群实战手册

喜欢ヅ旅行 2022-12-22 04:54 321阅读 0赞

目录

目标

简介

应用场景

搭建集群

准备环境

搭建步骤

启动Kafka集群

关闭Kafka集群


目标

  • 了解Kafka的特性和应用场景;
  • 熟练搭建Kafka&ZooKeeper集群,并能监控集群状态。

简介

Kafka是一个分布式流处理平台。流处理平台有以下三种特性:

  1. 发布和订阅流式的记录,这一方面与消息队列或者企业消息系统类似;
  2. 持久化流式记录,并且有较好的容错性;
  3. 在流式记录产生时就进行处理。

应用场景

  1. 构造实时流数据管道,它可以在系统或应用之间可靠地获取数据,相当于消息队列;
  2. 构建实时流式应用程序,对这些流数据进行转换或者影响 (就是流处理,通过kafka stream topic和topic之间内部进行变化)。

搭建集群

准备环境

  • 三台Linux操作系统的虚拟机,本文以CentOS7为讲解案例;
  • 都具备JDK环境;
  • 拥有ZooKeeper集群环境,不一定要安装在我们这三台虚拟机上,具体安装操作参考这篇博客:ZooKeeper集群搭建详细手册。

搭建步骤

第一步:点击进入官网下载页面,按照如下操作,这里以kafka_2.13-2.6.0.tgz版本为例:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2NTcw_size_16_color_FFFFFF_t_70

第二步:上传服务器,这里以Linux操作系统为例(略);

第三步:解压压缩包,我把它解压在/opt目录下:

  1. tar -zxvf kafka_2.13-2.6.0.tgz

第四步:进入/opt/kafka_2.13-2.6.0/config目录,配置broker的id(id为整数,且同一个集群下唯一。),kafka数据位置;

  1. cd /opt/kafka_2.13-2.6.0/config
  2. vi server.properties
  3. #########################修改server.properties的内容如下:#########################
  4. #我设置broker的id是0。
  5. broker.id=0
  6. #我把数据放在/opt/kafka_2.13-2.6.0/data目录。特别注意:log.dirs表示数据加载的日志目录,不是运行日志目录。
  7. log.dirs=/opt/kafka_2.13-2.6.0/data
  8. #设置advertised.listeners为当前机器的IP。
  9. advertised.listeners=PLAINTEXT://192.168.120.141:9092
  10. #配置ZooKeeper集群的地址和端口,以逗号分开。
  11. zookeeper.connect=192.168.31.100:2181,192.168.31.101:2181,192.168.31.102:2181

第五步:在/opt/kafka_2.13-2.6.0目录下创建/data目录;

  1. cd /opt/kafka_2.13-2.6.0
  2. mkdir /data

第六步:配置环境变量;

  1. vi /etc/profile
  2. #向/etc/profile添加内容如下:
  3. export KAFKA_HOME=/opt/kafka_2.13-2.6.0
  4. export PATH=:$PATH:${KAFKA_HOME}
  5. source /etc/profile

第七步:在另外两台虚拟机上重复上述操作,注意:第四步需要配置不同的broker.id,advertised.listeners设置成本机的IP。


启动Kafka集群

第一步:启动ZooKeeper集群,同样参考这篇博客:ZooKeeper集群搭建详细手册;

第二步:在每台服务器上,进入/opt/kafka_2.13-2.6.0/bin目录,启动Kafka;

  1. cd /opt/kafka_2.13-2.6.0/bin
  2. ./kafka-server-start.sh -daemon ../config/server.properties

第三步:通过ZooKeeper来验证Kafka集群是否启动成功;

  1. #进入我的ZooKeeper集群中的其中一个ZooKeeper
  2. cd /opt/apache-zookeeper-3.6.2-bin/bin
  3. #启动客户端
  4. ./zkCli.sh -server 127.0.0.1:2181
  5. #查看有哪些Kafka已经启动了,这里查看的是Kafka的broker.id。
  6. ls /brokers/ids
  7. #查看单个Kafka的状态,我这里查看broker.id=0的那个Kafka的状态。
  8. get /brokers/ids/0

关闭Kafka集群

第一步:在每台服务器上,进入/opt/kafka_2.13-2.6.0/bin目录,关闭Kafka;

  1. cd /opt/kafka_2.13-2.6.0/bin
  2. ./kafka-server-stop.sh -daemon ../config/server.properties

第二步:通过ZooKeeper来验证Kafka集群是否关闭成功。Kafka关闭可能会慢一点,可以等待一会儿再查看状态(略)。

发表评论

表情:
评论列表 (有 0 条评论,321人围观)

还没有评论,来说两句吧...

相关阅读