大數據新手之路三:安裝Kafka
阿新 • • 發佈:2018-03-05
strac .get 解壓 配置文件 down rac ubuntu 信息 blog
WIN7+Ubuntu16.04+Kafka1.0.0
1.下載kafka_2.11-1.0.0.tgz
http://kafka.apache.org/downloads
2.解壓到/usr/local/kafka中
3.設置配置文件/etc/profile文件,增加kafka的路徑
①vi /etc/profile
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
②讓配置文件立即生效
source /etc/profile
4.檢查kafka環境是否生效
kafka-server-stop.sh
顯示
No kafka server to stop
5.啟動zookeeper(這裏使用kafka自帶的zookeeper,也可以獨立部署zookeeper使用)
使用默認的zookeeper.properties配置文件
zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
6.啟動kafka
使用默認的server.properties配置文件
kafka-server-start.sh /usr/local/kafka/config/server.properties
啟動失敗並提示如下錯誤:
FATAL [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)nager)999) by writing to Zk with path version 2 (kafka.coordinator.java.net.UnknownHostException: server38: server38: 未知的名稱或服務
at java.base/java.net.InetAddress.getLocalHost(Unknown Source)
at kafka.server.KafkaHealthcheck$$anonfun$ 1.apply(KafkaHealthcheck.scala:63)
at kafka.server.KafkaHealthcheck$$anonfun$1.apply(KafkaHealthcheck.scala:61)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.AbstractTraversable.map(Traversable.scala:104)
at kafka.server.KafkaHealthcheck.register(KafkaHealthcheck.scala:61)
表示解析不了server38這個host!
使用hostname可以看到,我們機器的hostname就是server38
修改/etc/hosts文件,增加一行如下內容即可:
127.0.0.1 server38 localhost
7.創建一個名字為test的topic
2181為zookeeper的默認端口
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
8.創建一個consumer接受消息
9092為kafka默認端口
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
9.創建一個producer,並輸入信息。
kafka-console-producer.sh --broker-list localhost:9092 --topic test
在consumer進程中可以看到對應的輸入信息。
PS:
1.查看kafka當前的topic列表
kafka-topics.sh --list --zookeeper localhost:2181
2.使用參數--from-beginning,讓consumer從第一個開始接受消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
以上。
大數據新手之路三:安裝Kafka