网站设计公司兴田德润信任高,wordpress 前台不显示,开源之家,网站建设要钱吗文章目录 CentOS7安装部署Kafka with KRaft一、前言1.简介2.架构3.环境 二、正文1.部署服务器2.基础环境1#xff09;主机名2#xff09;Hosts文件3#xff09;关闭防火墙4#xff09;JDK 安装部署 3.单机部署1#xff09;下载软件包2#xff09;修改配置文件3#xff0… 文章目录 CentOS7安装部署Kafka with KRaft一、前言1.简介2.架构3.环境 二、正文1.部署服务器2.基础环境1主机名2Hosts文件3关闭防火墙4JDK 安装部署 3.单机部署1下载软件包2修改配置文件3格式化存储目录4单机启动5测试6自启动 4.集群部署1下载软件包2修改配置文件3拷贝Kafka4修改配置文件5格式化存储目录6集群启动7测试8自启动 5.Kafka管控平台1脚本安装2Kafka启动JMX3手动启动4配置 Kafka 集群 三、其它1.常用命令 CentOS7安装部署Kafka with KRaft
一、前言
1.简介
Apache Kafka 是一个开源分布式事件流平台已被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序。
KRaftKafka Raft模式是从 Apache Kafka 2.8.0 版本开始引入KRaft 旨在摒弃对 ZooKeeper 的依赖。在以前的版本中Apache Kafka 依赖于 ZooKeeper 来管理集群元数据和协调集群但这增加了系统的复杂性和运维负担。KRaft 模式通过引入 Raft 协议直接在 Kafka 内部处理这些功能从而简化了 Kafka 的架构和部署过程。
2.架构 ARCHITECTURE - Apache Kafka 3.环境
Linux 发行版CentOS-7-x86_64-DVD-1804.isoJDK 版本Java SE Development Kit 11.0.19Kafka 版本3.6.0 Kafka 官网https://kafka.apache.org/ Kafka QuickStarthttps://kafka.apache.org/documentation/#quickstart intro - Apache Kafkahttps://kafka.apache.org/intro Know Streaming 官网https://knowstreaming.com/ CentOS7安装部署Java11https://blog.csdn.net/u011424614/article/details/132418561 CentOS基础操作命令https://blog.csdn.net/u011424614/article/details/94555916 二、正文
1.部署服务器
Kafka 默认端口
端口描述9092Kafka Clients9093Kafka Control Plane8083Kafka Connect8081Schema Registry8082REST Proxy8088ksqlDB
服务器
机器名IP节点部署Kafka-cluster-01192.168.28.121Kafka 节点Kafka-cluster-02192.168.28.122Kafka 节点Kafka-cluster-03192.168.28.123Kafka 节点Kafka-cluster-04192.168.28.124Know Streaming 管控平台
2.基础环境
1主机名
修改 4 台服务器的主机名
# 121 执行
hostnamectl set-hostname Kafka-cluster-01 --static
hostnamectl set-hostname Kafka-cluster-01 --transient# 122 执行
hostnamectl set-hostname Kafka-cluster-02 --static
hostnamectl set-hostname Kafka-cluster-02 --transient# 123 执行
hostnamectl set-hostname Kafka-cluster-03 --static
hostnamectl set-hostname Kafka-cluster-03 --transient# 124 执行
hostnamectl set-hostname Kafka-cluster-04 --static
hostnamectl set-hostname Kafka-cluster-04 --transient# 查询状态
hostnamectl status2Hosts文件
修改 4 台服务器的 hosts 文件
cat /etc/hosts EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.28.121 Kafka-cluster-01
192.168.28.122 Kafka-cluster-02
192.168.28.123 Kafka-cluster-03
192.168.28.124 Kafka-cluster-04
EOF3关闭防火墙
可禁用防火墙或配置开放的端口后者比较安全
#--关闭防火墙
systemctl stop firewalld.service
#--开机禁用防火墙
systemctl disable firewalld.service
#--防火墙状态
systemctl status firewalld.service4JDK 安装部署
在 4 台服务器上安装JDK
安装参考《CentOS7安装部署Java11》安装目录/opt/java/jdk-11.0.19
3.单机部署
在 121 服务器上执行
1下载软件包
创建安装目录并下载
mkdir /opt/kafka
cd /opt/kafka# 下载
wget https://downloads.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz --no-check-certificate
# 解压
tar -xzf kafka_2.13-3.6.0.tgz# 进入安装目录
cd /opt/kafka/kafka_2.13-3.6.02修改配置文件
编辑 server.properties 配置文件
vim config/kraft/server.properties内容修改以下配置其它不变
# Kafka broker对外公布的监听地址和端口
advertised.listenersPLAINTEXT://192.168.28.121:9092# Kafka存储日志数据的目录路径
log.dirs/data/kraft-combined-logs3格式化存储目录
生成UUID
bin/kafka-storage.sh random-uuid# 生成的 UUID
1vL12MYgT52x0C01Hny4KQ格式化存储目录注意替换生成的 UUID
bin/kafka-storage.sh format -t 1vL12MYgT52x0C01Hny4KQ -c config/kraft/server.properties4单机启动
启动
cd /opt/kafka/kafka_2.13-3.6.0
# 启动
bin/kafka-server-start.sh -daemon config/kraft/server.properties
# 停止
bin/kafka-server-stop.sh查看运行情况
jps5测试
进入安装目录
cd /opt/kafka/kafka_2.13-3.6.0创建 Topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server 192.168.28.121:9092写入 event
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server 192.168.28.121:9092# 写入内容
first event
second event读取 event
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server 192.168.28.121:90926自启动
创建 kafka-server.service
cat /etc/systemd/system/kafka-server.service EOF
[Unit]
DescriptionKafka Service
Afternetwork.target[Service]
EnvironmentJAVA_HOME/opt/java/jdk-11.0.19
Typesimple
Userroot
Grouproot
ExecStart/opt/kafka/kafka_2.13-3.6.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.13-3.6.0/config/kraft/server.properties
ExecStop/opt/kafka/kafka_2.13-3.6.0/bin/kafka-server-stop.sh
Restarton-failure[Install]
WantedBymulti-user.target
EOF启动服务并设置开机自启动
systemctl daemon-reload
systemctl start kafka-server.service
systemctl enable kafka-server.service查询进程状态
systemctl status kafka-server.service4.集群部署
1下载软件包
在 121 服务器上执行
创建安装目录并下载
mkdir /opt/kafka
cd /opt/kafka# 下载
wget https://downloads.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz --no-check-certificate
# 解压
tar -xzf kafka_2.13-3.6.0.tgz# 进入安装目录
cd /opt/kafka/kafka_2.13-3.6.02修改配置文件
在 121 服务器上执行
编辑 server.properties 配置文件
vim config/kraft/server.properties内容修改以下配置其它不变
# 节点ID,集群节点唯一
node.id1# 标识哪些节点是Quorum的投票者节点
controller.quorum.voters1192.168.28.121:9093,2192.168.28.122:9093,3192.168.28.123:9093# Kafka broker对外公布的监听地址和端口
advertised.listenersPLAINTEXT://192.168.28.121:9092# Kafka存储日志数据的目录路径
log.dirs/data/kraft-combined-logs3拷贝Kafka
在 122、123 服务器上执行
122 和 123 服务器创建目录
mkdir /opt/kafka在 121 服务器上执行
拷贝 Kafka 到其它服务器
scp -r /opt/kafka/kafka_2.13-3.6.0 root192.168.28.122:/opt/kafka
scp -r /opt/kafka/kafka_2.13-3.6.0 root192.168.28.123:/opt/kafka4修改配置文件
在 122 服务器上执行
编辑 server.properties 配置文件
cd /opt/kafka/kafka_2.13-3.6.0vim config/kraft/server.properties内容修改以下配置其它不变注意这里是 121 服务器拷贝所以省了2个参数
# 节点ID,集群节点唯一
node.id2# Kafka broker对外公布的监听地址和端口
advertised.listenersPLAINTEXT://192.168.28.122:9092在 123 服务器上执行
编辑 server.properties 配置文件
cd /opt/kafka/kafka_2.13-3.6.0vim config/kraft/server.properties内容修改以下配置其它不变注意这里是 121 服务器拷贝所以省了2个参数
# 节点ID,集群节点唯一
node.id3# Kafka broker对外公布的监听地址和端口
advertised.listenersPLAINTEXT://192.168.28.123:90925格式化存储目录
在 121 服务器上执行
生成UUID
bin/kafka-storage.sh random-uuid# 生成的 UUID
OukPqtmXSAO2aYUs9kFFbg在 121、122、123 服务器上执行
格式化存储目录使用生成的 UUID
bin/kafka-storage.sh format -t OukPqtmXSAO2aYUs9kFFbg -c config/kraft/server.properties6集群启动
在 121、122、123 服务器上执行
启动
cd /opt/kafka/kafka_2.13-3.6.0
# 启动
bin/kafka-server-start.sh -daemon config/kraft/server.properties
# 停止
bin/kafka-server-stop.sh查看运行情况
jps7测试
在 121 服务器上执行
进入安装目录
cd /opt/kafka/kafka_2.13-3.6.0创建 Topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server 192.168.28.121:9092写入 event
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server 192.168.28.121:9092# 写入内容
first event
second event读取 event
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server 192.168.28.121:90928自启动
在 121、122、123 服务器上执行
创建 kafka-server.service
cat /etc/systemd/system/kafka-server.service EOF
[Unit]
DescriptionKafka Service
Afternetwork.target[Service]
EnvironmentJAVA_HOME/opt/java/jdk-11.0.19
Typesimple
Userroot
Grouproot
ExecStart/opt/kafka/kafka_2.13-3.6.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.13-3.6.0/config/kraft/server.properties
ExecStop/opt/kafka/kafka_2.13-3.6.0/bin/kafka-server-stop.sh
Restarton-failure[Install]
WantedBymulti-user.target
EOF启动服务并设置开机自启动
systemctl daemon-reload
systemctl start kafka-server.service
systemctl enable kafka-server.service查询进程状态
systemctl status kafka-server.service5.Kafka管控平台
在 124 服务器上执行
Know Streaming是一套云原生的Kafka管控平台脱胎于众多互联网内部多年的Kafka运营实践经验专注于Kafka运维管控、监控告警、资源治理、多活容灾等核心场景。在用户体验、监控、运维管控上进行了平台化、可视化、智能化的建设提供一系列特色的功能极大地方便了用户和运维人员的日常使用让普通运维人员都能成为Kafka专家。 Know Streaming 部署https://doc.knowstreaming.com/product/2-quick-start#21%E5%8D%95%E6%9C%BA%E9%83%A8%E7%BD%B2 1脚本安装
mkdir /opt/KnowStreaming
cd /opt/KnowStreaming# 在服务器中下载安装脚本, 该脚本中会在当前目录下重新安装MySQL。重装后的mysql密码存放在当前目录的mysql.password文件中。
wget https://s3-gzpu.didistatic.com/pub/knowstreaming/deploy_KnowStreaming.sh# 执行脚本会提示选择安装的版本
sh deploy_KnowStreaming.sh访问http://192.168.28.124:8080默认账号和密码为admin / admin
2Kafka启动JMX
在 121、122、123 服务器上执行
编辑 kafka-server-start.sh 启动脚本
cd /opt/kafka/kafka_2.13-3.6.0/vim bin/kafka-server-start.sh编辑内容除注释外第一行加入 JMX 端口和指定服务器 IP注意替换 IP
export JMX_PORT9999KAFKA_OPTS-Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.authenticatefalse \-Dcom.sun.management.jmxremote.sslfalse \-Djava.rmi.server.hostname192.168.28.121
export KAFKA_OPTS重启 Kafka选择其中一种重启方式
# 脚本 重启
cd /opt/kafka/kafka_2.13-3.6.0/
bin/kafka-server-stop.sh
bin/kafka-server-start.sh -daemon config/kraft/server.properties# systemctl 重启
systemctl stop kafka-server.service
systemctl start kafka-server.service
systemctl status kafka-server.service检测 JMX 端口
netstat -tunlp |grep 99993手动启动
服务器重启后手动启动服务
cd /opt/KnowStreaming/KnowStreaming
# 启动
sh bin/startup.sh
# 关闭
sh bin/shutdown.sh4配置 Kafka 集群 三、其它
1.常用命令
命令说明systemctl daemon-reload重新加载服务配置systemctl start kafka-server.service启动服务systemctl enable kafka-server.service开机自启动服务systemctl status kafka-server.service查询服务状态systemctl stop kafka-server.service停止服务systemctl restart kafka-server.service重启服务systemctl disable kafka-server.service禁用开机自启动服务