溫馨提示×

kafka于centos如何部署

小樊
35
2025-04-30 22:39:40
欄目: 智能運維

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

1. 環境準備

  • 安裝JDK:Kafka是用Java編寫的,因此需要先安裝JDK??梢允褂靡韵旅畎惭bJDK 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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女