大数据新手之路三:安装Kafka

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

 

以上。

 

posted @ 2018-03-05 19:46  pcwen.top  阅读(835)  评论(0编辑  收藏  举报
pcwen.top