kafka 的安装
kafka和其他的MQ的最大的区别就是构建实时数据管道和stream数据流,和可以分布式,好容错性的储存消息
1.安装jdk,略
2.下载kafka,我们这次试用最新的版本kafka_2.11-2.1.0.tgz ,我一直觉得学习的时候要学最新的,学习的时候都用个老版本,学好了再去看新版本的东西?
3.解压
tar -xzf kafka_2.11-2.1.0.tgz
cd kafka_2.11-2.1.0
4.启动zookeeper
因为kafka的启动依赖于zookeeper,如果不想安装,使用内置的,可以
启动内置的zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
5.启动kafka
bin/kafka-server-start.sh config/server.properties
6.创建一个topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看已经创建的topic
bin
/kafka-topics
.sh --list --zookeeper localhost:2181
7.创建一个发送者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
就会进行命令行,模式,可以输入hello,world.....等消息
8.创建一个消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
进入命令行,接受到从发送者发过来的消息. --from-beginning 是参数,表示接受所有发送者发出的消息.
到此,单broker的安装就此结束了.
下面开始多broker的安装,当然了,我们依然使用单机,已经kafka是scala写的,你们要是按照上面的来一遍就知道,启动很慢的了,而且,我的机器也不是很好,凑合用吧.
其实多broker就是多个server.properties 文件.
1.复制3个配置文件出来:
cp
config
/server
.properties config
/server-1
.properties
cp
config
/server
.properties config
/server-2
.properties
cp
config
/server
.properties config
/server-3
.properties
2.修改配置文件
broker.id 只能是个int类型的数字,可以从0 开始,而且各个broker要求不同.
listeners就是监听的端口号
log.dirs日志文件所在
server-1.properties:
broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/root/data/kafka-logs-1
server-2.properties:
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/root/data/kafka-logs-2
server-3.properties:
broker.id=3
listeners=PLAINTEXT://:9095
log.dirs=/root/data/kafka-logs-3
3.启动kafka
bin
/kafka-server-start
.sh config
/server-1.properties &
bin
/kafka-server-start
.sh config
/server-2
.properties &
bin
/kafka-server-start
.sh config
/server-3
.properties &
这次我们使用后台来启动
4.创建一个Topic
bin
/kafka-topics
.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
查看topic的信息:
bin
/kafka-topics
.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
5.创建发布者:
bin
/kafka-console-producer
.sh --broker-list localhost:9092 --topic my-replicated-topic
6.创建订阅者:
bin
/kafka-console-consumer
.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic
就可以使用发布者和订阅者之间进行消息的传递了.
7.关闭一个broker
使用jps -m 命令来查看当前的kafka的几台broker运行的pid,使用 kill -9 pid进行查杀一个,然后再进行消息的发送测试.
这里kafka的入门就完成了.就是这么的简单,当然,你可以不适用内置的zookeeper,你可以自己安装,启动zookeeper.都可以的.