问题标签 [azkaban]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bigdata - Azkaban:由于管道模式下的阻塞作业太多而导致失败
Azkaban 的流水线模式执行导致在 backlog 中积累了足够数量的作业后作业失败。如果流的执行时间超过其调度频率,就会发生这种情况:
有没有办法让 Azkaban 仅在前一个实例结束时启动一个新实例,同时不跳过任何实例。我们不能跳过实例,因为传递给每个实例的时间参数有助于选择必须处理的数据的持续时间。
bigdata - Azkaban 是大数据解决方案调度程序的好选择吗?
我们选择使用名为 Azkaban 的调度程序,它具有良好的 UI 优势和依赖关系解决方案。
通读文档https://azkaban.github.io/azkaban/docs/latest/并开始使用。努力将其标记为稳定的长期计划作业。那么,从以下方面来看,阿兹卡班稳定性的观点是什么:
- 面临什么挑战?
- 关键问题?
- 来自社区对 Azkaban 的支持的回应?
microservices - 为具有可变依赖关系的用例定义气流 dag
我想将气流用于以下用例:
- 计算给定网站的每日报告(大约 150 个要处理的网站)。每个报告将按如下方式计算:
- 应在站点级别运行的一组任务,
- 应在页面级别运行的一组任务,每个网站包含约 10k 个页面。
- 执行上述两组任务后,将运行第三组任务以汇总结果并生成报告。
注意:这里描述的每个气流任务实际上都是对远程微服务的简单调用(grpc 调用)。
到目前为止我想到的设计:
- 我最初想在一个任务中执行与页面相关的所有进程,以便拥有一个简单、定义明确的 dag,只包含几个任务。但是需要在页面上执行的处理很复杂,有外部依赖和队列(只有在收到来自外部系统的通知时才会触发下一个任务,那些通知可能会在几个小时后到达)=> 我想使用气流来处理这个过程。
- 鉴于上述观点,我现在倾向于一种模型,即一个网站的所有流程都嵌入到一个 dag 中,包括页面的任务。理想情况下,我想为与页面相关的任务使用 subdag,但从我目前阅读的内容来看,这个功能还不稳定。每个网站都会生成一个新的 dag,带有一组新的任务(因为 dag 的结构取决于页数)。因此,每个 dag 的任务数将相对重要(10k)。
我的问题:
- 对于这个用例,气流是一个可接受的框架(即你是否运行过类似的用例),还是像 luigi、oozie 这样的替代框架......在这种情况下具有明显的优势?
- 上面的方法(每个网站一个 dag,没有 subdag,在 dag 中包含页面任务)是否合理?你预见到这有什么问题吗?
- Web ui 是否仍可用于该数量的任务?我对数百个任务进行了快速测试,但遇到了几次超时,我想知道它是否与我的配置相关联。
- 芹菜是正确的后端吗?我想知道“LocalExecutor”实际上是否更适合这个用例,因为气流工作人员实际上没有直接执行计算(他们只调用远程服务)。
python-2.7 - 如何使用 Azkaban Python API 添加流作为 Azkaban 作业的依赖项?
我有一份工作 A 需要调用 Azkaban 流“F”作为依赖项。如何提及作业 A 对流 F 的依赖性?
这是我现在与获取远程存储流“F”相关的内容:
现在我有了 node_id ,它是流 F 中最后一个作业的名称,如何在作业 A 中添加流 F 的依赖项?是这样吗?
执行以下操作会使我在上传到 Azkaban 时出错(通过将此作业 A 捆绑到项目中):
jobs["a"] = Job({"type": "command", "command": 'echo "Hello World"',"dependencies": node_id})
这是错误:
在这里,node_id 是我隐藏的作业的实际名称。
有人可以建议我在工作中添加这些对外部流程的依赖吗?外部流程在 Azkaban 上(这就是我必须使用 Azkaban.remote 的原因)。
azkaban - 阿兹卡班房产评估
我们的项目中有一个 Azkaban 属性,它看起来像这样date" : "$(new("org.joda.time.DateTime").parse(...).toString("yyyy-MM-dd"))
,用作 spark 作业的参数。该命令(在流日志中)已经评估了表达式,但生成的 Azkaban 文件(因为这是在 gradle 中定义的)仍然包含代码字符串。
我找不到任何关于它是如何工作的。谷歌搜索没有帮助。文档中没有提到这个功能(关于$(...)
参数)。
azkaban - azkaban 构建失败:无法解析配置 ':azkaban-common:compileClasspath' 的所有文件
Ubuntu 14.04.5 LTS
运行 ./gradlew clean build 时,它返回:
FAILURE:构建失败并出现异常。
* 出了什么问题:
无法解析配置 ':azkaban-common:compileClasspath' 的所有文件。
无法下载 hadoop-hdfs.jar (org.apache.hadoop:hadoop-hdfs:2.6.1)
无法获取资源' https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop- hdfs/2.6.1/hadoop-hdfs-2.6.1.jar '。
连接重置
我尝试在导航器中打开https://repo.maven.apache.org/maven2/org/apache/hadoop/hadoop-hdfs/2.6.1/hadoop-hdfs-2.6.1.jar这个链接,它返回“404 未找到”。
我该如何解决这个问题?
azkaban - 昨天的 Azkaban 运行时参数
根据官方网站,Azkaban
仅提供运行时间的年月日,例如:
是否可以添加前一天的参数?
hadoop - Azkaban 项目名称重命名
我正在运行一个 Azkaban 执行程序和 Web 应用程序。我使用 Web 界面创建了一个新项目。我试图通过更改数据库表中的name
列来更改其名称。projects
但是,Web UI 仍然显示该项目的旧名称。
如何更改 Azkaban 中的项目名称?
h2 - azkaban h2.mv.db 太大了,有问题吗?
我们使用了 azkaban 大约 4 个月,发现 h2.mv.db 文件太大了。
这是一个需要解决的问题吗?
我们如何减小 h2 的大小?
有什么办法可以转换成mysql?
非常感谢!
hadoop - 运行 Azkaban Solo Server 时未设置 HADOOP_HOME?
我正在尝试运行 Azkaban Solo Server。使用步骤:Azkaban Solo 入门
我正在运行 start-solo.sh,但在 localhost:8081 上什么也得不到。我正在尝试使用在 /azkaban/azkaban-solo-server/build/install/azkaban-solo-server 生成的日志来解决问题,该日志命名为 soloServerLog__2020-04-10+03:22:20.out。
它说“错误:未设置 HADOOP_HOME。Hadoop 作业类型将无法正常运行。”
我的系统中已经安装了 hadoop。使用该命令hadoop version
提供 Hadoop 3.0.3,我的HADOOP_HOME也设置在.bash_profile中。我们是否需要在 azkaban 的其他地方添加 HADOOP_HOME 变量才能运行。