代码改变世界

CentOS6.5安装kafka-2.10-0.8.2(单机)

2018-05-15 15:08  猎手家园  阅读(1893)  评论(0编辑  收藏  举报

1、下载

地址:https://kafka.apache.org/downloads

本文中下载版本:kafka_2.10-0.8.2.2.tgz

 

2、安装

安装目录:/usr/local

[root@mycentos ~]# tar -xzf kafka_2.10-0.8.2.2.tgz -C /usr/local
[root@mycentos ~]# cd /usr/local/kafka_2.10-0.8.2.2

 

3、启动zookeeper

3.1因为zookeeper.properties注释实在太多,所以我通过grep命令查找到kafka非注释的字符串,并把它追加到 zk.properties中。

[root@mycentos kafka_2.10-0.8.2.2]# cat zookeeper.properties | grep -v '#'  >> config/zk.properties

 

3.2、zk.properties只需要修改第一行

[root@mycentos config]# vi zk.properties
dataDir=/home/kafka/zk  #因为zookeeper变更为zk,所以需要在这里修改一下

 

3.3、启动zookeeper

[root@mycentos kafka_2.10-0.8.2.2]# bin/zookeeper-server-start.sh config/zk.properties      #后台启动加&

 

4、启动kafka

同zookeeper相同,筛选一下server.properties并把它追加到kafka_01.properties中

[root@mycentos kafka_2.10-0.8.2.2]# cat config/server.properties | grep -v '#'  >> config/kafka_01.properties
[root@mycentos kafka_2.10-0.8.2.2]# ./bin/kafka-server-start.sh config/kafka_01.properties

 

PS:kafka启动遇到问题 “Uninitialized object exists on backward branch 152”:

       JDK版本兼容问题,要么改JDK版本,要么改Kafka版本,自己决定。

 

5、创建一个主题:coupon_data_topic

[root@mycentos kafka_2.10-0.8.2.2]# bin/kafka-topics.sh --create --zookeeper 192.168.50.33:2181 --replication-factor 1 --partitions 1 --topic coupon_data_topic

 

查看主题:

[root@mycentos kafka_2.10-0.8.2.2]# bin/kafka-topics.sh --list --zookeeper 192.168.50.33:2181

 

6、启动生产者

[root@mycentos kafka_2.10-0.8.2.2]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic coupon_data_topic

 

输入:

This is a message
This is another message

 

PS:启动生产者遇到问题 “WARN Property topic is not valid.”

       在kafka_o1.properties中加入hostname一行:host.name=192.168.50.33

       重新启动kafka,你发现虽然还有这行提示,但是可以正常发送消息了。

 

7、启动消费者

[root@mycentos kafka_2.10-0.8.2.2]# bin/kafka-console-consumer.sh --zookeeper 192.168.50.33:2181 --topic coupon_data_topic --from-beginning
# 可以看到以下消费信息
This is a message
This is another message

 

不知为什么:

bin/kafka-console-consumer.sh --bootstrap-server 192.168.50.33:9092 --zookeeper 192.168.50.33:2181 --topic coupon_data_topic --from-beginning

这条命令执行不成功,提示:“'bootstrap-server' is not a recognized option”

 

附:

zookeeper只能启动单数,比如1台 、3台、7台等等,不能偶数台,偶数台的话假设有两台,那么只有一台机器再运行,因为如果是偶数的话,选举出来的管理者有可能两个zookeeper得到的票数相同,奇数的话就不会出现这个情况。