一、下载解压
[root@localhost kafka]# wget http://us.mirrors.quenda.co/apache/kafka/2.2.0/kafka-2.2.0-src.tgz
# 当前目录 /usr/local/services
[root@localhost kafka]# tar -zxvf kafka-2.2.0-src.tgz
二、名词说明
producer:生产者,就是它来生产“鸡蛋”的。
consumer:消费者,生出的“鸡蛋”它来消费。
topic:你把它理解为标签,生产者每生产出来一个鸡蛋就贴上一个标签(topic),消费者可不是谁生产的“鸡蛋”都吃的,这样不同的生产者生产出来的“鸡蛋”,消费者就可以选择性的“吃”了。
broker:就是篮子了。
kafka解压目录下下有一个config的文件夹,里面放置的是我们的配置文件
1、consumer.properites 消费者配置
2、producer.properties 生产者配置
3、server.properties kafka服务器的配置,此配置文件用来配置kafka服务器,最基础的配置
- broker.id 申明当前kafka服务器在集群中的唯一ID,需配置为integer,并且集群中的每一个kafka服务器的id都应是唯一的,我们这里采用默认配置即可
- listeners 申明此kafka服务器需要监听的端口号,如果是在本机上跑虚拟机运行可以不用配置本项,默认会使用localhost的地址,如果是在远程服务器上运行则必须配置,例如:listeners=PLAINTEXT:// 192.168.180.128:9092。并确保服务器的9092端口能够访问
- zookeeper.connect 申明kafka所连接的zookeeper的地址 ,需配置为zookeeper的地址,由于本次使用的是kafka高版本中自带zookeeper,使用默认配置即可
zookeeper.connect=localhost:2181
三、运行
[root@localhost kafka_2.11-2.1.1]# ./bin/kafka-server-start.sh config/server.properties
# 后台运行
[root@localhost kafka_2.11-2.1.1]# nohup ./bin/kafka-server-start.sh config/server.properties &
# 关闭
[root@localhost kafka_2.11-2.1.1]# bin/kafka-server-stop.sh
四、创建第一个消息
1、创建一个topic
Kafka通过topic对同一类的数据进行管理,同一类的数据使用同一个topic可以在处理数据时更加的便捷
[root@localhost kafka_2.11-2.1.1]# ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
创建一个名为test的topic
在创建topic后可以通过输入,来查看已经创建的topic
[root@localhost kafka_2.11-2.1.1]# ./bin/kafka-topics.sh --list --zookeeper localhost:2181
test
2、创建一个消息消费者
可以创建一个用于消费topic为test的消费者,消费者创建完成之后,因为还没有发送任何数据,因此这里在执行后没有打印出任何数据,不要关闭这个终端,打开一个新的终端,接下来我们创建第一个消息生产者
[root@localhost kafka_2.11-2.1.1]# ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
this is a test message
3、创建一个消息生产者
在kafka解压目录打开一个新的终端,输入,在执行完毕后会进入的编辑器页面直接回车
[root@localhost kafka_2.11-2.1.1]# ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>this is a test message
在发送完消息之后,可以回到我们的消息消费者终端中,可以看到,终端中已经打印出了我们刚才发送的消息