温馨提示×

kafka于centos如何部署

小樊
43
2025-04-30 22:39:40
栏目: 智能运维

在CentOS上部署Kafka的步骤如下:

1. 环境准备

  • 安装JDK:Kafka是用Java编写的,因此需要先安装JDK。可以使用以下命令安装JDK 1.8:
    sudo yum install java-1.8.0-openjdk-devel java -version 
  • 下载和解压Kafka:从Apache Kafka官网下载Kafka的二进制文件,然后解压到指定目录。例如,下载Kafka 2.12.0版本:
    wget https://downloads.apache.org/kafka/2.12.0/kafka_2.12-2.12.0.tgz tar -xzvf kafka_2.12-2.12.0.tgz cd kafka_2.12-2.12.0 

2. 配置Zookeeper

  • 编辑Zookeeper配置文件
    vi config/zoo.cfg 
    修改以下配置项:
    tickTime=2000 dataDir=/tmp/zookeeper clientPort=2181 
  • 启动Zookeeper
    ./bin/zookeeper-server-start.sh config/zoo.cfg 

3. 配置Kafka

  • 编辑Kafka配置文件
    vi config/server.properties 
    修改以下配置项:
    broker.id=0 listeners=SASL_PLAINTEXT://:9092 security.inter.broker.protocol=SASL_PLAINTEXT sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN log.dirs=/tmp/kafka-logs zookeeper.connect=localhost:2181 
  • 创建Kafka目录
    mkdir -p /tmp/kafka-logs 

4. 启动Kafka服务

  • 启动Kafka服务
    ./bin/kafka-server-start.sh config/server.properties 

5. 验证Kafka启动

  • 创建一个主题
    ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 
  • 查看已创建的topic信息
    ./bin/kafka-topics.sh --list --zookeeper localhost:2181 
  • 发送消息
    ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 
  • 消费消息
    ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 

6. 设置开机自启

  • 创建Kafka服务文件
    sudo vi /etc/systemd/system/kafka.service 
    添加以下内容:
    [Unit] Description=Apache Kafka server After=network.target zookeeper.service [Service] Type=simple User=kafka Group=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=on-failure [Install] WantedBy=multi-user.target 
  • 启用并启动服务
    sudo systemctl daemon-reload sudo systemctl enable kafka sudo systemctl start kafka 

7. 防火墙配置

  • 开放相关端口
    sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent sudo firewall-cmd --reload 

8. 监控和日志管理

  • 配置监控和日志管理工具:如Kafka Manager或Prometheus结合Grafana,以监控Kafka集群的健康状况和性能指标。

9. 性能优化

  • TCP网络优化
    sudo sysctl -w net.core.rmem_default=262144 sudo sysctl -w net.core.rmem_max=2097152 sudo sysctl -w net.core.wmem_default=262144 sudo sysctl -w net.core.wmem_max=2097152 
  • 进程级资源限制优化
    sudo vi /etc/security/limits.conf 
    添加或修改以下行:
    * soft nofile 655360 * hard nofile 655360 * soft nproc 8096 * hard nproc 8096 

10. 数据备份与恢复

  • 定期备份Kafka数据,并制定灾难恢复计划。

以上步骤是在CentOS上部署Kafka的基本流程,具体配置可能需要根据实际情况进行调整。

0