SparkStreaming Kafka 集群环境搭建及测试

搭建该环境需要安装zookeeper和Kafka。

安装、配置zookeeper的集群环境

zookeeper我们安装,需要对环境进行一定配置。

下载、安装及配置环境变量

安装zookeeper,我们需要将下载的zookeeper安装包解压到我们想要安装的地方。

下载网站:
https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/
在这里插入图片描述

命令为:

tar -zxvf apache-zookeeper-3.7.0.tar.gz 

解压后,我们需要添加环境变量

首先,我们需要打开配置文件:

vi /etc/profile

在里面添加:

# 需要注意的是添加的目录路径为你自己的安装目录
export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin

然后使用source命令使配置快速生效

source /etc/profile

集群里的每一台机器都需要这样配置。

修改配置文件。

我们的zookeeper并不是安装好了就完事了,我们还需要对zookeeper的配置文件进行修改,这样才能为我们所用。

配置zoo.cfg

我们打开zookeeper下conf文件下的zoo.cfg文件。

我们需要添加几个配置,并给zookeeper创建数据文件夹和日志文件夹。

首先,我们设置zookeeper的端口为2181。然后配置集群内三台服务器的端口号。

这是配置的具体格式
server.A=B:C:D
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的主机名(hostname)或IP;
C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举

clientPort=2181
server.1=centos01:2888:3888
server.2=centos02:2888:3888
server.3=centos03:2888:3888

然后给zookeeper创建数据文件夹和日志文件夹的配置。也是在zoo.cfg下面添加。

dataDir=/opt/modules/zookeeper-3.4.10/data
dataLogDir=/opt/modules/zookeeper-3.4.10/log

我们需要在zookeeper下创建data和log文件夹。

mkdir /opt/modules/zookeeper-3.4.10/data
mkdir /opt/modules/zookeeper-3.4.10/log

然后我们将上述的配置在其他服务器上也进行相关配置。

配置myid

我们需要在zookeeper下面的data文件夹下创建myid文件
然后在第一台服务器里面写1,在第二台服务器里面写2,在第三台服务器里面写3。

这样,我们的zookeeper就配置完毕了

测试zookeeper

启动zookeeper

# 在三台服务器的终端输入下面的命令启动zookeeper。
zkServer.sh start

查看启动状态

# 通过这条命令,我们就可以得知当前服务器的zookeeper运行的情况
zkServer.sh status

一定要在三台服务器都开启服务后再使用status命令,否则会报错。
在这里插入图片描述
正确的打开姿势!
在这里插入图片描述

没有报错的话,恭喜你,zookeeper就安装成功了!

Kafka的安装与配置

下载与安装及配置环境变量

http://kafka.apache.org/downloads.html

在这里插入图片描述
下载到服务器后,我们使用解压命令解压

tar -zxvf kafka_2.10-0.9.0.1.tgz

然后我们需要配置Kafka的环境变量

vi /etc/profile

在里面添加:

# 需要注意的是添加的目录路径为你自己的安装目录
export KAFKA_HOME=/opt/modules/kafka/
PATH=$KAFKA_HOME/bin:$PATH

然后使用source命令使配置快速生效

source /etc/profile

集群里的每一台机器都需要这样配置。

修改配置文件

我们需要打开Kafka下config文件夹下的server.properties文件

# 需要注意的是第一台服务的id为0,第二台为1,第三台为2.
broker.id=0
port=9092
# 这里是主机名或IP:端口号,不要写错了主机名或者IP
zookeeper.connect=centos01:2181,centos02:2181,centos03:2181

测试Kafka

我们需要分别在三台虚拟机上执行

# 这是在kafka的bin目录里面执行的。
# 如果报错没有命令的话,可以在命令前添加./或者查看环境变量是否配置正确。
kafka-server-start.sh ../config/server.properties

服务器出现这样的页面就表示开启成功。
在这里插入图片描述注意,三台服务器打开的这个终端是不能关闭的,每个服务器需要新建一个终端,才能开始测试。

例如我这里是新打开了一个终端进行测试。
在这里插入图片描述

创建topic

# 需要注意的是主机名不要写错,写你自己的
kafka-topics.sh --create --zookeeper centos01:2181,centos02:2181,centos03:2181 --replication-factor 3 --partitions 1 --topic HelloKafkaTest

如果报错为:
Replication factor: 3 larger than available brokers: 2.
可能你的一个kafka进程被关掉了一个 需要重新启动

我们可以看到已经创建成功了。
在这里插入图片描述

向topic发送数据

然后我们对这条topic发送数据

# 该命令会开启一个输入端,我们可以输入数据进行发送。
kafka-console-producer.sh --broker-list centos01:9092,centos02:9092,centos03:9092 --topic HelloKafkaTest

我们这里输入了一个hello kafka
在这里插入图片描述

接收topic的数据

# 使用这条命令会接收该topic的数据
# 并且在另一端发送的时候,这里也会显示发送的数据
kafka-console-consumer.sh --bootstrap-server centos02:9092 --from-beginning --topic HelloKafkaTest

我们可以看到之前发送的hello kafka
在这里插入图片描述
然后,我们使用之前的发送端再次发送一次数据。
在这里插入图片描述
我们可以看到接收端也同步了数据。
在这里插入图片描述

查看所有topic

kafka-topics.sh --list --zookeeper centos01:2181,centos02:2181,centos03:2181

在这里插入图片描述

查看指定topic的status

kafka-topics.sh --describe --zookeeper centos01:2181,centos02:2181,centos03:2181 --topic HelloKafka

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值