kafka入门教程

一、介绍

kafka是一个分布式流处理平台,kafka提供了类似于JMS的特性,但在设计实现上又完全不同,它并不是基于JMS规范实现的(kafka的实现不包含事务特性性)。kafka对消息的保存时以Topic进行归类的,向Topic发送消息的称谓Producer,从Topic接受消息的称谓Consumer。kafka集群由多个service组成,每个service在kafka集群中被称作broker。kafka集群的作用就是存储从Producer发过来的消息,然后按照一定的规则将消息发送给Consumer。无论是kafka集群本身,还是Producer 或者Consumer,均依赖于zookeeper来管理集群中的信息同步

它可以用于两大类别的应用:

  1. 构造实时流数据管道,它可以在系统或应用之间可靠地获取数据。 (相当于message queue)
  2. 构建实时流式应用程序,对这些流数据进行转换或者影响。 (就是流处理,通过kafka stream topic和topic之间内部进行变化)

二、安装和使用

1.你可以在kafka官网 http://kafka.apache.org/downloads下载到最新的kafka安装包

2.解压缩

tar -xzf kafka_2.11-2.1.0.tgz

3.启动

  (1)启动zookeeper

    cd进入kafka解压目录,输入

    bin/zookeeper-server-start.sh config/zookeeper.properties

    启动zookeeper成功后会看到如下的输出

  (2)启动kafka

    cd进入kafka解压目录,输入

    bin/kafka-server-start.sh config/server.properties

    启动kafka成功后会看到如下的输出

    

4.创建一个topic

  让我们创建一个名为“test”的topic,它有一个分区和一个副本:

  bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

  现在我们可以运行list(列表)命令来查看这个topic:

  bin/kafka-topics.sh --list --zookeeper localhost:2181

  test
5.创建一个消息生产者
  运行 producer,然后在控制台输入一些消息以发送到服务器。
  bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
  This is a message
6.创建一个消息消费者
  Kafka 还有一个命令行consumer(消费者),将消息转储到标准输出。
  bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
  This is a message
 
  如果您将上述命令在不同的终端中运行,那么现在就可以将消息输入到生产者终端中,并将它们在消费终端中显示出来。

 

posted @ 2019-02-12 17:14  上下求索suo  阅读(294)  评论(0编辑  收藏  举报