Kafka connect

      Kafka 作为消息中间件,得到越来越广泛的应用。Kafka connect 是一种可扩展、可信赖的工具, 用于Kafka 和其它应用系统之间的数据流动。数据源系统可以通过 connect (source) 把消息放入到 kafka 的 topic 中,其它系统可以通过 connect (sink) 从 kafka 中读取。

 

 单机版connect 演示

  kafka 的包里提供了一些示例。下面以文件 --> kafka --> 文件作为示例。

1. 启动 Connect Source 和 Connect Sink (kafka 的服务要事先启动好)

$ bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties

    其中 config/connect-standalone.properties 中主要有如下配置:

  • bootstrap.servers   这个配置的是 Kafka 服务器的地址列表。如:  host1:9092,host2:9092
  • key.converter  配置一个 key 的转换类,用于 source connector 写入 kafka 的数据格式,或者 sink connector 从 kafka 读取的数据格式
  • value.converter  同 key.converter ,只不过这是作用于 value 的。
  • offset.storage.file.filename  配置存储偏移信息的文件

     converter 指定了放入 kafka 中的数据格式以及如何把它转换成 Connect 的数据。

2. 启动一个 Consumer,用于观察 kafka topic 里是否有消息

$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning

3. 往 text.txt 中写入内容

$ echo 'firest line' >> test.txt

  可以看到 2 中启动的 consumer 收到了一条消息: 

 这条记录也被写到 test.sink.txt 文件中了

 

posted @ 2019-01-22 14:58  一剑侵心  阅读(600)  评论(0编辑  收藏  举报