洛阳哪里做网站深圳最近消息

张小明 2026/3/2 20:01:24
洛阳哪里做网站,深圳最近消息,asp网站建设制作,拖鞋设计网站推荐Kafka 作为高吞吐、高可靠的分布式消息队列#xff0c;在大数据领域和微服务架构中应用广泛。搭建稳定的 Kafka 集群是其发挥作用的基础#xff0c;但跨系统环境搭建常面临各类问题。本文将分别详解 Windows 和 Linux 环境下 Kafka 集群的完整搭建流程#xff0c;并附上实战…Kafka 作为高吞吐、高可靠的分布式消息队列在大数据领域和微服务架构中应用广泛。搭建稳定的 Kafka 集群是其发挥作用的基础但跨系统环境搭建常面临各类问题。本文将分别详解 Windows 和 Linux 环境下 Kafka 集群的完整搭建流程并附上实战避坑手册助力开发者少走弯路。一、前置知识Kafka 集群核心依赖与架构在开始搭建前需明确 Kafka 集群的核心组成与依赖关系避免因基础认知缺失导致的配置混乱。1.1 核心依赖Kafka 依赖 ZooKeeper 进行集群管理Kafka 2.8 支持 KRaft 模式无需 ZooKeeper但生产环境仍以 ZooKeeper 模式为主因此搭建 Kafka 集群前需先部署 ZooKeeper 集群。同时两者均依赖 Java 环境需确保 JDK 版本符合要求推荐 JDK 1.8避免使用 JDK 11 及以上版本可能出现的兼容性问题。1.2 集群架构核心概念BrokerKafka 服务实例每个 Broker 对应一个节点集群中 Broker 数量建议为奇数便于选举最少 3 个节点保证高可用。Topic消息主题数据分类的逻辑单元每个 Topic 会被分为多个 Partition。Partition分区Kafka 并行处理的核心每个 Partition 数据有序多分区分布在不同 Broker 上实现负载均衡。Replica副本每个 Partition 的备份副本分布在不同 Broker 上确保节点故障时数据不丢失推荐副本数 2-3 个。Leader/Follower每个 Partition 有一个 Leader 副本处理读写请求其他为 Follower 副本同步数据Leader 故障时自动选举新 Leader。二、通用准备环境配置与安装包获取无论 Windows 还是 Linux 环境均需先完成以下通用准备工作。2.1 JDK 环境配置下载 JDK 1.8 版本如 jdk-8u381-linux-x64.tar.gz 或 jdk-8u381-windows-x64.exe官网地址Oracle JDK 归档页。安装并配置环境变量Linux解压至 /usr/local/jdk1.8编辑 /etc/profile添加export JAVA_HOME/usr/local/jdk1.8、export PATH$JAVA_HOME/bin:$PATH执行source /etc/profile生效通过java -version验证。Windows安装后在“系统环境变量”中添加 JAVA_HOME 指向安装目录在 Path 中添加 %JAVA_HOME%\bincmd 中执行java -version验证。2.2 安装包获取下载 Kafka 稳定版本推荐 2.8.x 或 3.0.x 版本如 kafka_2.13-3.5.1.tgz官网地址Kafka 下载页。注意 Kafka 版本命名格式为 kafka_scala版本-kafka版本Scala 版本不影响核心使用选择最新稳定版即可。2.3 集群节点规划以 3 节点集群为例规划如下实际环境需替换为真实 IP节点IP 地址Broker IDZooKeeper 角色节点 1192.168.1.101Linux/ 192.168.1.101Windows0Leader/Follower节点 2192.168.1.102Linux/ 192.168.1.102Windows1Leader/Follower节点 3192.168.1.103Linux/ 192.168.1.103Windows2Leader/Follower说明ZooKeeper 集群需 3 个节点实现高可用Kafka 与 ZooKeeper 可部署在同一节点也可分离部署生产环境建议分离以降低资源竞争。三、Linux 环境下 Kafka 集群搭建Linux 是 Kafka 集群的主流部署环境稳定性和性能更优以下以 CentOS 7 为例。3.1 ZooKeeper 集群搭建解压安装包将 ZooKeeper 安装包如 apache-zookeeper-3.8.4-bin.tar.gz上传至各节点解压至 /usr/local/zookeepertar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /usr/local/ mv /usr/local/apache-zookeeper-3.8.4-bin /usr/local/zookeeper配置 zoo.cfg进入 /usr/local/zookeeper/conf 目录复制模板文件并修改cp zoo_sample.cfg zoo.cfg编辑 zoo.cfg核心配置如下# 数据存储目录需提前创建dataDir/usr/local/zookeeper/data日志存储目录需提前创建dataLogDir/usr/local/zookeeper/logs客户端连接端口clientPort2181集群节点配置server.节点IDIP:通信端口:选举端口server.0192.168.1.101:2888:3888server.1192.168.1.102:2888:3888server.2192.168.1.103:2888:3888心跳间隔tickTime2000初始化同步时间initLimit10同步超时时间syncLimit5设置节点 ID在各节点的 dataDir 目录下创建 myid 文件内容为对应节点的 ID如节点 1 写入 0节点 2 写入 1节点 3 写入 2mkdir -p /usr/local/zookeeper/data /usr/local/zookeeper/logs echo 0 /usr/local/zookeeper/data/myid启动 ZooKeeper 集群在各节点执行启动命令先启动从节点再启动主节点实际会自动选举/usr/local/zookeeper/bin/zkServer.sh start通过以下命令验证状态查看是否为 Leader 或 Follower/usr/local/zookeeper/bin/zkServer.sh status3.2 Kafka 集群配置与启动解压安装包将 Kafka 安装包上传至各节点解压至 /usr/local/kafkatar -zxvf kafka_2.13-3.5.1.tgz -C /usr/local/ mv /usr/local/kafka_2.13-3.5.1 /usr/local/kafka修改 server.properties进入 /usr/local/kafka/config 目录编辑核心配置文件 server.properties各节点需修改 Broker ID 和监听地址其他配置一致# 每个节点唯一的 Broker ID0、1、2 依次递增broker.id0监听地址PLAINTEXT 为明文协议需指定节点 IP避免使用 localhostlistenersPLAINTEXT://192.168.1.101:9092广告地址客户端实际连接的地址与 listeners 一致advertised.listenersPLAINTEXT://192.168.1.101:9092消息存储目录需提前创建log.dirs/usr/local/kafka/logsZooKeeper 集群地址用逗号分隔zookeeper.connect192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181/kafka每个 Topic 的默认分区数num.partitions3每个 Partition 的默认副本数需小于等于 Broker 数量default.replication.factor2数据保留时间默认 7 天可根据需求调整log.retention.hours168单个日志文件大小限制log.segment.bytes1073741824ZooKeeper 连接超时时间zookeeper.connection.timeout.ms18000说明节点 2 和 3 需将 broker.id 分别改为 1 和 2listeners 和 advertised.listeners 改为对应节点的 IP。启动 Kafka 集群在各节点执行后台启动命令需先确保 ZooKeeper 已启动nohup /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties /usr/local/kafka/kafka.log 21启动后通过日志验证是否成功tail -f /usr/local/kafka/kafka.log若出现 “started (kafka.server.KafkaServer)” 则表示启动成功。3.3 集群功能验证创建 Topic在任意节点执行以下命令创建一个名为 test_topic 的 Topic指定 3 个分区和 2 个副本/usr/local/kafka/bin/kafka-topics.sh --create --topic test_topic --bootstrap-server 192.168.1.101:9092,192.168.1.102:9092,192.168.1.103:9092 --partitions 3 --replication-factor 2查看 Topic 信息验证 Topic 分区和副本分布情况/usr/local/kafka/bin/kafka-topics.sh --describe --topic test_topic --bootstrap-server 192.168.1.101:9092输出结果中会显示每个 Partition 的 Leader 和 Follower 节点。发送消息在节点 1 启动生产者发送消息/usr/local/kafka/bin/kafka-console-producer.sh --topic test_topic --bootstrap-server 192.168.1.101:9092输入任意消息后回车发送。接收消息在节点 2 启动消费者接收消息–from-beginning 表示从开头消费/usr/local/kafka/bin/kafka-console-consumer.sh --topic test_topic --bootstrap-server 192.168.1.102:9092 --from-beginning若能接收到生产者发送的消息说明集群通信正常。四、Windows 环境下 Kafka 集群搭建Windows 环境主要用于开发和测试生产环境不推荐。以下以 Windows 10 为例搭建 3 节点集群可在同一台机器通过不同端口模拟也可在多台 Windows 机器上部署。4.1 ZooKeeper 集群搭建多端口模拟解压安装包将 ZooKeeper 安装包解压至 D:\zookeeper为每个节点创建独立目录如 zk-node0、zk-node1、zk-node2。配置各节点 zoo.cfg以 zk-node0 为例进入 D:\zookeeper\zk-node0\conf复制 zoo_sample.cfg 为 zoo.cfg修改核心配置dataDirD:\zookeeper\zk-node0\data dataLogDirD:\zookeeper\zk-node0\logs clientPort2181 server.0127.0.0.1:2888:3888 server.1127.0.0.1:2889:3889 server.2127.0.0.1:2890:3890 tickTime2000 initLimit10 syncLimit5zk-node1 需修改 clientPort 为 2182dataDir 和 dataLogDir 对应自身目录zk-node2 客户端端口为 2183以此类推。设置节点 ID在各节点 data 目录下创建 myid 文件zk-node0 写入 0zk-node1 写入 1zk-node2 写入 2。启动 ZooKeeper 节点分别打开 3 个 cmd 窗口切换至各节点 bin 目录执行启动命令zkServer.cmd若窗口显示 “binding to port 0.0.0.0/0.0.0.0:2181” 等信息说明启动成功。4.2 Kafka 集群配置与启动多端口模拟解压安装包将 Kafka 安装包解压至 D:\kafka为每个节点创建独立目录如 kafka-node0、kafka-node1、kafka-node2。修改各节点 server.properties以 kafka-node0 为例进入 D:\kafka\kafka-node0\config编辑 server.propertiesbroker.id0 listenersPLAINTEXT://127.0.0.1:9092 advertised.listenersPLAINTEXT://127.0.0.1:9092 log.dirsD:\kafka\kafka-node0\logs zookeeper.connect127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183/kafka num.partitions3 default.replication.factor2 log.retention.hours168kafka-node1 需修改 broker.id1监听端口 9093kafka-node2 broker.id2监听端口 9094其他配置对应自身目录。启动 Kafka 节点分别打开 3 个 cmd 窗口切换至各节点 bin\windows 目录执行启动命令kafka-server-start.bat ..\..\config\server.properties若窗口显示 “Started KafkaServer” 则启动成功注意启动过程中不要关闭 cmd 窗口后台启动需通过脚本实现测试环境可直接保持窗口打开。4.3 集群功能验证创建 Topic打开新 cmd 窗口切换至任意 Kafka 节点的 bin\windows 目录执行kafka-topics.bat --create --topic test_topic --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 --partitions 3 --replication-factor 2查看 Topic 信息kafka-topics.bat --describe --topic test_topic --bootstrap-server 127.0.0.1:9092发送与接收消息生产者新 cmd 窗口kafka-console-producer.bat --topic test_topic --bootstrap-server 127.0.0.1:9092消费者新 cmd 窗口kafka-console-consumer.bat --topic test_topic --bootstrap-server 127.0.0.1:9093 --from-beginning五、避坑手册集群搭建常见问题与解决方案搭建过程中难免遇到各类问题以下是高频问题及实战解决方案覆盖环境配置、启动故障、通信异常等场景。5.1 环境依赖类问题**问题 1启动 Kafka 时提示 “JAVA_HOME is not set and could not be found”**解决方案检查 JAVA_HOME 环境变量配置是否正确Linux 需确保 /etc/profile 中的配置已通过 source 生效Windows 需在“系统环境变量”中配置而非“用户环境变量”配置后重启 cmd 窗口。**问题 2JDK 版本过高导致 Kafka 启动失败如 JDK 11 报错**解决方案Kafka 对 JDK 11 兼容性尚不完善卸载高版本 JDK安装 JDK 1.8 版本重新配置环境变量。5.2 ZooKeeper 集群问题**问题 1ZooKeeper 节点启动后状态为 “Error contacting service. It is probably not running.”**解决方案① 检查 zoo.cfg 中 dataDir 和 dataLogDir 目录是否已创建② 验证 myid 文件是否存在且内容与 server.id 一致③ 检查集群节点 IP 和端口是否配置正确确保防火墙未拦截 2181、2888、3888 端口Linux 执行firewall-cmd --add-port2181/tcp --permanent开放端口。问题 2ZooKeeper 集群无法选举出 Leader所有节点均为 Follower解决方案① 确保集群节点数为奇数最少 3 个② 检查各节点 myid 文件内容唯一且与 zoo.cfg 中 server 配置对应③ 查看日志dataLogDir 下排查是否存在网络不通或端口占用问题。5.3 Kafka 集群问题**问题 1Kafka 启动后日志提示 “ConnectionRefusedException: Connection refused (Connection refused) to ZooKeeper”**解决方案① 确认 ZooKeeper 集群已正常启动② 检查 server.properties 中 zookeeper.connect 配置是否正确IP、端口、路径是否匹配③ 验证 Kafka 节点与 ZooKeeper 节点网络互通Linux 执行 ping 命令Windows 执行 telnet 或 Test-NetConnection 命令。**问题 2生产者发送消息失败提示 “LeaderNotAvailableException”**解决方案① 检查 Topic 副本数是否大于 Broker 数量default.replication.factor 需 ≤ Broker 数量② 确认 Kafka 集群所有节点已正常启动Leader 节点未故障③ 重新创建 Topic确保分区和副本配置合理。问题 3Windows 环境下 Kafka 启动后 cmd 窗口闪退解决方案① 以管理员身份运行 cmd 窗口② 检查 server.properties 中 log.dirs 目录是否存在且有写入权限③ 在启动命令后添加 pause如kafka-server-start.bat ..\..\config\server.properties pause查看具体报错信息。问题 4跨节点消费消息失败本地节点可正常消费解决方案① 检查 server.properties 中 listeners 和 advertised.listeners 配置是否为节点实际 IP不可用 localhost 或 127.0.0.1否则跨节点无法识别② 开放 Kafka 监听端口Linux 开放 9092 端口Windows 在防火墙中添加端口例外。5.4 性能与稳定性优化建议Linux 环境下关闭防火墙或开放必要端口ZooKeeper 2181、2888、3888Kafka 9092避免网络拦截。生产环境中Kafka 日志目录建议挂载独立磁盘避免与系统盘竞争 I/O 资源。根据业务需求调整 log.retention.hours 和 log.segment.bytes避免日志文件过大占用存储空间。设置 Kafka 启动脚本为系统服务Linux 可通过 systemd 配置Windows 可通过服务管理器实现开机自启。定期清理 Kafka 过期日志可通过 log.retention.check.interval.ms 配置日志检查间隔。六、总结Kafka 集群搭建的核心在于理清 ZooKeeper 与 Kafka 的依赖关系确保各节点配置一致且唯一同时规避网络、权限、版本兼容等常见问题。Linux 环境需注重服务启停管理和权限配置Windows 环境则需关注端口占用和目录权限问题。通过本文的步骤指引和避坑手册可快速搭建稳定的 Kafka 集群为后续业务开发和数据流转提供可靠支撑。若在搭建过程中遇到其他问题可通过 Kafka 日志/usr/local/kafka/kafka.log 或 Windows 启动窗口输出定位具体错误信息结合官方文档进一步排查解决。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

微餐饮网站建设商城网站数据库表关系设计

9 个文献综述降重工具,研究生 AI 写作推荐 论文路上的“隐形敌人”:降重,真的这么难吗? 对于研究生来说,写论文不是一场简单的知识整理,而是一场与时间、压力和自我要求的拉锯战。尤其是文献综述部分&#…

张小明 2026/1/20 23:51:08 网站建设

西安商城网站开发制作做网站去哪里找客户

打造完美Emby体验:Tsukimi第三方客户端完整指南 【免费下载链接】tsukimi A simple third-party Emby client 项目地址: https://gitcode.com/gh_mirrors/ts/tsukimi 在当今数字娱乐蓬勃发展的时代,一个高性能、高颜值的媒体客户端能极大提升你的…

张小明 2026/1/20 23:50:37 网站建设

平舆专业网站建设品牌宣传推广策划方案

还在为MCP Server的环境配置焦头烂额吗?Node版本冲突、依赖包安装失败、系统权限问题...这些开发路上的绊脚石,是否让你对部署望而却步?别担心,今天我将带你用Docker解决方案,轻松开启Context7 MCP Server的容器化之旅…

张小明 2026/1/20 23:50:07 网站建设

网站建设北京贵黑龙江国际旅行社电话

3分钟学会免费阅读付费内容:Chrome扩展完全指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的时代,你是否经常遇到这样的情况:看到一…

张小明 2026/1/20 23:49:36 网站建设

刚建设的网站如何推广北京 网络发布

DRLVaultV3 就是一个基于 USDC 的 Uniswap V3 [WETH, USDC] 流动性收益协议:用户只需要存 USDC 和取 USDC,项目方(operator)负责所有添加流动性、调仓、收手续费的复杂操作,最终收益和本金都以 USDC 形式归用户所有。造…

张小明 2026/1/20 23:49:05 网站建设

php做网站还是linux网站建设5个why

Mission Planner:无人机控制的终极指南 【免费下载链接】MissionPlanner 项目地址: https://gitcode.com/gh_mirrors/mis/MissionPlanner 想要掌握专业的无人机飞行控制技术?Mission Planner作为业界领先的无人机控制软件,将复杂的飞…

张小明 2026/1/20 23:48:03 网站建设