Linux下搭建kafka环境
Apache官网:http://kafka.apache.org/downloads.html
kafak版本下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz
1、下载kafka安装包
$ cd /usr/local/src
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz
2、解压下载的kafka
$ tar -xzf kafka_2.12-1.1.0.tgz
一、启动
1、首先要进入kafka目录
$ cd/usr/local/src/kafka_2.12-1.1.0
2、启动zookeeper server(kafka自带的zookeeper)
$ bin/zookeeper-server-start.sh config/zookeeper.properties &
注意 & 号的使用:命令结尾添加 & 号,可以在执行完命令后退出当前命令环境却不会结束进程
3、启动kafka server
$ bin/kafka-server-start.sh config/server.properties &
二、创建主题
kafka生产和消费数据,必须基于主题topic。主题其实就是对消息的分类
1、创建主题:名称为“test”、复制数目为1、partitions为1的topic主题
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topictest
replication-factor:复制数目,提供failover机制;1代表只在一个broker上有数据记录,一般值都大于1,代表一份数据会自动同步到其他的多个broker,防止某个broker宕机后数据丢失。
partitions:一个topic可以被切分成多个partitions,一个消费者可以消费多个partitions,但一个partitions只能被一个消费者消费,所以增加partitions可以增加消费者的吞吐量。kafka只保证一个partitions内的消息是有序的,多个一个partitions之间的数据是无序的。
2、查看已经创建的主题
$ bin/kafka-topics.sh --list--zookeeper localhost:2181
三、启动生产者和消费者
生产者产生(输入)数据,消费者消费(输出)数据
1、启动生产者
$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topictest
启动后,在命令行下每输入一些字符串按下回车时,就作为一个消息并发送的kafka
2、启动消费者
$ bin/kafka-console-consumer.sh--zookeeper localhost:2181--topic test --from-beginning
启动消费者时,建议另开一个ssh窗口,方便一遍通过生产者命令行输入消息,一遍观察消费者消费的数据
当在生产者下输入消息并回车后,在消费者窗口下就能立即看到对应的消息,这就说明环境搭建成功。