"该文档详细介绍了在CentOS7操作系统上安装和配置Apache Kafka集群的步骤。Kafka是一个分布式流处理平台,常用于大数据实时处理和消息传递。在 CentOS7环境下,首先需要准备三台服务器,并确保每台服务器的主机名与IP映射正确。接着,需要先安装JDK11环境,因为Kafka运行需要Java支持。然后是Zookeeper集群的搭建,Zookeeper作为Kafka的协调服务,用于管理集群中的元数据。
在Kafka的下载地址(http://kafka.apache.org/downloads)获取最新版本的Kafka,例如这里使用的是kafka_2.12-2.3.0。将压缩包解压后,对配置文件进行编辑,特别是位于每个节点config目录下的server.properties,配置包括broker id、zookeeper连接信息、端口设置等。
在所有节点上分发Kafka安装文件夹,并根据节点角色分别修改配置文件,比如kafka1、kafka2和kafka3节点的server.properties。为了允许Kafka服务间的通信,建议关闭防火墙或者至少打开必要的端口,如9092(Kafka的默认监听端口)和2181(Zookeeper的默认端口)。
启动Zookeeper集群,通过命令检查每个节点的Zookeeper状态以确保集群正常工作。接着,启动Kafka集群,并同样检查各节点的Kafka状态。为了方便操作,可以将config目录下的server.properties拷贝到bin目录下,使得Kafka的启动脚本可以直接访问配置。
在Kafka集群运行正常后,可以开始创建Topic,这是Kafka中消息的基本单位。使用kafka-topics.sh脚本创建一个名为test的Topic,指定Zookeeper服务器地址、复制因子(replication-factor,这里是1表示没有副本)和分区数(partitions,这里是1)。创建成功后,可以通过kafka-topics.sh的--list选项查看所有Topic。
发布消息到创建的Topic,使用kafka-console-producer.sh命令在kafka1节点上发送消息。在另一个终端,可以在kafka2节点上使用kafka-console-consumer.sh命令消费这些消息,加上--from-beginning参数表示从头开始消费。这样就完成了基本的Kafka集群安装、配置和操作流程。"