dev-TBDS-docs
  • Introduction
  • 大数据套件简介
    • 概览
    • 最新版本介绍
  • 文档
    • 1. 数据接入
    • 2. 实时计算
    • 3. 工作流
      • 自定义Runner
Powered by GitBook
On this page
  • 1.1 Hippo基本概念
  • 1.2 数据接入指南
  • 1.2.1 如何接入数据?
  • 1.2.1 队列信息(管理员)
  • 1.2.3 集群管理(管理员)
  • 1.3 数据消费
  • 1.3.1 如何消费数据?
  • 1.3.2 监控
  • 1.3.3 消费进展(管理员)

Was this helpful?

  1. 文档

1. 数据接入

Previous最新版本介绍Next2. 实时计算

Last updated 4 years ago

Was this helpful?

本用户手册供在大数据套件(以下简称TBDS)中使用数据接入(以下简称Hippo)中间件的用户使用,主要包括三个部分,第一部分主要介绍hippo中间件的一些基本概念;第二部分介绍hippo的数据接入操作;第三部分介绍数据消费操作。

Hippo是一个高可靠高可用的消息中间件,可以满足具有高可靠高可用应用场景的业务需求。

TBDS中Hippo Web页面地址为:

1.1 Hippo基本概念

手册中涉及到了topic、queue、服务端、客户端等概念,topic即为JMS系统中的主题;queue是topic的队列,类似于kafka中的分区概念;服务端是指controller和broker,客户端指producer和consumer。

以下是其他常用概念:

  • Controller:

    承担着整个系统节点数据的收集、状态的共享及事件的分发角色。

  • Broker:

    以组的形势存在,三台broker一主两备组成一个组(可以根据具体情况配置),由主broker向controller定期汇报心跳以告知controller当前组的存活状态,主broker提供服务。

  • Producer:

    发布topic并生产这个topic的数据。

  • Consumer:

    订阅topic的信息,即消费topic的数据。

说明:

  • Broker可以停止读/写和恢复读/写,同组内的Broker可以实现主备切换

  • 生产和消费都有组的概念,组内可以启动多个生产者或者消费者

  • 同组内的消费者在消费时会进行负载均衡,均衡结果是每个消费者都占有topic的部分queue,但是不会有重复,因此在启动消费者消费时,不要让同组内的消费者数量大于queue的数量(否则会有消费者空跑,并且有异常日志的打印);另外,如果有同组消费者消费多个topic的需求,那么每个消费者都需要订阅所有的topic,否则可能会出现消费不到数据的情况(不推荐使用这种单个消费组消费多个topic的使用方法)。

接下来会以一个名为test的topic详细展示套件用户admin(为方便展示,admin是管理员)使用hippo数据接入和消费的过程。

1.2 数据接入指南

主要包括了接入列表、队列信息列表和集群信息列表三个模块,对应于数据接入选项卡左侧的三个目录。

1.2.1 如何接入数据?

  1. 填写topic信息并提交。申请topic需要填写一些信息,前7项都是必填项,最后一下“业务描述”用来描述业务,是可选项。

    必填项处已经给出了相应的提示和说明,以下是具体解释:

    • topic名称:全局唯一的,不能重复,要求包含数字、字母、下划线,并且下划线不做开头和结尾;

    • ip列表:用户生产topic的ip列表,多个ip之间使用分号分隔开,支持模糊匹配,申请时请添加所有有生产需求的ip;

    • 队列模型:topic的队列模型,包括并发和顺序两种,并发可以提高数据消费的并发读,顺序则可以保证数据的有序,即消费的顺序和生产的顺序一致(必须是在单进程内生产数据,如果多个进程同时生产数据则无法保证数据的顺序 性);

    • 数据量:估算值,每天的生产总量;

    • 峰值速率:估算值,生产数据的最大速率;

    • 负责人:topic的负责人,即有权限生产此topic数据的所有用户,此处会给出tbds的用户列表,从中选取即可;

    • 业务描述:辅助信息,用来描述topic。

  2. 审批注意事项:

    • 审批单详情中可以看到申请时填写的信息,管理员审批时应该注意集群的选择(示例中只有一个BrokerGroup,实际场景可能会有多组),管理员可以选择BrokerGroup、指定该BrokerGroup上的新增队列数量。管理员在审批时应该根据该BrokerGroup的topic和queue数量做好资源的分配,最后执行通过或者驳回操作。

    • 管理员审批通过一个topic之后,就可以在接入列表查看这个topic的信息,如图2-5所示。需要注意的是对于一个topic可以执行扩容或者调试操作,扩容操作仅针对于并发模型的topic,扩容界面和审批中的集群选择类似,需要勾选BrokerGroup并指定扩容的队列数量,扩容操作可以提高并发度,提升消费的速率,一般在消费滞后时使用;调试功能仅针对于顺序模型的topic,在一个顺序模型的topic生产了数据之后,通过调试功能可以查看生产数据的内容。在接入列表页面点击topic名称,可以看到topic的详细信息。

  3. 审批通过,接入完成。审批通过后用户需在审批单详细信息中注意两点,首先是secretId和secretKey,secretId和secretKey在生产、消费时需要写到客户端配置中;其次为sdk下载是客户端sdk的下载链接,目前仅支持java的sdk。

1.2.1 队列信息(管理员)

Queue信息包括:

  • ID:唯一值,用来表示queue的编号;

  • Store名称:queue的存储单元名称;

  • 开始编辑时间:第一条数据的写入时间;

  • 最后编辑时间:最后一条数据的写入时间;

  • Store容量:存储单元的容量;

  • Offset区间:存储单元中数据的偏移量区间;

  • 支持写:存储单元是否支持写入。

1.2.3 集群管理(管理员)

集群信息包括:

  • 集群名称:BrokerGroup名称

  • Ip列表:BrokerGroup中各个Broker的Ip

  • Topic数量:BrokerGroup上Topic的数量

  • Queue数量:BrokerGroup上Queue的数量

  • 上报状态:由BrokerGroup上报的BrokerGroup的读写状态

  • 控制状态:由Controller设置的BrokerGroup的读写状态

  • 操作:停止读/写,恢复读/写,主备切换。

    关于集群的操作,读写控制包括停止或者恢复读/写,是通过改变控制状态来完成的,停止读/写之后,BrokerGroup对于客户端来讲是不可读/写的;恢复读/写之后,BrokerGroup恢复读/写功能。主备切换用来切换BrokerGroup集群中Broker主备状态,如非必要,也不推荐使用。

图2-8 集群信息

1.3 数据消费

主要包括了数据消费、监控、消费进展三个模块,分别对应于数据消费选项卡左侧的三个目录。

1.3.1 如何消费数据?

  1. 申请消费。消费数据之前需要先提交消费申请。

  2. 填写消费信息并提交申请。

其中,前四项是必填项,“数据用途说明”是选填项。必填项包括:

  • Topic名称:要申请消费的topic名称,必须是已经存在的topic;

  • 消费组:消费组的名称,唯一;

  • 数据用途:数据用途描述;

  • IP列表:消费客户端Ip地址列表,申请时请填入所有有消费需求的ip。 3. 管理员审批消费申请。提交申请之后,topic的负责人可以在个人中心看到审批单(和接入申请的审批单类似),点击详情可以看到消费申请的详细信息。

    Topic的负责人根据申请内容,决定是否通过审批。审批通过的消费申请,可以在数据消费页面看到其内容,可以看到对于审批通过的消费组有个“负载均衡查看”操作,此操作可以查看正在消费的客户端的队列分配情况。

  1. 数据进行消费。

1.3.2 监控

用户需在择topic和对应的消费组之后,就可以看到其在每个queue上的生产、消费信息。

1.3.3 消费进展(管理员)

  • Topic名称:topic的名称

  • QueueId:队列queue的id

  • 消费者业务ID:消费者编号

  • 已提交offset:已经提交过的消费offset

  • 已拉取至offset:已经从服务端拉取的offset

  • 提交超时时间:提交的超时时间

  • 已拉取未提交数:已经从服务端拉取但是还没有执行提交的数量

  • 创建时间:消费的起始时间

  • 修改时间:最后一次消费的时间

topic申请。数据接入之前需要先申请topic,topic审批通过之后,客户端才可以生产数据。通过图2-1右上角“接入申请”按钮可以进入topic的申请页面。

管理员审批接入申请。用户提交申请后,管理员可以在套件的“个人中心”看到这个接入申请并做审批。在审批页面管理员可以看到申请类型是HIPPO_PRODUCE,表明这是一个接入申请,相对应的申请类型还有HIPPO_CONSUME,表明是消费申请;还有申请人、申请时间、申请原因、申请状态等信息,最后管理员可以点击 “详情”来查看这个申请的详情,并执行审批操作。

队列信息按照 queueID展示了所有topic的queue信息,也可以用来查看数据的生产状况。

集群管理(仅管理员可见)展示了集群中的BrokerGroup信息。

用户进行数据消费后,可在监控页面查看消费是否跟上生产。

消费进展展示了每个消费组的消费情况。页面展示了个消费组下topic消费的详情。 具体各个项目含义如下:

http://ip/index.html#/hippo/access