Kafka 分布式安装部署
2023-09-14 09:14:50 时间
Kafka 分布式安装部署
集群规划
cpu101 | cpu102 | cpu 103 |
---|---|---|
zk | zk | zk |
kafka | kafka | kafka |
下载官网 :
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
登录页面查看监控数据
Account: admin , Password:123456
相关文章
- kafka学习之-雅虎开源管理工具Kafka Manager
- Linux 下kafka集群搭建
- KAFKA安装+配置详解+常用操作+监控
- 大数据基础之Kafka(1)简介、安装及使用
- docker-compose部署kafka(docker部署kafka)
- Kafka 2.7.0服务器允许客户端远程连接
- kafka安装、配置、启动、常用命令及shell启动脚本编写
- ubuntu18.04 docker安装kafka
- kafka单机安装(版本kafka_2.11-2.2.0.tgz)
- kafka详解一、Kafka简介
- kafka客户端代码解析
- kafka在zookeeper上的节点信息和查看方式
- kafka生产者Producer、消费者Consumer的拦截器interceptor
- kafka单节点的安装,部署,使用
- kafka.common.KafkaException: Failed to acquire lock on file .lock in /tmp/kafka-logs. A Kafka instance in another process or thread is using this directory.
- 【云原生 | Kubernetes 系列】---Kafka 集群安装配置手册
- apache kafka系列之性能优化架构分析
- linux下安装kafka
- linux下php安装php-kafka扩展和php-rdkafka扩展
- php安装kafka扩展
- 大数据Hadoop之——Kafka安全机制(Kafka SSL认证实现)
- Kafka 消息不丢失
- 这家公司的码农有多牛,用C++重写Kafka,还能与其API兼容
- 解开Kafka神秘的面纱(五):kafka优雅应用