只需五分钟,了解kafka的环境搭建

〇、前言

在Kafka系列的上一篇文章中,我们介绍了Kafka的体系结构,那么本篇文章呢,我们就着手来把Kafka的运行环境搭建起来

此处 ,我们采用线上环境普遍使用的ZooKeeper作为管理存储和管理kafka集群元数据,或者辅助Controller选举操作等。

那么,在管理界面的展示端,我们采用了EFAK(即:kafka-eagle),所以这部分的安装步骤,我们也会在下文中展示出来。

一、安装ZooKeeper

首先,进入Zookeeper官网(https://zookeeper.apache.org/),下载你所需要的ZooKeeper版本,如下图所示:

然后,将下载下来的ZooKeeper解压到本地路径,进入ZooKeeper的conf目录下,复制zoo_sample.cfg配置文件,将其命名为zoo.cfg,如下图所示:

其中,zoo.cfg配置文件中各配置项的含义如下所示:

# zookeeper时间配置中的基本单位(毫秒)
tickTime=2000# 允许follower初始化连接到leader最大时长,它表示tickTime时间的倍数 即:initLimit*tickTime
initLimit=10# 运行follower与leader数据同步最大时长,它表示tickTime时间倍数 即:syncLimit*tickTime
syncLimit=5# zookeeper数据存储目录及日志保存目录(如果没有指明dataLogDir,则日志也保存在这个文件中)
dataDir=/tmp/zookeeper# 对客户端提供的端口号
clientPort=2181# 单个客户端于zookeeper最大并发连接数
maxClientCnxns=60# 保存的数据快照数量,之外的将会被清除
autopurge.snapRetainCount=3# 自动出发清除任务时间间隔,以小时为单位。默认为0,表示不自动清除
autopurge.purgeInterval=1## Metrics Providers
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true## ttl settings
extendedTypesEnabled=true## 由于AdminServer默认使用8080端口,此处修改为8888
admin.serverPort=8888

配置好zoo.conf配置文件后,我们就可以启动ZooKeeper了,如下图所示:

启动完ZooKeeper之后,我们也可以通过调用zkServer.sh status命令,来查看zookeeper的运行状态,如下图所示:

二、安装Kafka

上面我们安装完ZooKeeper之后,我们就可以开始着手安装Kafka了;

首先,进入Kafka官网下载kafka(http://kafka.apache.org/),如下图所示:

然后,将下载下来的Kafka解压到本地路径,然后进入config目录下,编辑 server.properties 配置文件,如下图所示:

server.properties 配置项解析如下所示:

属性默认值描述
broker.id0每个broker都可以用一个唯一的非负整数id进行标识;这个id可以作为broker的名字,你可以选择任意数字作为id,但是一定要保证唯一性;
log.dirs/tmp/kafka-logskafka存放数据的路径。这个路径并不是唯一的,可以是多个,路径之间使用逗号分隔;每当创建新的partition时,都会选择在包含最少partitions的路径下进行;
listenersPLAINTEXT://192.168.65.60:9092server接受客户端连接的端口,ip配置kafka本机ip即可
zookeeper.connectlocalhost:2181zookeeper连接字符串的格式为:hostname:port,此处分别对应zk集群中的节点;连接方式为:hostname1:port1,hostname2:port2,hostname3:port3
log.retention.hours168每个日志文件删除之前保存的时间。默认数据保存时间对所有topic都一样
num.partitions1创建topic的默认分区数
default.replication.factor1自动创建topic的默认副本数量,建立设置为大于等于2
min.insync.replicas1当producer设置acks=-1时,min.insync.replicas指定的最小数目(必须确认每一个repica的写数据都是成功的),如果这个数目没有达到,producer发送消息会产生异常
delete.topic.enablefalse是否允许删除主题

在以上的配置项中,我们最主要需要关注如下几个配置内容

broker的序号】broker.id=0
当前kafka的监听地址】listeners=PLAINTEXT://localhost:9092
日志的存储路径】log.dirs=/Users/muse/kafka_2.13-3.0.0/kafka-logs
zookeeper的服务地址】zookeeper.connect=localhost:2181

修改完相应的配置后,启动Kafka,并通过查看kafka的进程来判断是否启动起来了,如下图所示:

查看启动日志是否正常,如下图所示:

也可以链接ZooKeeper之后,在客户端的终端上面查看broker是否注册成功,如下图所示:

三、安装EFAK

最后,我们来安装一下Kafka的监控界面,首先进入EFAK官网下载Eagle (http://download.kafka-eagle.org/),如下图所示:

修改EFAK的conf目录下配置文件——system-config.properties,如下图所示:

配置环境变量KE_HOME,并调用source .zshrc使其立即生效。(如果不配置的话,启动时会报错),如下图所示:

启动EFAK,如下图所示:

启动成功界面,如下图所示:

访问EFAK界面 (http://192.168.1.3:8048),默认的用户名为admin,默认的密码为123456,如下图所示:

管理界面如下所示:

今天的文章内容就这些了:

写作不易,笔者几个小时甚至数天完成的一篇文章,只愿换来您几秒钟的 点赞 & 分享 。

更多技术干货,欢迎大家关注公众号“爪哇缪斯” ~ \(^o^)/ ~ 「干货分享,每天更新」

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

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

相关文章

vue 中 axios 的安装及使用

vue 中 axios 的安装及使用 1. axios 安装2. axios使用 1. axios 安装 首先,打开当前的项目终端,输入 npm install axios --save-dev验证是否安装成功,检查项目根目录下的 package.json,其中的 devDependencies 里面会多出一个axios及其版本…

SpringBoot整合阿里云OSS,实现图片上传

在项目中&#xff0c;将图片等文件资源上传到阿里云的OSS&#xff0c;减少服务器压力。 项目中导入阿里云的SDK <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version>…

ffmpeg合并mp4视频文件

下载ffmpeg Download FFmpeg 2配置环境 右键此电脑-》属性-》高级系统设置 环境变量-》path 解压上面ffmpeg压缩包&#xff0c;找到bin目录&#xff0c;复制完整路径&#xff0c;添加到path环境变量中 测试ffmpeg ffmpeg合并MP4文件 创建一个文本文件&#xff0c;例如inpu…

mybatis入门Idea搭建

一、概念 1、什么是mybatis&#xff1f; MyBatis是一个开源的Java持久层框架&#xff0c;它提供了一种简化数据库访问的方式。它的主要作用是将Java对象与数据库表之间进行映射&#xff0c;使开发者可以通过面向对象的方式操作数据库&#xff0c;而不需要编写大量的SQL语句。M…

vue3 实现按钮权限管理

在做后台管理系统时&#xff0c;经常会有权限管理的功能&#xff0c;这里来记录一下关于按钮权限管理的实现方法 1、自定义指令 v-permission。新建js文件用来写指令代码。 export default function btnPerms(app) {app.directive(permission, {mounted(el, binding) {if (!p…

vscode C++17便捷配置教程(懒人版)

环境链接 以上是已经配置好的c17环境链接&#xff0c;直接下载解压即可 下载解压之后按照msys64-mingw64-bin路径打开 然后单击该路径右方空白区域可直接复制路径 然后点击开始菜单搜索“环境变量“并打开&#xff08;如图&#xff09; 然后点击右下方环境变量 之后双击下方…

低压风机单片机方案

低压风机通常由电机、转子、机壳、进气管、出气管、齿轮和减速机等组成。电机带动转子旋转&#xff0c;旋转的转子带动齿轮和减速机转动&#xff0c;进而形成空气被吸入转子内部&#xff0c;通过旋转而产生的离心力把气体压缩&#xff0c;并将气体排出。 低压风机方案的主控型…

C++11并发与多线程笔记(10) future其他成员函数、shared_future、atomic

C11并发与多线程笔记&#xff08;10&#xff09; future其他成员函数、shared_future、atomic 1、std::future 的成员函数1.1 std::future_status 2、std::shared_future&#xff1a;也是个类模板3、std::atomic原子操作3.1 原子操作概念引出范例&#xff1a;3.2 基本的std::at…

【vue3+ts项目】配置eslint校验代码工具,eslint+prettier+stylelint

1、运行好后自动打开浏览器 package.json中 vite后面加上 --open 2、安装eslint npm i eslint -D3、运行 eslint --init 之后&#xff0c;回答一些问题&#xff0c; 自动创建 .eslintrc 配置文件。 npx eslint --init回答问题如下&#xff1a; 使用eslint仅检查语法&…

解决出海痛点:亚马逊云科技助力智能涂鸦,实现设备互联互通

今年6月&#xff0c;《财富》&#xff08;中文版&#xff09;发布“2023年值得关注的中国出海主力”盘点&#xff0c;在七个赛道中聚焦不断开拓新领域、影响力与日俱增的出海企业。涂鸦智能顺利入选&#xff0c;作为一家全球化公司&#xff0c;相比于产品直接到海外销售的传统出…

wazuh初次理解-8-23

一、wazuh配置&#xff1a; 1、进入官网下载OVA启动软件&#xff1a; Virtual Machine (OVA) - Installation alternatives 2、进入虚拟机进行配置&#xff1a; 3、登录提示&#xff1a; 4、将网络连接模式更改为NAT&#xff0c;否则不能上网&#xff1b; 4、重启网络&#…

AI大模型潮水中,医疗数字化加速「求解」

蝴蝶挥动翅膀&#xff0c;医疗行业每个角落开始连锁反应&#xff0c;曾经被忽视的问题也愈发明显。但与之对应的是&#xff0c;对数字化和AI大模型的价值认可&#xff0c;在中国医疗赛道也正在加速来临。 作者|斗斗 编辑|皮爷 出品|产业家 重庆市某地方人民医院&#xf…

【C++】做一个飞机空战小游戏(十二)——游戏源代码、音效、图标等资源文件

[导读]本系列博文内容链接如下&#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动【C】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C】做一个飞…

微信小程序创建项目以及注意事项

1.申请账号并完善信息 2.下载安装开发工具 3.开发小程序 4.上传代码 5.提交审核 6.发布 创建项目 根据需求选择模板&#xff0c;也可以不选择模板 创建完毕之后 进入页面点击终端 然后新建终端 输入npm init 一直按回车即可 安装成功 出现package.json 如何使用组件&#x…

IC芯片 trustzone学习

搭建Airplay TA环境需要在IC的TrustZone中进行。TrustZone是一种安全技术&#xff0c;用于隔离安全和非安全环境&#xff0c;并保护敏感文件。在TrustZone中&#xff0c;我们需要编写一个叫做TA&#xff08;Trusted Application&#xff09;的应用程序来控制这些私密文档。 &am…

Python土力学与基础工程计算.PDF-土的三项组成

5.3 Python求解 Python 求解代码如下&#xff1a; 1. # 定义已知参数 2. G_s 2.7 # 比重 3. w 0.2 # 含水量 4. e 0.6 # 孔隙比 5. gamma_w 9.81 # 水的重度 6. 7. # 根据公式计算饱和度 8. S_r G_s * w / e 9. print("饱和度为", S_r) 10. 11.…

js将搜索的关键字加颜色

js将搜索的关键字加颜色 使用正则匹配关键字并加入span标签&#xff0c;页面渲染时使用v-html渲染即可 // 文本框内容 let searchCont 测试;const reg new RegExp((${searchCont.value}), g); let data 图片保存测试A; data data.replace(reg, <span style"color:…

vscode+ros开发环境搭建

目录 介绍 前提 vscode安装 vscode插件安装 工作空间准备 打开vscode 创建catkin包 编写cpp代码 编译 运行 启动ros服务 监听话题 启动ros测试 介绍 ros开发是机器人开发中必不可少的工作&#xff0c;语言选择可以是c,也可以是python。工具的话&#xff0c;不能像wi…

基于YOLOv8模型的五类动物目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的五类动物目标检测系统可用于日常生活中检测与定位动物目标&#xff08;狼、鹿、猪、兔和浣熊&#xff09;&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与…

AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频

大家好&#xff0c;我是风雨无阻。 前一篇&#xff0c;我们详细介绍了使用 SadTlaker制作数字人视频案例&#xff0c;感兴趣的朋友请前往查看:AI 绘画Stable Diffusion 研究&#xff08;十三&#xff09;SD数字人制作工具SadTlaker使用教程。 对于没有安装 SadTlaker 插件的朋友…