0


单机版本 kafka-2.13版本和EFAK-3.0.1安装

首先下载安装包,解压对应的压缩包,注意efak只需要efak-web-3.0.1这个包即可

wget https://downloads.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz

wget https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz

提前安装好jdk8环境 和mysql

1 kafka-2.13配置

这个版本的kafka不需要额外使用zookeeper了,本身安装包里面已经自带了,直接启动即可。

首先修改config目录下的server.properties

#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的线程数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以
#配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=这里写你的kafka的日志路径

log.flush.interval.messages=10

log.flush.interval.ms=10000
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1

每个 topic 创建时的副本数,默认时 1 个副本

offsets.topic.replication.factor=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#每个 segment 文件的大小,默认最大 1G
log.segment.bytes=1073741824

检查过期数据的时间,默认 5 分钟检查一次是否数据过期

log.retention.check.interval.ms=300000
#配置连接 Zookeeper 集群地址
zookeeper.connect=127.0.0.1:2181

配置监听地址(可选,不配置默认就是9092)

listeners=PLAINTEXT://0.0.0.0:端口
advertised.listeners=PLAINTEXT://这里写你的域名(如果是内网注意/etc/hosts中配置dns):端口

修改bin/kafka-server-start.sh 找到如下片段

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G -Djava.rmi.server.hostname=这里写你的域名"
export JMX_PORT="9999"

fi

配置kafka config目录下的zookeeper.properties

dataDir=xxxxx

dataLogDir=xxxx

2 efak 配置

配置conf文件夹下的system-config.properties,要注意efak之前的版本该配置文件有差异

Kafka使用的Zookeeper集群别名,多个集群用逗号分隔,后续针对不同集群配置都需要别名作前缀

efak.zk.cluster.alias=cluster1

Kafka配置的Zookeeper集群客户端访问地址

cluster1.zk.list=127.0.0.1:2181

efak的Web界面访问端口

efak.webui.port=8048

EFAK跟Zookeeper的最大连接数

kafka.zk.limit.size=25

开启metrics

efak.metrics.charts=true

保留时间15天

efak.metrics.retain=15

kafka.eagle.sasl.enable=false
kafka.eagle.sasl.protocol=SASL_PLAINTEXT
kafka.eagle.sasl.mechanism=PLAIN

efak.topic.token=这里配置你的密码(删除topic时会使用该密码)

efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://localhost:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=这里配置数据库的用户名
efak.password=这里配置数据库的密码 用户信息默认保存在ke数据库中的ke_user表

3 配置环境变量

配置/etc/profile

export JAVA_HOME=jdk路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export KAFKA_HOME=kafa路径
export KE_HOME=efak路径

export PATH=${PATH}:${JAVA_HOME}/bin:$KAFKA_HOME/bin:$KE_HOME/bin

按照以上配置应该就可以了,之前出现efak登录成功后无法显示kafka的信息,或者删除topic后显示404 等等问题基本都是配置没有正确,百度很多结果,显示的解决答案都未声明kafka 和efak版本,导致浪费了很多时间。 如果有遗漏请各位补充,希望以上能帮助到各位

以下命令适用于kafka-2.13版本

启动zookeeper

nohup 你的路径/bin/zookeeper-server-start.sh -daemon 你的路径/config/zookeeper.properties

启动kafka

nohup 你的路径/bin/kafka-server-start.sh -daemon 你的路径/config/server.properties

查看topic

./kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list

删除topic

你的路径/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --delete --topic topic名字

标签: kafka java 分布式

本文转载自: https://blog.csdn.net/weixin_42323655/article/details/128151669
版权归原作者 肉本肉 所有, 如有侵权,请联系我们删除。

“单机版本 kafka-2.13版本和EFAK-3.0.1安装”的评论:

还没有评论