基于Zookeeper的Kafka分布式安装部署测试

21 篇文章 1 订阅
1 篇文章 0 订阅

1. 实验环境说明

关于使用的大数据集群:
Hadoop+Spark+Zookeeper高可用集群搭建(一)
Hadoop+Spark+Zookeeper高可用集群搭建(二)
Hadoop+Spark+Zookeeper高可用集群搭建(三)
Hadoop+Spark+Zookeeper高可用集群搭建(四)
Hadoop+Spark+Zookeeper高可用集群搭建(五)

安装Kafka需要安装JDK和Zookeeper
其中,ZooKeeper是安装Kafka集群的必要组件,Kafka通过ZooKeeper来进行对元数据信息的管理,包括集群、broker、主题、分区等内容。
分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅、负载均衡、命名服务分布式协调/通知、集群管理、Master选举、配置维护等功能。

2. 下载安装

下载地址:kafka官网
在这里插入图片描述
上传到slave001、slave002、slave003节点中

3. 配置部署

3.1 配置server.properties文件

cd /home/hadoop/software/kafka_2.11-2.4.1/config
vi server.properties
# broker的编号,集群中每个broker必须唯一
broker.id=1
# broker对外提供的服务入口地址
listeners=PLAINTEXT://192.168.5.142:9092
# 存放消息的日志文件的地址
log.dirs=/home/hadoop/software/kafka_2.11-2.4.1/tmp/kafka-logs
# Kafka所需的ZooKeeper集群地址
zookeeper.connect=slave001:2181,slave002:2181,slave003:2181

3.2 创建日志存储目录

mkdir -p /home/hadoop/software/kafka_2.11-2.4.1/tmp/kafka-logs

3.3 将文件发送至集群其他节点

scp -r kafka_2.11-2.4.1 hadoop@slave002:~/software/
scp -r kafka_2.11-2.4.1 hadoop@slave003:~/software/

3.3 修改集群中其余节点的配置

修改内容如下:

# slave002
broker.id=2
listeners=PLAINTEXT://192.168.5.143:9092

# slave003
broker.id=3
listeners=PLAINTEXT://192.168.5.144:9092

3.4 三个节点配置环境变量

sudo vi /etc/profile
#Kafka
export KAFKA_HOME=/home/hadoop/software/kafka_2.11-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile

4. 启动测试

4.1 启动ZooKeeper

三个节点上启动:

./zkServer.sh start
./zkServer.sh status

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 启动Kafka

三个节点启动:

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

4.3 测试

创建主题:
在slave001上创建主题topic-demo:

kafka-topics.sh --zookeeper slave001:2181,slave002:2181,slave003:2181 --create --topic topic-demo --replication-factor 3 --partitions 4

在这里插入图片描述

查看主题列表:

kafka-topics.sh --zookeeper slave001:2181,slave002:2181,slave003:2181 --list

在这里插入图片描述
展示主题更多的具体信息:

kafka-topics.sh --zookeeper slave001:2181,slave002:2181,slave003:2181 --describe --topic topic-demo

在这里插入图片描述
订阅主题:
三个集群节点上执行:

kafka-console-consumer.sh --bootstrap-server slave001:9092,slave002:9092,slave003:9092 --topic topic-demo

发送消息:
复制一个会话,或者重新打开一个shell终端

kafka-console-producer.sh --broker-list slave001:9092,slave002:9092,slave003:9092 --topic topic-demo

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三个订阅者均收到消息

4.4 参数说明

参数说明
- -zookeeper指定了Kafka所连接的ZooKeeper服务地址
- -topic指定了所要创建主题的明程
- -replication-factor指定了副本因子
- -partitions指定了分区个数
- -create创建主题的动作指令
- -describe展示主题的更多具体信息
- -bootstrap-server指定了连接的Kafka集群地址
- -broker-list指定了连接的Kafka集群地址

5. 单节点启动多broker代理

如果没有分布式集群,也可以通过同一机器启动多个broker代理
具体部署请看:官方文档-quickstart
只需要修改server.properties文件:

cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
config/server-1.properties:
    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dirs=/tmp/kafka-logs-1
 
config/server-2.properties:
    broker.id=2
    listeners=PLAINTEXT://:9094
    log.dirs=/tmp/kafka-logs-2
> bin/kafka-server-start.sh config/server-1.properties &
...
> bin/kafka-server-start.sh config/server-2.properties &
...
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值