1. 程式人生 > >CentOS7下Kafka安裝

CentOS7下Kafka安裝

min -c 版本 rop sync start.s 服務 port tar.gz

Kafka需要使用Zookeeper進行調度,本文描述的主要內容有:

  • 使用Kafka自帶的zookeeper進行安裝(可參看kafka自帶的說明文件)
  • 為Kafka和zookeep配置CentOS下的服務
  • 為Kafka和zookeep配置Firwalld相關的文件

    前提

    安裝環境為CentOS7.x,官網下載最新版的Kafka,解壓至/opt/kafka中(可以創建一個指向當前版本的軟連接)。

    tar -zxf kafka_2.12-2.1.1.tar.gz -C /opt // 解壓到指定文件夾下
    ln -s /opt/kafka_2.12-2.1.1 /opt/kafka // 創建指向當前版本的軟連接

    為Zookeeper創建服務

    系統定義服務腳本位於/usr/lib/systemd/system/目錄下,自定義服務腳本位於/etc/systemd/system/目錄下。因此在/etc/systemd/system/目錄下,新建zookeeper.service文件,內容如下:

    [Unit]
    Description=zookeeper.service
    After=network.target
    [Service]
    User=root
    Type=idle
    Enviroment=ZOO_LOG_DIR=/var/log/zookeeper
    ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
    ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh /opt/kafka/config/zookeeper.properties
    ExecReload=$ExecStop;$ExecStart
    [Install]
    WantedBy=multi-user.target

    為Kafka創建服務

    在/etc/systemd/system/目錄下,創建kafka.service文件

    [Unit]
    Description=kafka.service
    After=network.target remote-fs.target zookeeper.service
    [Service]
    User=root
    Type=idle
    ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    ExecStop=/opt/kafka/bin/kafka-server-stop.sh /opt/kafka/config/server.properties
    ExecReload=$ExecStop;$ExecStart
    [Install]
    WantedBy=multi-user.target

    為Zookeeper創建Firewalld的配置文件

    系統自帶的firewalld管理的服務位於/usr/lib/firewalld/services/目錄下,自定義的firewalld管理服務位於/etc/firewalld/services/目錄下。因此在/etc/firewalld/services/目錄下,新建zookeeper.xml文件,內容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <service>
    <short>Zookeeper</short>
        <description>Zookeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. Usually used with Kafka.</description>
        <port protocol="tcp" port="2181"/>
        <port protocol="tcp" port="2888-3888"/>
    </service>

    為Kafka創建Firewalld的配置文件

    在/etc/firewalld/services/目錄下,新建kafka.xml文件,內容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <service>
    <short>Kafka</short>
        <description>Kafka is a streaming platform.</description>
        <port protocol="tcp" port="9092"/>
    </service>

CentOS7下Kafka安裝