kafka安裝(單機版)
一、安裝kafka(單機版)
因為現在的kafka安裝包都自帶zookeeper,所以如果是安裝本地單機版kafka,不需要額外去安裝zookeeper,使用自帶的就可以了。
1、下載kafka 2.4版本
kafka下載地址:http://kafka.apache.org/downloads.html
# wget https://mirror.bit.edu.cn/apache/kafka/2.4.1/kafka_2.12-2.4.1.tgz # tar xf kafka_2.12-2.4.1.tgz # mv kafka_2.12-2.4.1 /apps/kafka
2、修改server.properties檔案
# cd /apps/kafka/ # vim config/server.properties listeners=PLAINTEXT://:9092 host.name= 172.16.143.115 advertised.listeners=PLAINTEXT://172.16.143.115:9092
3、配置jdk環境
jdk下載地址:https://www.oracle.com/java/technologies/downloads/
# 上傳jdk1.8到伺服器 # 解壓 # mkdir /usr/java # tar xf jdk-8u162-linux-x64.tar.gz -C /usr/java/ # 配置環境變數 # vim /etc/profile # jdk1,8 export JAVA_HOME=/usr/java/jdk1.8.0_162 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin # kafka export KAFKA_HOME=/apps/kafka # 重新載入使生效 # source /etc/profile
4、啟動zookeeper
./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
5、啟動kafka
# ./bin/kafka-server-start.sh -daemon ./config/server.properties
6、加入開機自啟動
# vim /etc/rc.local # start kafka /apps/kafka/bin/zookeeper-server-start.sh -daemon /apps/kafka/config/zookeeper.properties /apps/kafka/bin/kafka-server-start.sh -daemon /apps/kafka/config/server.properties
7、建立開機啟動服務項
# 建立zookeeper的服務啟動項。jdk與kafka安裝目錄修改為自己的路徑。
# vim /usr/lib/systemd/system/zookeeper.service [Unit] Description=Zookeeper service After=network.target [Service] Type=simple Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_162/bin/" User=root Group=root ExecStart=/data/apps/kafka/bin/zookeeper-server-start.sh /data/apps/kafka/config/zookeeper.properties ExecStop=/data/apps/kafka/bin/zookeeper-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target
建立kafka服務啟動項
# vim /usr/lib/systemd/system/kafka.service [Unit] Description=Apache Kafka server (broker) After=network.target zookeeper.service [Service] Type=simple Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_162/bin/" User=root Group=root ExecStart=/data/apps/kafka/bin/kafka-server-start.sh /data/apps/kafka/config/server.properties ExecStop=/data/apps/kafka/bin/kafka-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target
重新載入服務啟動項
# systemctl daemon-reload
啟動服務
# 啟動zookeeper systemctl restart zookeeper.service # 啟動kafka systemctl start kafka.service # 檢視服務狀態 systemctl status zookeeper.service systemctl status kafka.service # 開機自啟動 systemctl enable zookeeper.service systemctl enable kafka.service
二、Php 安裝Kafka擴充套件
方法一:使用之前的remi源直接yum安裝kafka擴充套件。
# 安裝remi源 yum install epel-release -y yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y # 使用remi源安裝kafka擴充套件 yum --enablerepo=remi-php73 install php-rdkafka -y # 檢視是否已經包含改模組了 [root@test-135 kafka]# php -m |grep rdkafka rdkafka # 重啟php-fpm systemctl restart php-fpm
在php裡新增訪問kafka的配置,
# vim /apps/web/php/api/dev.php 'KAFKA' => [ 'host' => '172.16.143.115', 'port' => 9092, 'version' => '2.4.1' ], # php easyswoole restart
方法二:也可以用原始碼編譯的方式安裝php擴充套件。
1.安裝librdkafka git clone https://github.com/edenhill/librdkafka.git cd librdkafka ./configure make && make install 2.安裝php-rdkafka擴充套件,with-php-config改成自己的php-config路徑 #git clone https://github.com/arnaud-lb/php-rdkafka.git wget https://pecl.php.net/get/rdkafka-3.0.3.tgz tar xf rdkafka-3.0.3.tgz cd rdkafka-3.0.3/ phpize ./configure --with-php-config=/usr/bin/php-config make && make install 3.修改php.ini檔案,新增 extension = rdkafka.so 4.檢視是否安裝成功 php -m |grep rdkafka 5.重啟php # systemctl restart php-fpm
三、配置kafka內外網都可以訪問
預設advertised.listeners是不接受0.0.0.0的配置的,只能填具體的合法的IP地址或域名,所以要想實現kafka內外網都可以訪問,則可以用主機名對映的方式實現。
將advertised.listeners=PLAINTEXT://kafkahost:9092 ,註釋listeners和host.name,然後在內網伺服器將kafkahost對映為內網ip,外網客戶端將kafkahost對映為kafka伺服器的外網IP。
修改配置,註釋host.name和listeners
# vim config/server.properties #listeners=PLAINTEXT://0.0.0.0:9092 #host.name= 0.0.0.0 advertised.listeners=PLAINTEXT://kafkahost:9092
修改本地hosts檔案,
# vim /etc/hosts 127.0.0.1 kafkahost
在kafka客戶端,對映為內網地址:
# vim /etc/hosts 192.168.x.x kafkahost
在外網,比如本地,對映為外網地址:
# 編輯 C:\Windows\System32\drivers\etc\hosts 外網IP kafkahost
用kafka工具連線如下圖:
四、kafka客戶端連線工具kafka Tool
推薦一款kafka視覺化的介面連線工具:kafka Tool
官方下載地址:https://www.kafkatool.com/download.html
選擇自己對應的版本進行下載安裝
填寫相關的連線地址即可連上,在介面操作主題分割槽