钩子

Falcon

qianmoQqianmoQ· 更新于 2026-09-27· 阅读 5 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Falcon Atlas Bridge

Falcon 模型

默认的 hive 模型包含以下类型:

  • 实体类型:

    • falcon_cluster

      • 超类型:Infrastructure
      • 属性:timestamp、colo、owner、tags
    • falcon_feed

      • 超类型:DataSet
      • 属性:timestamp、stored-in、owner、groups、tags
    • falcon_feed_creation

      • 超类型:Process
      • 属性:timestamp、stored-in、owner
    • falcon_feed_replication

      • 超类型:Process
      • 属性:timestamp、owner
    • falcon_process

      • 超类型:Process
      • 属性:timestamp、runs-on、owner、tags、pipelines、workflow-properties

Falcon 进程为每个所定义的集群各创建一个 falcon_process 实体。

实体通过唯一的 qualifiedName 属性创建并进行去重。该属性提供命名空间,也可用于查询和血缘分析。唯一的属性如下:

  • falcon_process.qualifiedName - <process name>@<cluster name>
  • falcon_cluster.qualifiedName - <cluster name>
  • falcon_feed.qualifiedName - <feed name>@<cluster name>
  • falcon_feed_creation.qualifiedName - <feed name>
  • falcon_feed_replication.qualifiedName - <feed name>

Falcon Hook

Falcon 支持在提交 falcon 实体时使用监听器。这用于按照上述模型将实体添加到 Atlas 中。请按照以下步骤在 Falcon 中配置 Atlas hook:

  • 将 'org.apache.atlas.falcon.service.AtlasService' 添加到 <falcon-conf>/startup.properties 中的 application.services
  • 解压 apache-atlas-${project.version}-falcon-hook.tar.gz
  • cd apache-atlas-falcon-hook-${project.version}
  • 将文件夹 apache-atlas-falcon-hook-${project.version}/hook/falcon 中的全部内容复制到 <atlas-home>/hook/falcon
  • 将 Atlas hook 的 jar 包链接到 Falcon 的 classpath 中 - 'ln -s <atlas-home>/hook/falcon/* <falcon-home>/server/webapp/falcon/WEB-INF/lib/'
  • 在 <falcon_conf>/falcon-env.sh 中,按如下方式设置环境变量:
export FALCON_SERVER_OPTS="<atlas_home>/hook/falcon/*:$FALCON_SERVER_OPTS"

<atlas-conf>/atlas-application.properties 中的以下属性用于控制线程池和通知相关细节:

  • atlas.hook.falcon.synchronous - 布尔值,设为 true 表示同步运行钩子,默认 false
  • atlas.hook.falcon.numRetries - 通知失败时的重试次数,默认 3
  • atlas.hook.falcon.minThreads - 核心线程数,默认 5
  • atlas.hook.falcon.maxThreads - 最大线程数,默认 5
  • atlas.hook.falcon.keepAliveTime - 线程存活时间(毫秒),默认 10
  • atlas.hook.falcon.queueSize - 线程池的队列大小,默认 10000

有关通知相关的配置,请参阅配置

注意事项

  • 在 falcon 集群实体中,所使用的集群名称应在 hive、falcon、sqoop 等各个组件之间保持一致。如果与 ambari 一起使用,集群实体应使用 ambari 的集群名称

评论

登录后参与评论

正在加载评论…