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

目录

  • Kafka是什么?
    • 安装 ZooKeeper
      • 下载
      • 安装
      • 启动 zookeeper 服务器端
      • 启动 zookeeper 的命令行客户端工具
    • 安装 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虚拟机平台运行。

在这里插入图片描述

这个kafka_2.13-3.6.1中,2.13是 Scala 的版本,3.6.1 是Kafka 的版本。

安装

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的日志文件,也就是数据文件。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/231569.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【React系列】react-router

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 认识react-router 1.2. 前端路由原理 前端路由是如何做到URL和内容进行映射呢?监听URL的改变。 UR…

【MySQL】orderby/groupby出现Using filesort根因分析及优化

序 在日常的数据库运维中,我们可能会遇到一些看似难以理解的现象。比如两个SQL查询语句,仅仅在ORDER BY子句上略有不同,却造成了性能的天壤之别——一个飞速完成,一个则让数据库崩溃。今天就让我们围绕这个问题,深入剖…

prometheus grafana linux服务器监控

文章目录 前传node-exporter安装配置promethues监控node节点grafana操作查看监控:外传 前传 prometheus grafana的安装使用:https://nanxiang.blog.csdn.net/article/details/135384541 本文说下监控nginx,prometheus grafana linux 安装配…

(NeRF学习)NeRF复现 win11

目录 一、获取源码二、环境三、准备数据集1.下载数据集方法一:官方命令方法二:官网下载数据集 2.修改配置 四、开始训练1.更改迭代次数2.开始训练方法一:方法二: 3.使用预训练模型 五、NeRF源码学习 一、获取源码 git clone http…

初识MySQL

一、什么是数据库 数据库(Database,简称DB):长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。 数据库的作用: 可以结构化存储大量的数据,方便检索和访问…

kubeadm开快速的搭建一个k8s集群

kubeadm开快速的搭建一个k8s集群 二进制适合大集群,50台以上主机 kubeadm更适合中小企业的业务集群。 master节点 20.0.0.92 docker kubelet kubeadm kubectl flannel node1 20.0.0. 94 docker kubelet kubeadm kubectl flanne node2 20.0.0.03 docker kubelet…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要用于框架…

HTTPS协议详解

目录 前言 一、HTTPS协议 1、加密是什么 2、为什么要加密 二、常见加密方式 1、对称加密 2、非对称加密 三、数据摘要与数据指纹 1、数据摘要 2、数据指纹 四、HTTPS加密策略探究 1、只使用对称加密 2、只使用非对称加密 3、双方都使用非对称加密 4、对称加密非…

开发个小破软件——网址导航,解压就能用

网址导航 网站导航也称链接目录,将网站地址或系统地址分类,以列表、图文等形式呈现,帮助快速找到需要的地址。 应用场景 高效查找:网址导航是很好的入口,通过分类清晰的网站推荐,可以迅速访问网站资源。…

SVN下载安装(服务器与客户端)

1.下载 服务器下载:Download | VisualSVN Server 客户端下载:自行查找 2. 服务器安装 双击执行 运行 下一步 同意下一步 下一步 选中安装目录 3. 客户端安装 双击执行 下一步 4. 服务器创建仓库 5. 服务器创建用户 6. 客户端获取资源 文件夹右键

微服务全链路灰度方案介绍

目录 一、单体架构下的服务发布 1.1 蓝绿发布 二、微服务架构下的服务发布 三、微服务场景下服务发布的问题 四、全链路灰度解决方案 4.1 物理环境隔离 4.2 逻辑环境隔离 4.3 全链路灰度方案实现技术 4.3.1 标签路由 4.3.2 节点打标 4.3.3 流量染色 4.3.4 分布式链路…

MyBatis源码分析(二):项目结构

目录 1、前言 2、代码统计 3、整体架构 3.1、基础支持层 3.1.1、反射模块 3.1.2、类型模块 3.1.3、日志模块 3.1.4、IO模块 3.1.5、解析器模块 3.1.6、数据源模块 3.1.7、缓存模块 3.1.8、Binding 模块 3.1.9、注解模块 3.1.10、异常模块 3.2、核心处理层 3.2.…

Pytorch简介

1.1 Pytorch的历史 PyTorch是一个由Facebook的人工智能研究团队开发的开源深度学习框架。在2016年发布后,PyTorch很快就因其易用性、灵活性和强大的功能而在科研社区中广受欢迎。下面我们将详细介绍PyTorch的发展历程。 在2016年,Facebook的AI研究团队…

【C++】Ubuntu编译filezilla client

在新版Ubuntu 22.04.3 LTS上编译filezilla client成功,shell命令如下: sudo apt-get install libfilezilla-dev libwxbase3.0-dev gnutls-dev libdbus-1-dev sudo apt-get install libwxgtk3.0-gtk3-dev sudo apt-get install libgtk-3-dev sudo apt-ge…

【GO语言卵细胞级别教程】01.GO基础知识

01.GO基础知识 目录 01.GO基础知识1.GO语言的发展历程2.发展历程3.Windowns安装4.VSCode配置5.基础语法5.1 第一段代码5.2 GO执行的流程5.3 语法规则5.4 代码风格5.5 学习网址 1.GO语言的发展历程 Go语言是谷歌公司于2007年开始开发的一种编程语言,由Robert Griese…

Python从入门到精通之元类

系列 Python从入门到精通之安装与快速入门-CSDN博客 Python从入门到精通之基本数据类型和变量-CSDN博客 Python从入门到精通之集合(List列表、Tuple元组、Dict字典、Set)-CSDN博客 Python从入门到精通之条件语句、循环语句和函数-CSDN博客 Python从…

STM32疑难杂症

1.keil的奇怪问题 创建的数组分配内存到0x10000000地址的时候,数据总是莫名其妙的出现问题,取消勾选就正常了 stm32f407内部有一个CCM内存,这部分内存只能由内核控制,任何外设都不能够进行访问。这样问题就来了,如果使…

ES6 class详解

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

基于SSM框架的宠物商城系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 功能模块&…

基于引力搜索算法优化的Elman神经网络数据预测 - 附代码

基于引力搜索算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于引力搜索算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于引力搜索优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&…