温馨提示×

Kafka在CentOS上的配置教程

小樊
128
2025-02-08 19:15:23
栏目: 智能运维

在CentOS上配置Kafka的步骤如下:

1. 安装Java环境

首先,确保你的CentOS系统上已经安装了Java运行环境。可以使用以下命令来安装OpenJDK 8:

sudo yum install java-1.8.0-openjdk-devel 

安装完成后,验证Java是否安装成功:

java -version 

2. 下载并解压Kafka

从Apache Kafka官网下载所需版本的Kafka安装包,然后上传到你的CentOS服务器并解压。例如,下载kafka_2.12-3.5.2.tgz并解压到/usr/local/kafka目录:

cd /usr/local wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz tar -zxvf kafka_2.12-3.5.2.tgz mv kafka_2.12-3.5.2 kafka 

3. 配置Kafka

进入Kafka的配置目录config,编辑server.properties文件,主要修改以下几项配置:

  • broker.id: 声明当前Kafka服务器在集群中的唯一ID,通常设置为0。
  • listeners: 声明当前Kafka服务器需要监听的端口号,例如listeners=PLAINTEXT://your_server_ip:9092
  • host.name: Kafka服务器的主机名,通常设置为服务器的IP地址。
  • log.dirs: Kafka存放日志数据的目录,例如/usr/local/kafka/kafka-logs
  • zookeeper.connect: Kafka服务器连接的Zookeeper地址,例如zookeeper.connect=localhost:2181

4. 启动Zookeeper服务

在另一个终端窗口中启动Zookeeper服务:

cd /usr/local/kafka/bin ./zookeeper-server-start.sh ../config/zookeeper.properties 

5. 启动Kafka服务

在另一个终端窗口中启动Kafka服务:

./kafka-server-start.sh ../config/server.properties 

6. 创建Topic

使用Kafka提供的命令行工具创建一个Topic:

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 

7. 测试Kafka

使用Kafka自带的生产者工具发送消息,并使用消费者工具接收并显示消息,以验证Kafka是否正常工作:

  • 发送消息:

    ./kafka-console-producer.sh --broker-list localhost:9092 --topic test 
  • 接收消息:

    ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 

8. 配置开机自启

为了确保Kafka服务在系统重启后自动启动,需要创建systemd服务文件。创建/etc/systemd/system/kafka.service文件,并添加以下内容:

[Unit] Description=Apache Kafka server After=network.target zookeeper.service [Service] Type=simple User=kafka Group=kafka WorkingDirectory=/usr/local/kafka ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh Restart=always [Install] WantedBy=multi-user.target 

同样地,创建/etc/systemd/system/zookeeper.service文件,并添加以下内容:

[Unit] Description=Apache Zookeeper After=network.target [Service] Type=simple User=zookeeper Group=zookeeper WorkingDirectory=/usr/local/kafka ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh Restart=always [Install] WantedBy=multi-user.target 

然后,启用并启动这些服务:

sudo systemctl daemon-reload sudo systemctl enable zookeeper sudo systemctl enable kafka sudo systemctl start zookeeper sudo systemctl start kafka 

9. 配置防火墙

确保防火墙允许Kafka使用的端口(如9092和2181):

sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent sudo firewall-cmd --reload 

至此,你已经在CentOS系统上成功配置了Kafka。可以通过创建Topic、发送和接收消息来验证其功能。

0