Vertica的这些事(十四)——Vertica实时消费kafka实现

一、 安装环境
Vertica官方提供了消费kafka的方法,需要注意版本对应


这里写图片描述

消费kafka原理,是Vertica提供的Udx

这里写图片描述

首先需要安装相应的环境

/${vertica}/packages/kafka/ddl/install.sql

判断是否安装成功

/${vertica}/packages/kafka/ddl/isinstalled.sql

二、 单次消费kafka
参考官方文档 Using COPY with Kafka

COPY schema.target_table SOURCE KafkaSource (stream='topic1|1|1,topic2|2|2', brokers='host1:9092,
                                                host2:9092',duration= INTERVAL'timeslice',stop_on_eof=TRUE,
                                                eof_timeout= INTERVAL'timeslice')
        PARSER KafkaJSONParser(flatten_arrays=False, flatten_maps=False)
           REJECTED DATA AS TABLE schema.rejection_table TRICKLE;

三、 实时消费kafka
参考官方文档Using Kafka with Vertica

  1. 首先创建一个Scheduler
/opt/vertica/packages/kafka/bin/vkconfig scheduler --add --config-schema myScheduler --operator user1

使用conf封装Vertica数据库登录信息

kafka_config=”—cinfig-schema kafka01 –dbhoust 172.17.12.1 –username dbadmin –password pass1”
  1. 创建Scheduler脚本
/opt/vertica/packages/kafka/bin/vkconfig scheduler –add ${ kafka_config } –config-schema kafka_config  --operator dbadmin
  1. 创建kafka集群信息
BROKERS=”172.17.12.2:9099, 172.17.12.3:9099, 172.17.12.4:9099”
/opt/vertica/packages/kafka/bin/vkconfig kafka-cluster –add  ${ kafka_config } --onfig-schema kafka_config  --cluster KafkaCluster –brokers $ BROKERS
  1. 读取topic
/opt/vertica/packages/kafka/bin/vkconfig topic –add ${ kafka_config } –target public.kafka_tgt –rejection-table public.kafka_rej –cluster KafkaCluster –topic web_pagelogs –number-partitions 1
  1. 发布Scheduler
/opt/vertica/packages/kafka/bin/vkconfig launch ${ kafka_config } -- onfig-schema kafka_config –instance-name webpagelogs 
  1. 删除scheduler
/opt/vertica/packages/kafka/bin/vkconfig scheduler ${kafka_config} –remove –config-schema kafka_config 
  1. 删除topic接收
/opt/vertica/packages/kafka/bin/vkconfig topic ${kafka_config} –remove –target public.kafka_tgt

PS:
通过最新对Vertica消费kafka的使用,发现这个功能比较鸡肋。多个topic也只能放到一个scheduler里面执行消费,而且每次修改增加都需要停下所有topic的消费进程。另外在使用过程中也发现了丢失数据的现象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,314评论 19 139
  • 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O...
    高广超阅读 14,396评论 8 167
  • ** 今天看了一下kafka官网,尝试着在自己电脑上安装和配置,然后学一下官方document。** Introd...
    RainChang阅读 10,436评论 1 30
  • 周五了,终于周五了。 把自己扔进沙发,悠闲地品着茶,乐呵呵地观看“欢乐喜剧人”。 “课题、备课、一师...
    晚起画蛾眉阅读 1,189评论 0 2
  • 今天是第三天,演讲那点事已经完全不止一点事啦!它深深嵌入到了我的生活模式中,每天早读演讲,还有早课。我得时刻...
    娃娃的家阅读 2,166评论 1 1