只需五分钟,了解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,一经查实,立即删除!

相关文章

clickhouse的分区

说明: clickhouse的分区和hive表有类似地方,但也有区别,比如clickhouse中支持对分区的卸载和装载,卸载的数据不受ck管控,数据一直在,还可以复制分区数据到另外一张表结构一样的分区一样的表中,他…

vue 中 axios 的安装及使用

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

sql server 如何设置主键

开始之前 限制和局限 一个表只能包含一个 PRIMARY KEY 约束。 在 PRIMARY KEY 约束中定义的所有列都必须定义为 NOT NULL。 如果没有指定为 Null 性,则加入 PRIMARY KEY 约束的所有列的为 Null 性都将设置为 NOT NULL。 创建主键会自动创建相应的唯一群集索引、…

导入功能importExcel (现成直接用)

1. 实体类字段上加 Excel(name "xxx"), 表示要导入的字段 Excel(name "用户名称")private String nickName; 2. controller (post请求) /*** 导入用户数据** param file 文件* param updateSupport 是否更新支持,如果已存在,则进…

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; 然后点击右下方环境变量 之后双击下方…

22、WEB漏洞-文件上传之内容逻辑数组绕过

目录 内容及其他演示案例&#xff1a;Uploadlabs-pass13-20关卡测试CVE-2017-12615-上传-Tomcat中间件解析漏洞配合文件上传测试 图片一句话制作方法 copy 1.png /b shell.php /a webshell.jpg也可以用nopad把图片打开&#xff0c;在末尾添加一句话后门 文件头检测 图像文件信…

低压风机单片机方案

低压风机通常由电机、转子、机壳、进气管、出气管、齿轮和减速机等组成。电机带动转子旋转&#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…

Springboot+mybaits-plus+h2集成产生的一些问题(not found tables)

一、问题描述 org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "EP_MAPPING" not found (this database is empty);大概就是说在引入mybatis-plus的依赖后&#xff0c;找不到数据库找不到表的问题。 排查方向&#xff1a;在引入mybatish2时&#xff0c;是可以正常…

【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、重启网络&#…

ahooks.js:一款强大的React Hooks库及其API使用教程(四)

一、ahooks.js简介二、ahooks.js安装三、继续ahooks.js API的介绍与使用教程51. useResetState52. useUpdateLayoutEffect53. useDeepCompareLayoutEffect54. useRafInterval55. useRafTimeout56. useTimeout57. useLockFn58. useDocumentVisibility59. useDrop60. useDrag 一、…

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

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

如何实现element UI中table操作栏更多按钮的展示与折叠?

解决思路: ​ 直接使用elementUI文档上Popover 弹出框组件 废话不多说,直接上代码吧 <el-table :data="locationList" v-loading="loading" border class="table" ref="multipleTable" @selection-change="handleSelecti…

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

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