只需五分钟,了解kafka的环境搭建
  m5xpDbUW5OKT 2023年11月05日 43 0

〇、前言

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

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

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

一、安装ZooKeeper

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

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

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

只需五分钟,了解kafka的环境搭建_消息队列_02

其中,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了,如下图所示:

只需五分钟,了解kafka的环境搭建_消息队列_03

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

只需五分钟,了解kafka的环境搭建_后端_04

二、安装Kafka

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

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

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

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

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

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

属性

默认值

描述

broker.id

0

每个broker都可以用一个唯一的非负整数id进行标识;这个id可以作为broker的名字,你可以选择任意数字作为id,但是一定要保证唯一性;

log.dirs

/tmp/kafka-logs

kafka存放数据的路径。这个路径并不是唯一的,可以是多个,路径之间使用逗号分隔;每当创建新的partition时,都会选择在包含最少partitions的路径下进行;

listeners

PLAINTEXT://192.168.65.60:9092

server接受客户端连接的端口,ip配置kafka本机ip即可

zookeeper.connect

localhost:2181

zookeeper连接字符串的格式为:hostname:port,此处分别对应zk集群中的节点;连接方式为:hostname1:port1,hostname2:port2,hostname3:port3

log.retention.hours

168

每个日志文件删除之前保存的时间。默认数据保存时间对所有topic都一样

num.partitions

1

创建topic的默认分区数

default.replication.factor

1

自动创建topic的默认副本数量,建立设置为大于等于2

min.insync.replicas

1

当producer设置acks=-1时,min.insync.replicas指定的最小数目(必须确认每一个repica的写数据都是成功的),如果这个数目没有达到,producer发送消息会产生异常

delete.topic.enable

false

是否允许删除主题

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

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的进程来判断是否启动起来了,如下图所示:

只需五分钟,了解kafka的环境搭建_消息队列_07

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

只需五分钟,了解kafka的环境搭建_后端_08

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

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

三、安装EFAK

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

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

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

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

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

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

启动EFAK,如下图所示:

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

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

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

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

只需五分钟,了解kafka的环境搭建_后端_15

管理界面如下所示:

只需五分钟,了解kafka的环境搭建_后端_16

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

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

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
m5xpDbUW5OKT