Kafka消息队列环境搭建

本文详细介绍了Zookeeper的单机和集群安装部署步骤,包括配置文件修改、服务启动与验证。接着,文章转向Kafka的安装,强调需先确保Zookeeper运行,并提供了Kafka单机和集群部署的详细过程。
摘要由CSDN通过智能技术生成

(一)zookeeper安装部署

由于Kafka需要依赖于Zookeeper,所以在这我们需要先把Zookeeper安装部署起来。

1. zookeeper单机安装

zookeeper需要依赖于jdk,只要保证jdk已经正常安装即可。

  1. 下载zookeeper的安装包
    进入Zookeeper的官网
    最终下载链接如下:
    https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz

  2. 把安装包上传到bigdata01机器的/data/soft目录下,解压

  3. 修改配置文件
    首先将 zoo_sample.cfg 重命名为 zoo.cfg
    然后修改 zoo.cfg 中的 dataDir 参数的值, dataDir 指向的目录存储的是zookeeper的核心数据,所以这个目录不能使用tmp目录

dataDir=/data/soft/apache-zookeeper-3.5.8-bin/data
  1. 启动zookeeper服务
bin/zkServer.sh start
  1. 如果能看到QuorumPeerMain进程就说明zookeeper启动成功

注意:如果执行jps命令发现没有QuorumPeerMain进程,则需要到logs目录下去查看zookeeper-*.out这个日志文件。
也可以通过 zkServer.sh 脚本查看当前机器中zookeeper服务的状态
注意:使用zkServer.sh默认会连接本机2181端口的zookeeper服务,默认情况下zookeeper会监听2181端口,这个需要注意一下,因为后面我们在使用zookeeper的时候需要知道它监听的端口是哪个。

bin/zkServer.sh status
  1. 操作zookeeper
    首先使用zookeeper的客户端工具连接到zookeeper里面,使用bin目录下面的 zlCli.sh 脚本,默认会连接本机的zookeeper服务。
bin/zkCli.sh

这样就进入zookeeper的命令行了。
在这里面可以操作Zookeeper中的目录结构
zookeeper中的目录结构和Linux文件系统的目录结构类似
zookeeper里面的每一个目录我们称之为节点(ZNode)
正常情况下我们可以把ZNode认为和文件系统中的目录类似,但是有一点需要注意:ZNode节点本身是可以存储数据的。

  1. zookeeper的使用命令
  • 查看根节点下面有什么内容:ls /
  • 创建节点,在test节点上存储数据hello: create /test hello
  • 查看节点中的信息:get /test
  • 删除节点: deleteall /test
  1. 停止zookeeper服务
bin/zkServer.sh stop

2. zookeeper集群安装

  1. 集群节点规划,使用三个节点搭建一个zookeeper集群

bigdata01
bigdata02
bigdata03

  1. 首先在bigdata01节点上配置zookeeper
v zoo_sample.cfg zoo.cfg
dataDir=/data/soft/apache-zookeeper-3.5.8-bin/data
server.0=bigdata01:2888:3888
server.1=bigdata02:2888:3888
server.2=bigdata03:2888:3888

创建目录保存 myid 文件,并且向 myid 文件中写入内容
myid 中的值其实是和 zoo.cfg 中 server 后面指定的编号是一一对应的
编号 0 对应的是 bigdata01 这台机器,所以在这里指定 0。

  1. 把修改好配置的zookeeper拷贝到其它两个节点
scp -rq apache-zookeeper-3.5.8-bin bigdata02:/data/soft
scp -rq apache-zookeeper-3.5.8-bin bigdata03:/data/soft
  1. 修改bigdata02和bigdata03上zookeeper中myid文件的内容
    首先修改bigdata02节点上的myid文件

  2. 启动zookeeper集群
    分别在 bigdata01、bigdata02、bigdata03 上启动zookeeper进程
    在bigdata01上启动:bin/zkServer.sh start

  3. 验证
    分别在bigdata01、bigdata02、bigdata03上执行jps命令验证是否有 QuorumPeerMain 进程
    如果都有就说明zookeeper集群启动正常了
    执行 bin/zkServer.sh status 命令会发现有一个节点显示为 leader ,其他两个节点为 follower

  4. 停止zookeeper集群
    在bigdata01、bigdata02、bigdata03三台机器上分别执行bin/zkServer.sh stop命令

(二)kafka安装部署

注意:在安装kafka之前需要先确保zookeeper集群是启动状态。

1. kafka单机安装

  1. 下载链接如下:
    https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.1/kafka_2.12-2.4.1.tgz
  • 注意:kafka在启动的时候不需要安装scala环境,只有在编译源码的时候才需要,因为运行的时候
    是在jvm虚拟机上运行的,只需要有jdk环境就可以了
  1. 修改配置文件:vi config/server.properties
broker.id:集群节点id编号,单机模式不用修改
listeners:默认监听9092端口
log.dirs:注意:这个目录不是存储日志的,是存储Kafka中核心数据的目录,这个目录默认是指
zookeeper.connect:kafka依赖的zookeeper
  1. 启动kafka
 bin/kafka-server-start.sh  -daemon config/server.properties 
  1. 验证:jps
    启动成功之后会产生一个kafka进程

  2. 停止kafka

bin/kafka-server-stop.sh 

2. kafka集群安装

  1. 集群节点规划,使用三个节点搭建一个kafka集群
    bigdata01
    bigdata02
    bigdata03
    注意:针对Kafka集群而言,没有主从之分,所有节点都是一样的。

  2. 首先在bigdata01节点上配置kafka
    修改配置文件
    注意:此时针对集群模式需要修改 broker.id 、 log.dirs 、以及 zookeeper.connect。
    broker.id 的值默认是从0开始的,集群中所有节点的 broker.id 从0开始递增即可。
    log.dirs 的值建议指定到一块存储空间比较大的磁盘上面,因为在实际工作中kafka中会存储很多数据,
    我这个虚拟机里面就一块磁盘,所以就指定到/data目录下面了
    zookeeper.connect 的值是zookeeper集群的地址,可以指定集群中的一个节点或者多个节点地址,多个节点地址之间使用逗号隔开即可

  3. 将修改好配置的kafka安装包拷贝到其它两个节点

scp -rq kafka_2.12-2.4.1 bigdata02:/data/soft/
scp -rq kafka_2.12-2.4.1 bigdata03:/data/soft/
  1. 修改bigdata02和bigdata03上kafka中broker.id的值
    首先修改bigdata02节点上的broker.id的值为1

  2. 启动集群
    分别在bigdata01、bigdata02、bigdata03上启动kafka进程
    在bigdata01上启动

 bin/kafka-server-start.sh  -daemon config/server.properties 
  1. 验证
    分别在bigdata01、bigdata02、bigdata03上执行jps命令验证是否有kafka进程
    如果都有就说明kafka集群启动正常了
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值