测试环境:Centos6.x

安装

# 依赖环境
yum -y install java-1.8.0-openjdk.x86_64

# 线上版本:kafka_2.11-0.11.0.0.tgz
# python2.6支持的最高版本0.10.1、php扩展最低支持版本0.10.1
# https://archive.apache.org/dist/kafka/0.10.1.0/kafka_2.10-0.10.1.0.tgz
cd /usr/local/src/
wget https://archive.apache.org/dist/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz
tar xzf kafka_2.11-0.11.0.0.tgz
[ -d /usr/local/kafka ] || mv kafka_2.11-0.11.0.0 /usr/local/kafka

运行

# 1、启动zookeeper
cd /usr/local/kafka
vim config/zookeeper.properties
dataDir=/data/kafka/zookeeper

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

# 2、启动kafka
cd /usr/local/kafka
# a、注意测试hostname是否可以解析
# b、设置生产者、消费者返回的地址(默认的话为一下方法返回的数据:java.net.InetAddress.getCanonicalHostName(),生产者消费者将无法访问)
vim config/server.properties
log.dirs=/data/kafka/kafka-logs
advertised.listeners=PLAINTEXT://10.0.0.155:9092
# c、启动
bin/kafka-server-start.sh -daemon config/server.properties

# 关闭
# ./bin/kafka-server-stop.sh

# 3、创建topic
cd /usr/local/kafka
# 新版本用的bootstrap-server参数直接访问kafka的broker
# 老版本还是连接的zk
bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test

# 4、查看topic
bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181

测试

# 发送消息
> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message

# 接收消息
> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
This is a message
This is another message

/usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic ht --from-beginning