很早以前入手了Pi2,最近想在其上安裝kafka,一路曲折,終於搞好,記錄下歷程。
總體是參考以下文章進行安裝的
How to install Zookeeper and Kafka in Raspberry Pi 3
但遇到了不少問題
1. apt-get的源換成國內的
/etc/apt/sources.list文件,換成如下:
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
之後進行 sudo apt-get update && sudo apt-get upgrade
2. jessie to wheezy?
3. zookeeper啓動報錯
zookeeper啓動時,報Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain,
4. kafka啓動失敗
報錯:java.lang.VerifyError: Uninitialized object exists on backward branch 209
參考:kafka啓動失敗Uninitialized object exists on backward branch 209 解決
5. java 8 升級
下載地址:https://mirrors.huaweicloud.com/java/jdk/8u202-b08/
6. Kafka啓動報錯
報錯:kafka/bin/kafka-run-class.sh: 第 309 行:exec: java
參考:kafka啓動自帶zookeeper單節點實例報錯:/home/software/kafka_2.11-2.3.1/bin/kafka-run-class.sh: 第 299 行:exec: java
但是,我按上面建立軟連接,依然不行,沒辦法,最後改了kafka-run-class.sh文件
把JAVA="java" 改成了JAVA="which java"
# Which java to use
if [ -z "$JAVA_HOME" ]; then
JAVA="which java"
else
JAVA="$JAVA_HOME/bin/java"
fi
果然好用了,哈哈哈。
7. zookeeper和kafka的啓動
zookeeper的啓動:
sudo /usr/local/apache-zookeeper-3.6.0/bin/zkServer.sh start
啓動後,利用status檢查下
/usr/local/apache-zookeeper-3.6.0/bin/zkServer.sh status (注意:我這裏前面不能加sudo,加上sudo,提示如下)
kafka的啓動:
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties & (注意:我這裏前面不能加sudo)
8. 檢查zookeeper和kafka是否啓動成功