01、Kafka ------ 下载、安装 ZooKeeper 和 Kafka

目录

  • Kafka是什么?
    • [安装 ZooKeeper](#安装 ZooKeeper)
      • 下载
      • 安装
      • [启动 zookeeper 服务器端](#启动 zookeeper 服务器端)
      • [启动 zookeeper 的命令行客户端工具](#启动 zookeeper 的命令行客户端工具)
    • [安装 Kafka](#安装 Kafka)
      • 下载
      • 安装
      • [启动 Kafka 服务器](#启动 Kafka 服务器)

Kafka是什么?

RabbitMQ的性能比ActiveMQ的性能有显著提升。

Kafka的性能比RabbitMQ的性能又有显著提升。

Kafka自称开源的、分布式事件(消息、记录)流框架。

Kafka官方文档,一会它说事件(Event)、一会又说消息、一会它又说记录(Record)。

RabbitMQ 有官方自带的图形界面,Kafka没有,所以用这个第三方的CMAK。

使用Kafka需要安装的软件及安装顺序:

ZooKeeper → Kafka → CMAK(图形界面管理工具)

安装 ZooKeeper

Kafka目前还依赖于ZooKeeper,因此在安装Kafka之前需要先安装、运行ZooKeeper

下载

zookeeper-3.8.3版本

1、登录ZooKeeper官网站点下载ZooKeeper最新发行版的压缩包,用最新的7-Zip解压下载得到的压缩包。

解压:

安装

2、将conf/zoo_sample.cfg文件复制一份、并重命名为zoo.cfg,放在同级目录下

打开zoo.cfg文件,将如下配置行(修改ZooKeeper的数据存储目录、ZooKeeper会自动创建该目录):

dataDir=/tmp/zookeeper

改为如下形式:(建议改成绝对路径)

dataDir=E:/install/ZooKeeper/workspace/zookeeper-data

(dataDir 是指定zookeeper的数据存储目录,因为zookeeper是要管理分布式应用的多个节点,这些节点的数据就存在这个dataDir 指定的地址目录里面。)

zookeeper-data 这个文件夹会在启动zookeeper服务器的时候自动生成的。

路径问题注意点:

(我这里是已经配置好环境变量再测试的了)
相对路径的情况:

如果改成这种 dataDir=.../zookeeper-data 相对路径的形式,那么在启动zookeeper服务器的时候会报错,

小黑窗输入 zkServer

绝对路径的情况:

成功创建zookeeper用来存放节点数据的文件夹

3、ZooKeeper需要两个环境变量:

复制代码
- JAVA_HOME:ZooKeeper需要Java环境,因此用该环境变量指定JDK的安装路径。
- PATH:将bin目录(包含zkCli、zkEnv、zkServer命令)添加到PATH环境变量中

PATH:

JAVA_HOME:

启动 zookeeper 服务器端

4、执行如下命令即可使用zoo.cfg作为配置文件来启动ZooKeeper服务。

复制代码
小黑窗输入命令: zkServer

默认端口:2181

启动 zookeeper 的命令行客户端工具

5、ZooKeeper服务端启动之后,可使用 zkCli(Linux下使用zkCli.sh命令)来查看节点状态,就是看zookeeper客户端(或者说命令行)是否连接zookeeper服务端成功。

运行如下命令:

复制代码
小黑窗输入命令:zkCli -server 127.0.0.1:2181

再打开一个小黑窗

上面命令指定使用 zkCli 连接运行在 "127.0.0.1:2181" 的 ZooKeeper。

使用 zkCli 连接到 ZooKeeper服务器之后,可通过ls子命令查看ZooKeeper当前的节点。看如下命令及执行结果:

ls / :列出根路径下的所有节点

zookeeper

上面执行结果表明ZooKeeper当前只有一个zookeeper节点。

【备注】:zkCli 就是 ZooKeeper 提供的命令行客户端工具,可用于查看、添加、删除、修改节点等,可通过help子命令来获取该工具的帮助。

安装 Kafka

下载

1、登录官网下载Kafka压缩包,并解压下载得到的压缩包。

Kafka官网

Kafka 是用 Scala 语言写的,Scala 是一个Java虚拟机语言。

源码是用Scala语法写的,但是Scala它所编译生成出来的目标文件是class文件,这个class文件可以直接在Java虚拟机平台运行。

安装

2、Kafka需要两个环境变量:

复制代码
- JAVA_HOME:Kafka需要Java环境,因此通过该环境变量指定JDK的安装路径。

- PATH:对于Linux平台,将Kafka解压路径下bin子目录添加到PATH环境中;
        对于Windows平台,将Kafka解压路径下bin\windows子目录添加到PATH环境中。

JDK 是一直都有的,这里只需要添加path路径

因为后面配置好后,小黑窗启动的时候出现这个问题:所以重新改了路径,先缩短路径长度

后面 反斜杠\ 改成 正斜杠/

3、打开config/server.properties配置文件,修改如下配置行(配置Kafka的数据存储目录):

复制代码
log.dirs=/tmp/kafka-logs

改为如下形式

log.dirs=E:/install/kafka_2.13-3.6.1/kafka-data

------上面指定使用Kafka解压路径下kafka-data作为Kafka的数据存储目录(日志存储目录)

启动 Kafka 服务器

4、启动Kafka服务器。

请注意:启动Kafka服务器之前,先启动ZooKeeper服务器。然后执行如下命令:

复制代码
kafka-server-start E:/install/kafka_2.13-3.6.1/config/server.properties

该命令的参数需要指定启动Kafka所用的配置文件,上面命令运行完成就代表了Kafka的第1个节点启动完成。


自动创建出这个 文件夹。这个文件夹就存放了kafka的日志文件,也就是数据文件。

相关推荐
KmSH8umpK6 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第八篇
数据库·redis·分布式
KmSH8umpK8 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第七篇
数据库·redis·分布式
_F_y13 小时前
仿RabbitMQ实现消息队列-服务端核心模块实现(4)
分布式·rabbitmq
Albert Edison16 小时前
【RabbitMQ】发布确认模式(使用案例)
分布式·rabbitmq·ruby
咸鱼2.017 小时前
【java入门到放弃】Zookeeper
java·zookeeper
EXnf1SbYK18 小时前
Redis分布式锁进阶第十二篇:全系列终极兜底复盘 + 锁架构巡检落地 + 线上零事故收尾方案
redis·分布式·架构
EXnf1SbYK18 小时前
Redis分布式锁进阶第八篇:锁超时乱序深度踩坑 + 看门狗失效真实溯源 + 业务长耗时标准化兜底方案
数据库·redis·分布式
EXnf1SbYK18 小时前
Redis分布式锁进阶第十一篇
数据库·redis·分布式
biyezuopinvip19 小时前
分布式风电场低电压穿越故障建模与仿真
分布式·matlab·毕业设计·毕业论文·分布式风电场·低电压穿越故障·建模与仿真
苍煜19 小时前
SpringBoot单体应用到分布式下的数据库锁、事务、Redis事务、分布式锁、分布式事务协调
数据库·spring boot·分布式