下载 Kafka
http://archive.apache.org/dist/kafka/1.1.0/
解压并重命名
cd /usr/local
tar zxvf kafka_2.12-1.1.0.tgz
mv kafka_2.12-1.1.0 kafka_2.12-1.1.0/
配置 kafka
mkdir /usr/local/kafka/log/kafka #创建 kafka 日志目录
cd /usr/local/kafka/config #进入配置目录
vi server.properties #编辑修改相应的参数
broker.id=0
port=9092 #端口号
host.name=hostname #hostname
listeners=PLAINTEXT://hostname:9092
log.dirs=/usr/local/kafka/log/kafka #日志存放路径,上面创建的目录
zookeeper.connect=localhost:2181 #zookeeper 地址和端口,单机配置部署,localhost:2181
配置 zookeeper
mkdir /usr/local/kafka/zookeeper #创建 zookeeper 目录
mkdir /usr/local/kafka/log/zookeeper #创建 zookeeper 日志目录
cd /usr/local/kafka/config #进入配置目录
vi zookeeper.properties #编辑修改相应的参数
dataDir=/usr/local/kafka/zookeeper #zookeeper 数据目录
dataLogDir=/usr/local/kafka/log/zookeeper #zookeeper 日志目录
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
以上配置使用了 kafka 自动的 zookeeper,无需单独安装一个 zookeeper
启动脚本
vi kafkastart.sh #编辑,添加以下代码
#!/bin/sh
#启动 zookeeper
/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties &
sleep 3 #等 3 秒后执行
#启动 kafka
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
停止脚本
vi kafkastop.sh #编辑,添加以下代码
#!/bin/sh
#关闭 zookeeper
/usr/local/kafka/bin/zookeeper-server-stop.sh /usr/local/kafka/config/zookeeper.properties &
sleep 3 #等 3 秒后执行
#关闭 kafka
/usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/config/server.properties &
创建一个 Topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
上述命令为创建一个副本数为 1,分区数为 1 的,名字为 test 的 topic
查看 Topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
发送消息
bin/kafka-console-producer.sh --broker-list hostname:9092 --topic test
消费消息
bin/kafka-console-consumer.sh --bootstrap-server hostname:9092 --topic test --from-beginning
注意 hostname 和配置中的 hostname 必须一致