1、下载Kafka并解压
下载:
wget http://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
解压:
tar zxvf kafka_2.11-1.1.0.tgz
2、Kafka目录介绍
/bin 操作kafka的可执行脚本,还包含windows下脚本
/config 配置文件所在目录
/libs 依赖库目录
/logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller
3、配置
先启动本机的zookeeper,这里演示的是单机版的。安装步骤非常简单
请参考zookeeper安装部署
进入kafka安装工程根目录编辑config/server.properties
kafka最为重要三个配置依次为:broker.id、log.dir、zookeeper.connect,kafka server端config/server.properties
参数说明和解释如下:
server.properties配置属性说明
4、启动Kafka
启动
进入kafka目录,输入命令
bin/kafka-server-start.sh config/server.properties &
检测2181与9092端口
netstat -tunlp|egrep "(2181|9092)"
tcp 0 0 :::2181 :::* LISTEN 19787/java
tcp 0 0 :::9092 :::* LISTEN 28094/java
Kafka的进程ID为28094,占用端口为9092
QuorumPeerMain为对应的zookeeper实例,进程ID为19787,在2181端口监听
5、单机连通性测试
启动2个XSHELL客户端,一个用于生产者发送消息,一个用于消费者接受消息。
运行producer,随机敲入几个字符,相当于把这个敲入的字符消息发送给队列。
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
说明:早版本的Kafka,–broker-list 127.0.0.1:9092需改为–zookeeper 127.0.0.1.181:2181
运行consumer,可以看到刚才发送的消息列表。
bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic test --from-beginning
注意:
producer,指定的Socket(127.0.0.1+9092),说明生产者的消息要发往kafka,也即是broker
consumer, 指定的Socket(127.0.0.1+2181),说明消费者的消息来自zookeeper(协调转发)
上面的只是一个单个的broker,下面我们来实验一个多broker的集群。
参考:https://www.cnblogs.com/justuntil/p/8033792.html