2026/4/18 18:57:38
网站建设
项目流程
大神部落 网站建设,wordpress移除google相关,在线代理网页免费,浏览器查看WordPress主题#x1f3ac; HoRain 云小助手#xff1a;个人主页
⛺️生活的理想#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站#xff0c;性价比超高#xff0c;大内存超划算#xff01;忍不住分享一下给大家。点击跳转到网站。 目录
⛳️ 推荐 … HoRain 云小助手个人主页⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。目录⛳️ 推荐 部署流程一览 环境准备与JDK安装 部署ZooKeeper传统模式 部署Kafka服务⚡ 使用KRaft模式部署无需ZooKeeper 测试验证️ 安全加固与监控可选在 CentOS 7 上部署 Kafka 确实需要关注一些细节配置。下面这份超详细指南将带你完成从环境准备到验证测试的全过程并涵盖了单机和集群两种部署方式。 部署流程一览部署 Kafka 的核心步骤清晰明了。无论是选择传统的 ZooKeeper 模式还是新的 KRaft 模式其主干流程如下帮你快速建立整体认知flowchart TD A[准备CentOS 7环境] -- B{选择部署模式} B -- 传统模式 -- C[安装JDK] B -- KRaft模式 -- C C -- D{继续基于模式选择} D -- 传统模式 -- E[部署ZooKeeper] D -- KRaft模式 -- F[生成集群ID并格式化存储] E -- G[配置与启动Kafka] F -- G G -- H[测试与验证] H -- I[可选:安全加固与监控] 环境准备与JDK安装系统基础检查与配置更新系统首先确保系统是最新的。连接服务器后执行以下命令sudo yum update -y配置主机名与Hosts解析集群部署必需为每个节点设置唯一的主机名并在所有节点的/etc/hosts文件中添加IP与主机名的映射。# 设置主机名例如在第一个节点执行 sudo hostnamectl set-hostname kafka-node1 # 编辑hosts文件 sudo vi /etc/hosts # 添加如下内容请替换为你的实际IP # 192.168.1.101 kafka-node1 # 192.168.1.102 kafka-node2 # 192.168.1.103 kafka-node3防火墙配置开放Kafka和ZooKeeper的默认端口。sudo firewall-cmd --permanent --add-port9092/tcp # Kafka sudo firewall-cmd --permanent --add-port2181/tcp # ZooKeeper # 如果是KRaft模式还需要开放控制器端口如9093 # sudo firewall-cmd --permanent --add-port9093/tcp sudo firewall-cmd --reload关闭SELinux可选建议测试环境sudo setenforce 0 sudo sed -i s/^SELINUXenforcing$/SELINUXdisabled/ /etc/selinux/config安装JDKKafka 运行需要 Java 环境。推荐安装 OpenJDK 8 或 11 。# 安装OpenJDK 8 sudo yum install -y java-1.8.0-openjdk-devel # 验证安装 java -version配置环境变量编辑/etc/profile文件在末尾添加export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk export PATH$PATH:$JAVA_HOME/bin使环境变量生效source /etc/profile。 部署ZooKeeper传统模式对于 Kafka 3.5.1 之前的版本或希望保持稳定性的生产环境通常需要先部署 ZooKeeper 集群单机测试可使用Kafka内置的ZooKeeper。下载并解压KafkaKafka内置ZooKeeperwget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz sudo tar -zxvf kafka_2.13-3.6.1.tgz -C /usr/local/ sudo mv /usr/local/kafka_2.13-3.6.1 /usr/local/kafka配置ZooKeepersudo mkdir -p /usr/local/kafka/data/zookeeper sudo vi /usr/local/kafka/config/zookeeper.properties关键配置如下 dataDir/usr/local/kafka/data/zookeeper clientPort2181 maxClientCnxns100 # 如果是ZooKeeper集群需要添加如下配置并创建myid文件 # server.1kafka-node1:2888:3888 # server.2kafka-node2:2888:3888 # server.3kafka-node3:2888:3888启动ZooKeepercd /usr/local/kafka sudo bin/zookeeper-server-start.sh -daemon config/zookeeper.properties使用jps命令查看进程如果看到QuorumPeerMain表示启动成功 。 部署Kafka服务配置Kafka编辑server.properties文件 。sudo mkdir -p /usr/local/kafka/data/kafka-logs sudo vi /usr/local/kafka/config/server.properties核心配置项单机版 tabletheadtrth配置项/thth说明/thth示例值单机/th/tr/theadtbodytrtdbroker.id/tdtdBroker的唯一标识集群中必须唯一。/tdtd0/td/trtrtdlisteners/tdtd监听地址告诉Kafka绑定哪个网络接口和端口。/tdtd[object Object]/td/trtrtdadvertised.listeners/tdtd非常重要客户端或其他Broker连接时用的地址。如果服务器有公网IP或需要外部访问务必设置为本机真实IP或主机名不能是0.0.0.0。/tdtdPLAINTEXT://你的服务器IP:9092/td/trtrtdlog.dirs/tdtdKafka日志实际是数据的存储目录。/tdtd/usr/local/kafka/data/kafka-logs/td/trtrtdzookeeper.connect/tdtdZooKeeper连接地址。单机本地就是localhost集群用逗号分隔。/tdtdlocalhost:2181/td/trtrtdnum.partitions/tdtd创建Topic时默认的分区数。/tdtd1/td/tr/tbody/table集群配置补充若部署三节点集群每个节点的server.properties需做如下调整 # 节点1 (kafka-node1) broker.id0 advertised.listenersPLAINTEXT://kafka-node1:9092 zookeeper.connectkafka-node1:2181,kafka-node2:2181,kafka-node3:2181 # 节点2 (kafka-node2) broker.id1 advertised.listenersPLAINTEXT://kafka-node2:9092 zookeeper.connectkafka-node1:2181,kafka-node2:2181,kafka-node3:2181 # 节点3 (kafka-node3) broker.id2 advertised.listenersPLAINTEXT://kafka-node3:9092 zookeeper.connectkafka-node1:2181,kafka-node2:2181,kafka-node3:2181启动Kafkacd /usr/local/kafka # 前台启动方便看日志调试 sudo bin/kafka-server-start.sh config/server.properties # 或后台启动使用 -daemon 参数 sudo bin/kafka-server-start.sh -daemon config/server.properties⚡ 使用KRaft模式部署无需ZooKeeperKafka 从3.0版本开始正式支持 KRaft 模式不再依赖 ZooKeeper简化了部署和运维 。生成集群IDcd /usr/local/kafka sudo bin/kafka-storage.sh random-uuid # 会输出一个UUID如 abc12345-6789-0def-ghij-klmnopqrstuv记录下来。格式化存储目录sudo bin/kafka-storage.sh format -t 生成的UUID -c config/kraft/server.properties配置KRaft模式编辑config/kraft/server.properties文件 。node.id1 process.rolescontroller,broker controller.quorum.voters1你的服务器IP:9093 listenersPLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 advertised.listenersPLAINTEXT://你的服务器IP:9092 log.dirs/usr/local/kafka/data/kraft-logs启动KafkaKRaft模式sudo bin/kafka-server-start.sh -daemon config/kraft/server.properties 测试验证无论哪种模式部署成功后都需测试。创建Topiccd /usr/local/kafka bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test-topic产生消息bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic命令行会等待输入输入几条测试消息如Hello Kafka!。消费消息另开一个终端执行bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning如果能成功看到之前产生的消息恭喜你Kafka已经成功安装并运行 ️ 安全加固与监控可选生产环境安全配置考虑配置SASL认证或SSL/TLS加密 。系统服务化创建Systemd服务文件/etc/systemd/system/kafka.service方便管理 。监控可集成Kafka-Eagle、Prometheus Grafana等监控方案 。希望这份详细的教程能帮助你在CentOS 7上顺利部署Kafka如果在具体操作中遇到问题可以参考文中引用的官方文档和社区资源。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧