基于confluent的kafka和kafka-rest代理配置
通过开启kafka-rest,可以使我们直接使用http访问到kafka.比如让前端直接给kafka发消息,用处还是很大的.
一、组件及说明
(一)Confluent的组件简介
Confluent Platform 包括更多的工具和服务,使构建和管理数据流平台更加容易。
Confluent Control Center(闭源)。管理和监控Kafka最全面的GUI驱动系统。
Confluent Kafka Connectors(开源)。数据进出kafka,连接SQL数据库/Hadoop/Hive等
Confluent Kafka Clients(开源)。对于其他编程语言,包括C/C++,Python
Confluent Kafka REST Proxy(开源)。允许一些系统通过HTTP和kafka之间发送和接收消息。
Confluent Schema Registry(开源)。帮助每一个应用使用正确的schema读写数据到kafka中。
1、Zookeeper 在 Kafka 中的作用
(其实随着kafka的迭代更新,zookeeper起到的作用越来越少,甚至kafka在讨论要不要完全弃用zookeeper。
在当前版本的作用,要看官方的quickstart,从“创建主题,生产者,消费者”的启动参数上看,是zookeeper还是bootstrap-server)
https://www.jianshu.com/p/a036405f989c
2、Schema Registry的作用
https://cloud.tencent.com/developer/article/1336568
(二)Confluent的安装
1、需要JDK环境
2、解压confluent包到/usr/local下
3、解压zookeeper安装包到/usr/local下
注:虽然conflunet里包含了zookeeper,但还是建议单独自建,比如用来查看状态的命令bin/zkServer.sh status,在conflunet下缺少此文件就难以实现。
(三)本次实验的结构
二、服务的启动与配置
(一)、配置启动zookeeper
1、修改zookeeper配置文件,
vim zookeeper/conf/zoo.cfg
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
# 滴答,计时的基本单位,默认是2000毫秒,即2秒。它是zookeeper最小的时间单位,用于丈量心跳时间和超时时间等,通常设置成默认2秒即可。
tickTime=2000
# 初始化限制是10滴答,默认是10个滴答,即默认是20秒。指定follower节点初始化是链接leader节点的最大tick次数。
initLimit=5
# 数据同步的时间限制,默认是5个滴答,即默认时间是10秒。设定了follower节点与leader节点进行同步的最大时间。与initLimit类似,它也是以tickTime为单位进行指定的。
syncLimit=2
# 指定zookeeper的工作目录,这是一个非常重要的参数,zookeeper会在内存中在内存只能中保存系统快照,并定期写入该路径指定的文件夹中。生产环境中需要注意该文件夹的磁盘占用情况。
dataDir=/data/zookeeper/data
dataLogDir&#