zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

Kafka 分布式安装部署

2023-09-14 09:14:50 时间

集群规划

cpu101cpu102cpu 103
zkzkzk
kafkakafkakafka

下载官网 :

http://kafka.apache.org/downloads

保证 ZooKeeper 启动

https://blog.csdn.net/qq_44226094/article/details/123119682

集群部署

解压安装包

tar -zxvf kafka_2.11-2.4.1.tgz -C /opt/module/

在这里插入图片描述

修改解压后的文件名称

mv kafka_2.11-2.4.1/ kafka-2.4.1

在这里插入图片描述

/opt/module/kafka-2.4.1 目录下创建 logs 文件夹

mkdir logs

在这里插入图片描述

修改配置文件

cd config/
vim server.properties

在这里插入图片描述

#broker的全局唯一编号,不能重复
broker.id=0
#删除topic功能使能,当前版本此配置默认为true,已从配置文件移除
delete.topic.enable=true

#处理网络请求的线程数量
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运行日志存放的路径
log.dirs=/opt/module/kafka-2.4.1/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1

#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接Zookeeper集群地址
zookeeper.connect=cpu101:2181,cpu102:2181,cpu103:2181

在这里插入图片描述

配置环境变量

sudo vim /etc/profile.d/my_env.sh
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin

在这里插入图片描述

source /etc/profile.d/my_env.sh

分发安装包

xsync kafka-2.4.1/

在这里插入图片描述

分发之后记得配置其他机器的环境变量

sudo ~/bin/xsync /etc/profile.d/my_env.sh

在这里插入图片描述

分别在 cpu102 和 cpu103 上修改配置文件 /opt/module/kafka/config/server.properties 中的

broker.id=1
broker.id=2

broker.id不得重复

在这里插入图片描述

在这里插入图片描述

kafka 群起脚本

/home/cpu/bin 目录下创建脚本 kf.sh

#!/bin/bash

case $1 in
"start"){
    for i in cpu101 cpu102 cpu103
    do
        echo " --------启动 $i Kafka-------"
        ssh $i "/opt/module/kafka-2.4.1/bin/kafka-server-start.sh -daemon /opt/module/kafka-2.4.1/config/server.properties "
    done
};;
"stop"){
    for i in cpu101 cpu102 cpu103
    do
        echo " --------停止 $i Kafka-------"
        ssh $i "/opt/module/kafka-2.4.1/bin/kafka-server-stop.sh stop"
    done
};;
esac

在这里插入图片描述

增加脚本执行权限

chmod 777 kf.sh

在这里插入图片描述

分发

xsync kf.sh

在这里插入图片描述

kf集群启动脚本

kf.sh start

在这里插入图片描述

kf集群停止脚本

kf.sh stop

Kafka监控(Kafka Eagle)

修改 kafka 启动命令

修改 kafka-server-start.sh 命令中

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

为 :

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
	export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
	export JMX_PORT="9999"
	#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

在这里插入图片描述

修改之后在启动 Kafka 之前要分发之其他节点

xsync kafka-server-start.sh

在这里插入图片描述

上传压缩包

kafka-eagle-web-2.0.0-bin.tar.gz 到集群 /opt/software 目录

在这里插入图片描述

解压到本地

tar -zxvf kafka-eagle-bin-1.3.7.tar.gz -C /opt/module

在这里插入图片描述

给启动文件执行权限

chmod 777 ke.sh

在这里插入图片描述

修改配置文件

修改配置文件 conf/system-config.properties

######################################
# multi zookeeper&kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=cpu101:2181,cpu102:2181,cpu103:2181

######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka

######################################
# enable kafka metrics
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.sql.fix.error=false

######################################
# kafka jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://cpu102:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=xxxxxx

在这里插入图片描述

添加环境变量

sudo vim /etc/profile.d/my_env.sh
#KE_HOME
export KE_HOME=/opt/module/kafka-eagle-web-2.0.0
export PATH=$PATH:$KE_HOME/bin

在这里插入图片描述

source /etc/profile

启动

动之前需要先启动 ZK 以及 KAFKA

在这里插入图片描述

ke.sh start

在这里插入图片描述

登录页面查看监控数据

http://cpu101:8048/

Account: admin , Password:123456

在这里插入图片描述