ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ambari2.7.3集群Oozie调度Spark示例

2021-06-02 18:03:20  阅读:244  来源: 互联网

标签:示例 Ambari2.7 oozie apps manager93 examples Oozie -- spark


文章目录

1.环境准备

  1. 集群版本:Ambari2.7.3 + HDP3.0.1.0-187
  2. 集群开启Kerberos身份认证,Ranger权限认证

2.修改配置文件

2.1 解压Oozie自带样例包

连接Oozie的Server节点:

[root@manager93 ~]# cd /usr/hdp/3.0.1.0-187/oozie/doc
# 此处依赖包,也可以不进行解压, 如果依赖包环境无法运行,可以手动删除,之后重启Oozie组件,从新生成。
[root@manager93 doc]# tar -zxvf oozie-examples.tar.gz
[root@manager93 oozie]# cd doc/examples/apps/
# 备份spark示例包结构
[root@manager93 apps]# cp -r spark spark.bak
[root@manager93 apps]# cd spark
[root@manager93 spark]# ll
total 8
-rw-r--r-- 1 oozie hadoop 1015 Sep 19  2018 job.properties
# Spark样例jar包存放在lib目录下
drwxr-xr-x 2 oozie hadoop   32 May 19 20:19 lib
-rw-r--r-- 1 oozie hadoop 1920 Sep 19  2018 workflow.xml

# 拷贝spark自带的example的jar包
[root@manager93 spark]# cp /usr/hdp/3.0.1.0-187/spark2/examples/jars/spark-examples_2.11-2.3.1.3.0.1.0-187.jar lib/

2.2 修改workflow.xml文件

<!-- 标签workflow-app里的name是在oozie web ui上显示的该job的名称:Spark-On-Pi -->
<workflow-app xmlns='uri:oozie:workflow:0.5' name='Spark-Oozie-Pi'>
    <start to='spark-node' />

    <action name='spark-node'>
        <!-- 标签签spark里是运行的spark任务的相关配置, ${key}:是映射的job.properties文件中的内容  -->
        <spark xmlns="uri:oozie:spark-action:0.1">
            <!-- Yarn的RM地址  -->
            <job-tracker>${jobTracker}</job-tracker>
            <!-- HDFS NameNode Active 地址 -->
            <name-node>${nameNode}</name-node>
            <prepare>
                <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/spark"/>
            </prepare>
            <!-- Spark -master参数 -->
            <master>${master}</master>
            <!-- Spark任务名称,在Yarn UI中显示的名称,同-name参数 -->
            <name>Spark-Yarn-Pi</name>
            <!-- Spark入口类名称,同-class参数 -->
            <class>org.apache.spark.examples.SparkPi</class>
            <!-- 指定Jar包路径 -->
            <jar>${nameNode}/user/${wf:user()}/${examplesRoot}/apps/spark/lib/spark-examples_2.11-2.3.1.3.0.1.0-187.jar</jar>
            <!-- 提交Spark任务指定参数 -->
            <spark-opts>${spark_opts}</spark-opts>
            <!-- 参数选项 -->
            <!--
            <arg>${nameNode}/user/${wf:user()}/${examplesRoot}/input-data/text/data.txt</arg>
            <arg>${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/spark</arg>
            -->
        </spark>
        <ok to="end" />
        <error to="fail" />
    </action>

    <kill name="fail">
        <message>Workflow failed, error
            message[${wf:errorMessage(wf:lastErrorNode())}]
        </message>
    </kill>
    <end name='end' />
</workflow-app>

2.3 修改job.properties文件

# NameNode Active 地址
nameNode=hdfs://manager93.bigdata:8020
# Yarn的ResourceManager地址
jobTracker=manager93.bigdata:8050
# 配置Spark任务提交模式,同--master参数
master=yarn-cluster
queueName=default
examplesRoot=examples
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/spark
spark_opts=--executor-memory 1G --num-executors 3 --executor-cores 2

3.上传到HDFS

创建目录

[root@manager93 spark]# su hdfs
[hdfs@manager93 spark]$ hadoop fs -mkdir -p /user/oozie/examples/apps
[hdfs@manager93 spark]$ cd /usr/hdp/3.0.1.0-187/oozie/doc/examples/apps/
[hdfs@manager93 apps]$ hadoop fs -put spark /user/oozie/examples/apps/
[hdfs@manager93 apps]$ hadoop fs -ls /user/oozie/examples/apps/spark
Found 3 items
-rw-r--r--   3 hdfs hdfs       1214 2021-06-02 17:22 /user/oozie/examples/apps/spark/job.properties
drwxr-xr-x   - hdfs hdfs          0 2021-06-02 17:22 /user/oozie/examples/apps/spark/lib
-rw-r--r--   3 hdfs hdfs       2648 2021-06-02 17:22 /user/oozie/examples/apps/spark/workflow.xml

4.提交任务

[root@manager93 ~]# cd /usr/hdp/3.0.1.0-187/oozie/doc/examples/apps/spark
[root@manager93 spark]# su oozie
[oozie@manager93 spark]$ oozie job --oozie http://manager93.bigdata:11000/oozie -config ./job.properties -run
job: 0000000-210602114459890-oozie-oozi-W

# 查看日志信息
[oozie@manager93 spark]$ oozie job -oozie http://manager93.bigdata:11000/oozie -log 0000000-210602114459890-oozie-oozi-W

5.监控

由于集群开启了Kerberos,Chrome没有配置Kerberos信息,无法访问Oozie UI页面,从Yarn UI监控:
在这里插入图片描述
在这里插入图片描述

标签:示例,Ambari2.7,oozie,apps,manager93,examples,Oozie,--,spark
来源: https://blog.csdn.net/Happy_Sunshine_Boy/article/details/117471208

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有