Falcon使用文档

1.创建集群

集群用作feed和process及mirror中,需要指定集群的hdfs、yarn、oozie的地址(详细配置的如下),通过集群的配置可以实现跨机房数据传输。
查看falcon的运行状态

cd /usr/hdp/current/falcon-server
./bin/falcon-status

在这里插入图片描述

2.建立falcon用户

在这里插入图片描述

3.在hdfs下创建集群的文件夹

用falcon用户登陆:

su - falcon
hdfs dfs -mkdir /apps/falcon/primaryCluster

在上面创建的目录中创建子目录working、staging

hdfs dfs -mkdir /apps/falcon/primaryCluster/working
hdfs dfs -mkdir /apps/falcon/primaryCluster/staging

4.给文件赋予相应的权限

hdfs dfs -chmod 777 /apps/falcon/primaryCluster/staging
hdfs dfs -chmod 755 /apps/falcon/primaryCluster/working

5.填写建集群的参数

Name:定义集群名称。
Colo:集群实例。
Description:对集群进行描述。
Tags:定义标签,用于区别和定位实体。
Owner:集群的所有者和所属的组及权限,在里采用默认的输入(即访问控制列表)。
readonly (HDFS的主节点地址) :hftp://172.16.1.26:50070
write(HDFS的主节点的RPC地址):hdfs://172.16.1.28:8020
execute (YARN的资源管理地址):172.16.1.26:8050
workflow(OOZIE的地址): http://172.16.1.27:11000/oozie/
messaging(Falcon的消息代理地址):tcp://172.16.1.27:61616?daemon=true
(如果需要应用到hive可以自定义:thrift://172.16.1.27:9083)
定义“falcon”作业使用的HDFS数据移动目录、临时目录和工作目录。在当前版本,这些目录必须存在,由Falcon拥有,并拥有适当的权限。(这个目录在第三步时创建)。
staging :/apps/falcon/primaryCluster/staging
temp: /tmp
working:/apps/falcon/primaryCluster/working

在这里插入图片描述在这里插入图片描述

6.保存时错误处理

6.1 Falcon error: Invalid Workflow server or port

在这里插入图片描述
解决:由于oozie服务器运行和响应,该问题可能与Oozie未配置为代理运行Falcon服务器的user_id的请求相关。如果Oozie的Web服务器未配置为响应运行Falcon服务器的节点的请求,或者未配置为代理运行Falcon服务器的用户代理请求,则会生成错误消息。
查看日志:cat /var/log/oozie/oozie.log
在这里插入图片描述
在oozie的 /etc/oozie/conf/oozie-site.xml中添加如下代码(或者通过ambari中修改oozie的配置文件)

<property>
<name>oozie.service.ProxyUserService.proxyuser.falcon.hosts</name>
<value>*</value>
</property>
<property>
<name>oozie.service.ProxyUserService.proxyuser.falcon.groups</name>
<value>*</value>
</property>

在这里插入图片描述

6.2目录找不到

在这里插入图片描述
解决:Hdfs权限不够或hdfs的路径出错,配置正确的HDFS的主节点的RPC地址

6.3 文件所有者问题

在这里插入图片描述
解决:文件的所有者应该为falcon,在创建时用falcon账号

6.4 创建目录出错

在这里插入图片描述
解决:查看hadoop是否正常运行
成功提醒
在这里插入图片描述

7.创建feed

feed实体可以使用户指定保持数据生命周期和复制数据的同时定义数据导入和数据导出的策略,feed定义了提要位置、频率、后期处理和保留策略等提要的各种属性。feed可以在集群上调度,被调度后它的保留和复制过程就会在指定的集群中触发。
Name:feed名称。
Description:描述feed。
Tags:定义标签,用于区别和定位实体。
Groups:feed所属的组(以逗号分隔)。
Owner:可进行访问的所有者和所属的组及权限,在里采用默认的输入(即访问控制列表)。
Schema:模式的位置和提供者(在这里输入/none)。
在这里插入图片描述
Frequency:执行频率
Late Arrival:检查延迟时间
Availability Flag:可用性标志指定在feed数据目录中当前/创建的文件的名称。如果这个元素被忽略了,那么falcon将会考虑将feed的数据目录作为feed可用性标志。
queueName:作业队列的名称
jobPriority:作业执行的优先权(“queueName”和“jobPriority”是用户可以用来指定Hadoop作业队列和优先级的特殊属性)
timeout:定义feed实例的超时时间,对feed实例进行复制
parallel:定义了工作流的多少实例可以并发运行
maxMaps:定义在复制期间最大的匹配数量
mapBandwidthKB: 再复制feed的过程中mapper使用的带宽
在这里插入图片描述
Default Storage type:可以选择File system或者Catalog Storage。
如果为Hive,需要填写catalog: d a t a b a s e − n a m e : database-name: databasename:table-name#partition-key=partition-value);partition-key=partition-value);*(注意修改为自己的数据库名、表名及分区)
如果为HDFS填入数据路径、统计信息路径、元信息路径,Feed数据路径应具有与馈送频率相同的粒度(当执行任务频率为为小时时加add Y E A R {YEAR} YEAR{MONTH} D A Y {DAY} DAY{HOUR},如果为天时加add Y E A R {YEAR} YEAR{MONTH}${DAY})
在这里插入图片描述
Source Cluster:在页面上选择集群。
Validity:feed的有效时间(有效性时间指定feed运行期间的时间。对于许多feed,有效时间将设置到feed计划投入生产的时间,并将结束时间设置到遥远的未来)。
Retention:feed的保留时间。
在这里插入图片描述
在这里插入图片描述
同理创建一个输出feed(参数不再介绍,请参考输入feed的参数介绍)。

在这里插入图片描述
在这里插入图片描述

8.创建process

一个process定义了工作流引擎的工作,支持延迟数据处理和重试策略。process定义了运行工作流作业所需的配置。如工作流运行的频率、工作流运行在的集群、工作流的输入和输出、如何处理工作流失败、如何处理延迟输入等等。
Name:process名称。
Tags:定义标签,用于区别和定位实体。
Engine:选择工作引擎,可选择的有oozie、pig、hive。
Path:输入含配置文件的路径(workflow.xml、ingest.sh)
Owner:可进行访问的所有者和所属的组及权限,在里采用默认的输入(即访问控制列表)。
在这里插入图片描述
TimeZone:选择时区。
Frequency:执行工作流的频率。
Maximum Parallel Instances:定义了工作流的多少实例可以并发运行。
Order:定义了准备好的实例被选中的顺序。可能的值是FIFO(先进先出),LIFO(后进先出),Last(仅输出最后的)。
Retry:选择重试策略、重试次数和每次重试的推迟时间。(重试策略定义了如何处理工作流失败。三种重试策略: periodic、exp-backoff、and final。根据延迟和尝试次数的不同,在特定的间隔之后重新尝试工作流程。)
在这里插入图片描述
Validity:选择集群并设置process有效性的起始和结束时间。
在这里插入图片描述
Input定义工作流的输入数据。工作流作业只有在调度时间和所有输入可用时才开始执行。可以有0个或多个输入,每个输入映射到一个feed。从feed中提取输入数据的路径和频率。每个输入还应该根据EL表达式定义开始和结束实例,并且可以选择性地指定工作流所需要的输入的特定分区。分区中的组件应该是feed中定义的分区的子集。对于每个输入,Falcon将创建一个带有输入名称的属性,其中包含输入路径的逗号分隔列表。此属性可用于像pig脚本这样的工作流操作。
输出定义由工作流生成的输出数据。一个过程可以定义0个或多个的输出。每个输出映射到一个feed,并且从feed中获取输出路径。应该生成的输出实例用EL表达式指定。对于每个输出,Falcon创建一个带有输出数据的输出名称的属性。这可以在工作流中使用,以在路径中存储,yesterday(0,0)对应于昨天feed实例。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Workflow.xml定义了使用的工作流引擎和在hdfs上工作流的路径。在工作流元素中可以使用lib属性指定所需的库,并使用逗号分隔的HDFS路径。在hdfs上的工作流定义包含了实际应该运行的工作,并且应该对指定的引擎的工作流规范进行确认。工作流所需要的库应该在工作流路径的lib文件夹中,在集群和集群属性(nameNode和jobTracker)中定义的属性也可以用于工作流。
创建mirror
Mirror可以进行数据镜像处理,可以采用HDFS到HDFS、S3、AZURE,或者 HDFS、S3、AZURE到HDFS、HIVE到HIVE数据导入导出。
Mirror name:镜像名称
Tags:定义标签,用于区别和定位实体
Source:填写源集群、目标集群,如果选择HDFS填写数据路径,为HIVE填写数据库名表名。
Validity:选择集群并设置Mirror有效性的起始和结束时间。
Send alert to:允许用户在计划流程实例完成时接收电子邮件通知。多个收件人时以逗号进行分隔。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.使用falcon

1、根据Name或者Tag搜索相应的实体,进行相应的操作(集群不会被搜索到)
Schedule:在“falcon”配置存储中列出请求的实体,这将包括提交的实体配置,在配置存储库中已经提交feed或process可以被调度。
Resume:用于将处于暂停状态的任何实例返回到活动状态。
Suspend:暂停或者挂起实例,挂起process会暂停所有实例,而挂起实例则只挂起相关的实例。
Edit:对实体信息进行编辑。
Copy:对实体进行复制。
Delete:删除从“falcon”配置存储库中的实体和删除了工作流引擎上的任何预定活动。如果删除实体上没有依赖实体,则实体上的删除操作才会成功。
XML:将实体的配置信息导出XML文件。
在这里插入图片描述
2、点击相应的实体可以查看实体间的依赖关系
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值