如何安排实时数据管道(flume、kafka、spark streaming)?

fnatzsnv  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(683)

我在ClouderaHadoop平台上有一个批处理数据管道—文件通过flume和spark处理到hive中。编排是通过oozie工作流完成的。
我现在正在使用flume、kafka、spark streaming和hbase构建一个近乎实时的数据管道。有两种编排方案:
保持管道24/7运行-编排(调度)机制应该是什么?哦齐?
在上午8点到晚上8点之间运行管道-编排(调度)机制应该是什么?哦齐?
请描述您在实际生产实施中的经验。

4xrmg8kj

4xrmg8kj1#

场景1-24/7管道
管道中的进程必须始终运行。对于它来说,调度程序不是一个正确的选择,因为这里没有对进程进行调度,但如果这些进程死亡,则应该监视并重新启动这些进程。作为客户端运行的flume代理和spark流驱动程序应该通过systemd执行。systemd将负责重启flume代理或spark流驱动程序。如果spark流驱动程序是在集群模式下运行的,那么在supervisor标志打开的情况下运行它,您将不需要systemd unit。
场景2-上午8点到晚上8点
如果您在客户机模式下为flume代理和spark streaming driver编写了systemd单元,那么可以编写两个脚本,一个用于启动这些进程,另一个用于停止这些进程。您可以使用oozie或crontab将启动进程脚本安排在上午8点,并将停止进程脚本安排在晚上8点。

相关问题