Kafka部署实验

一、实验介绍

1.1实验内容

实验在Hadoop集群上部署Kafka分布式发布订阅消息系统,并完成kafka消息管理验证。

1.2实验知识点

Kafka集群部署
Kafka消息处理流程

1.3实验环境

Kafka2.11
网易云平台

1.4实验资源

资源名称 存储目录
Kafka安装包 /opt/software/package/

Kafka部署实验_第1张图片

1.5实验步骤清单

kafka安装部署(安装kafka、配置kafka集群环境)
kafka消息管理(master主机创建topic、查看topic、创建生产者、创建消费者)

二、实训架构

序号 IP地址 机器名 类型
1 172.25.10.140 master Producer
2 172.25.10.141 slave1 Consumer
3 172.25.10.142 slave2 Consumer
4 172.25.10.143 slave2 Consumer

三、实验环境准备

进入实验列表,找到Kafka,点击开启实验,启动master、slave1及salve2,slave3。

四、实验步骤

4.1安装部署

4.1.1配置hosts文件及zookeeper的myid

#hosts文件末尾加入如下内容(masterip、slave1ip及slave2ip是这三台机器的ip地址
Kafka部署实验_第2张图片

#slave1修改为2
[root@slave1 ~]# echo 2 >/usr/local/zookeeper/data/myid
#slave2修改为3
[root@slave2 ~]# echo 3 > /usr/local/zookeeper/data/myid
#slave2修改为4
[root@slave3 ~]# echo 4 > /usr/local/zookeeper/data/myid

#让三台机器profile环境变量生效
source /etc/profile

4.1.2安装Kafka

#解压安装Kafka
tar zxvf /opt/software/package/kafka_2.11-2.1.1.tgz -C /usr/local/

#重命名kafka
mv /usr/local/kafka_2.11-2.1.1/ /usr/local/kafka

#配置master kafka
vim /usr/local/kafka/config/server.properties
找到下面两行代码并分别注释
#broker.id=0
#zookeeper.connect=localhost:2181
在这里插入图片描述
在这里插入图片描述

在文件底部添加如下三个配置

broker.id=1
zookeeper.connect=master:2181,slave1:2181,slave2:2181,slave3:2181
listeners = PLAINTEXT://master:9092

Kafka部署实验_第3张图片

配置说明
broker.id:每台机器不能一样
zookeeper.connect:因为实验环境中有3台zookeeper服务器,所以在这里zookeeper.connect设置为3台,必须全部加进去
listeners:Socket服务器侦听的地址,在配置集群的时候必须设置。

4.1.3配置kafka集群环境

1、拷贝kafka到另外三台服务器
scp -r /usr/local/kafka root@slave1:/usr/local/
scp -r /usr/local/kafka root@slave2:/usr/local/
scp -r /usr/local/kafka root@slave3:/usr/local/

2、修改这三台服务器的broker.id和listeners
#修改slave1
vim /usr/local/kafka/config/server.properties

broker.id=2
zookeeper.connect=master:2181,slave1:2181,slave2:2181,slave3:2181
listeners = PLAINTEXT://slave1:9092

Kafka部署实验_第4张图片

#修改slave2
vim /usr/local/kafka/config/server.properties

broker.id=3
zookeeper.connect=master:2181,slave1:2181,slave2:2181,slave3:2181
listeners = PLAINTEXT://slave2:9092

在这里插入图片描述

#修改slave3
vim /usr/local/kafka/config/server.properties

broker.id=4
zookeeper.connect=master:2181,slave1:2181,slave2:2181,slave3:2181
listeners = PLAINTEXT://slave3:9092

Kafka部署实验_第5张图片

3、启动zookeeper
#启动四台虚拟主机的zookeeper
zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED

4、启动kafka
#启动四台虚拟主机的kafka
启动之前先且到bin目录下,用如下命令:cd /usr/local/kafka/bin
./kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

5、jps命令检查是否启动成功
#Master主机检查
Kafka部署实验_第6张图片

#Slave1主机检查
Kafka部署实验_第7张图片

#Slave2主机检查
Kafka部署实验_第8张图片

#Slave3主机检查
Kafka部署实验_第9张图片

4.2 Kafka消息管理

4.2.1 master主机创建topic

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic test
如果成功的话,会输出:Created topic “test”.
Kafka部署实验_第10张图片

4.2.2查看topic

#在master主机查看
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper master:2181
在这里插入图片描述

#在Slave1主机查看
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper master:2181
Kafka部署实验_第11张图片

4.2.3创建生产者

#在master创建发布者
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list master:9092 --topic test
#生产消息

test hello
test world

Kafka部署实验_第12张图片

4.2.4创建消费者

#在slave2上创建消费者
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic test --from-beginning
Kafka部署实验_第13张图片

五、实验总结

Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。Kafka的使用依赖于zookeeper,安装Kafka前必须先安装zookeeper。Kafka集群包含一个或多个服务器,这种服务器被称为broker,Producer负责发布消息到Kafka broker,Consumer消息消费者,从Kafka broker读取消息的客户端。

你可能感兴趣的:(实训,kafka,分布式,大数据)