如何安排实时数据管道(水槽,卡夫卡,火花流)?

问题描述 投票:0回答:1

我在Cloudera Hadoop平台上有一个批处理数据管道 - 文件通过Flume和Spark处理到Hive。编排是通过Oozie工作流程完成的。

我现在正在使用Flume,Kafka,Spark Streaming构建一个近乎实时的数据管道,最后到HBase。编排方面有两种情况:

  1. 保持管道24/7 - 业务流程(调度)机制应该是什么? Oozie的?
  2. 在上午8点到晚上8点之间操作管道 - 编排(调度)机制应该是什么? Oozie的?

请描述您从现实生产实施中获得的经验。

apache-spark apache-kafka pipeline flume-ng orchestration
1个回答
1
投票

场景1 - 24/7管道

管道中的进程必须始终运行。调度程序不是正确的选择,因为这里没有安排进程,但是如果这些进程死掉,应该监视并重新启动进程。作为客户端运行的水槽代理和火花流驱动程序应该通过systemd执行。 Systemd将负责重新启动水槽代理或火花流驱动器芯片。如果火花串流驱动程序在群集模式下运行,请在启用supervisor标志的情况下运行它,您将不需要systemd单元。

情景2 - 上午8点至晚上8点

如果在客户端模式下有flume代理和spark spark驱动程序的systemd单元,则可以编写两个脚本,一个用于启动这些进程,另一个用于停止这些进程。您可以使用oozie或crontab在上午8点安排启动进程脚本,并在晚上8点安排停止进程脚本。

© www.soinside.com 2019 - 2024. All rights reserved.