当前位置: 首页 > news >正文

Ambari2.7.3集群Oozie调度Spark示例

文章目录

  • 1.环境准备
  • 2.修改配置文件
    • 2.1 解压Oozie自带样例包
    • 2.2 修改workflow.xml文件
    • 2.3 修改job.properties文件
  • 3.上传到HDFS
  • 4.提交任务
  • 5.监控

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, errormessage[${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监控:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3118.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

02.xshell连不上虚拟机linux的解决办法

虚拟机使用的NAT模式&#xff0c;用Xshell一直连接不上虚拟机上的Linux&#xff0c;最后百度搜索之后&#xff0c;解决步骤如下&#xff1a; 1.在虚拟机里面输入ifconfig&#xff0c;查询虚拟机ip地址 2.打开网络连接&#xff0c;修改VMnet1 IP地址改为与虚拟机同一网段 比如…...

第k个数(快速选择)

算法思路 快速选择&#xff1a; 1.即任意选一个数&#xff0c;将数组划分为二。 2.最终根据该数所在的位置&#xff0c;即第&#xff1f;大&#xff0c;选择第k大的数字所在区间进行划分。 时间复杂度分析&#xff0c;第一次划分n,下一次划分期望n/2&#xff0c;n/4…累加和小…...

2021年茶艺师(中级)模拟考试及茶艺师(中级)模拟考试系统

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 茶艺师&#xff08;中级&#xff09;模拟考试是安全生产模拟考试一点通总题库中随机出的一套茶艺师&#xff08;中级&#xff09;模拟考试系统&#xff0c;在公众号安全生产模拟考试一点通上点击茶艺师&#xff08;中…...

yolov5 detect.py报错

新手求助 yolov5训练了自己的数据集后&#xff0c;test没问题&#xff0c;但是运行detect.py就报错了&#xff0c;一直找不到问题所在&#xff0c; 求大佬指点指点...

DEX 争霸战火升级,BabySwap 会否成为下一代黑马?

在 AMM机制大力推动下&#xff0c;DEX的群雄争霸比预想中来得要快且凶猛。伴随着诸如高盛等主流资本逐步认可DeFi 的意义&#xff0c;在真正的去中心化金融爆发的前夜&#xff0c;可以说谁抢占了DEX 红海的先机&#xff0c;谁就赢得了未来。 从早期以太坊的Uniswap和DoDo&…...

flutter 常用的第三方组件

引用文章链接&#xff1a; https://www.jianshu.com/p/a523e5f131b2 1、格式化日期时间组件&#xff1a;https://pub.dev/packages/date_format 2、日期选择组件&#xff1a;https://pub.dev/packages/flutter_cupertino_date_picker 3、轮播图组件&#xff1a;https://pub.…...

nginx隐藏x-real-ip头配置

实现隐藏X-Real-Ip头&#xff0c;可通过配置server{} proxy_set_header实现。 server { listen 10.10.98.10:8080 backlog20480; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_…...

8.文本处理(编码解码/文件操作)

本章主要从文本处理、系统监控、日志、FTP、邮件监控、微信监控等方面来介绍基础运维的相关知识。 8.1 文本处理 在日常的运维工作中一般都离不开与文本,如日志分析、编码转换、ETL加工等。本节从编码原理、文本操作、读写配置文件、解析XML等实用编程知识出发,希望能抛砖引…...

【vue】vue3学习笔记(三)

接上篇 面包屑 安装path-to-regexpcomponent/breadcrumb/index <template><el-breadcrumb class"app-breadcrumb breadcrumb-container" separator"/"><el-breadcrumb-item v-for"(item, index) in levelList" :key"item…...

MVC三层架构

什么是MVC&#xff1a; Model view Controller 模型、视图、控制器 1.以前的架构模型 用户直接访问控制层&#xff0c;控制层就可以直接操作数据库&#xff1b; servlet--CRUD-->数据库 弊端&#xff1a;程序十分臃肿&#xff0c;不利于维护 servlet的代码中&#xff1a…...

zookeeper--一致性协议 ZAB

一、简介 ZAB 协议全称&#xff1a;Zookeeper Atomic Broadcast&#xff08;Zookeeper 原子广播协议&#xff09;。 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面&#xff0c;Zookeeper 并没有使用 Paxos &#xff0c;而是采用了 ZAB 协议。 Z…...

Android面试回忆录:帮助程序员提高核心竞争力的30条建议,真香!

**新技术层出不穷&#xff0c;去年kotlin到如今Flutter&#xff0c;技术迭代&#xff0c;你是否会变得固步自封&#xff1f;**那么看本篇文章帮你解决问题&#xff0c;让你知道怎么样学习&#xff0c;学习那些技术点才能不被时代的迭代快速淘汰&#xff01; 首先&#xff0c;先…...

2021-05-30解决centos+宝塔面板,FTP传输421 Too many connections问题错误

解决centos宝塔面板&#xff0c;FTP传输421 Too many connections”问题错误 1、首先连入服务器 在/www/server/pure-ftpd/etc下&#xff0c;找到pure-ftpd.conf 2、vim pure-ftpd.conf 没有vim的&#xff0c;用其他编辑软件也可以 3、找到 #Maximum number of sim clients wit…...

RK3399 DDR频率修改

RK3399 DDR频率修改 一、DDR当前频率获取与可调节范围 1、获取当前DDR频率、可调值、容量 cat /sys/class/devfreq/dmc/cur_freq2、查看DDR频率可调节的值 cat /sys/class/devfreq/dmc/available_frequencies3、获取DDR容量 cat /proc/meminfo二、DDR测试定频 1、因为RK3…...

javascript正则表达式常用合集

javascript正则表达式常用的合集 参考网址 {n}: n 是一个正整数&#xff0c;匹配了前面一个字符刚好出现了 n 次 {n,}: n是一个正整数&#xff0c;匹配前一个字符至少出现了n次 {n,m}: n 和 m 都是整数。匹配前面的字符至少n次&#xff0c;最多m次。如果 n 或者 m 的值是0&…...

qApp加载qss技巧

使用Qt加载qss样式&#xff0c;一般操作是读取文件&#xff0c;通过setStyleSheet设置 但是qApp只需如下&#xff1a; qApp->setStyleSheet("file:///:/test.qss");//只适用于qApp...

发现一款好用到爆的数据库工具 - DataGrip(就是耗内存)

作者&#xff1a;Atzuge cnblogs.com/zuge/p/7397255.html 最近看到一款数据库客户端工具&#xff0c;DataGrip&#xff0c;是大名鼎鼎的JetBrains公司出品的&#xff0c;就是那个出品Intellij IDEA的公司。 - 就是耗内存 DataGrip是一款数据库管理客户端工具&#xff0c;方便…...

Java 类加载器(ClassLoader)的实际使用场景有哪些?

什么是classloader classloader顾名思义&#xff0c;即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存&#xff0c;并对数据进行检验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这就是虚拟机的类加载机制。了解java的类加…...

Bad owner or permissions on C:\\Users\\USER/.ssh/config on Windows

Bad owner or permissions on C:\Users\USER/.ssh/config 问题描述 由于使用vscode远程连接服务器突然新增了C:\Users\USER/.ssh/config &#xff0c;再powershell/cmd下面使用openssh&#xff08;windows自带&#xff09;连接服务器会出现Bad owner or permissions on C:\\U…...

React方向的前端面试题

1、React的生命周期&#xff1f; React中只有类组件有生命周期可言。 其中包含三个状态&#xff1a; Mounting&#xff1a;此时已经插入了真实的DOM&#xff1b; Updating&#xff1a;正在被重新渲染&#xff1b; Unmounting&#xff1a;已经移出真实的DOM。 生命周期的方…...

词达人自动做题PHP版全套开源+前后台分离开发+带半个软件+CDKey兑换

简介&#xff1a; 开发语言&#xff1a;PHPMysql 源码简介与安装说明&#xff1a; 易语言版的我是今天写的。多线程有需要再去调风控&#xff0c;恶心的一批。我这网课上到现在基本上啥TM也没学。就这样了。我就简单上几张图自己看看吧。前端是Vue.js。后端是PHP。前后台分离…...

笔记:svn操作优化,在bash中通过别名实现svn代码仓库的在线操作

一、TortoiseSVN 使用过SVN的应该都知道TortoiseSVN&#xff0c;界面操作简单方便&#xff0c;易上手。 二、SVN命令行 如果想在命令行中操作代码仓库&#xff0c;必须把代码下下来&#xff0c;才能在目录间切换&#xff0c;如果代码仓库中的代码量很大&#xff0c;全部下下…...

filter4----初始化 filter

1、创建graph /*** Allocate a filter graph.** return the allocated filter graph on success or NULL.*/ AVFilterGraph *avfilter_graph_alloc(void); 相当于一张图&#xff0c;filter的各种操作就按照这张图 2、创建buffer filter的上下文 通过上面的图我们知道解码出…...

12个夏季旅行彩色lr预设

夏季来临&#xff0c;计划海滩旅行的朋友&#xff0c;可以试试这款12个夏季旅行彩色lr预设&#xff0c;这些预设将帮助您获得清晰、专业的旅行照片&#xff0c;只需单击一下按钮&#xff0c;即可获得完美、专业的触感。 12个夏季旅行彩色lr预设介绍 由来自51个国家和地区的国…...

作业:随机信号的参数建模法及MATLAB实现

随机信号AR模型及MATLAB实现 随机信号的参数建模法 在对语音信号进行编码时&#xff0c;往往通过分析不同种类语音信号的特点及产生&#xff0c;用数学模型表示信源&#xff0c;而编码器根据输入信号计算模型参数&#xff0c;然后对模型参数进行编码&#xff0c;也就是说&…...

字节跳动Java实习面试凉凉经,含答案解析

前言 JVM 内存模型一共包括三个部分&#xff1a; 堆 ( Java代码可及的 Java堆 和 JVM自身使用的方法区)、栈 ( 服务Java方法的虚拟机栈 和 服务Native方法的本地方法栈 )保证程序在多线程环境下能够连续执行的程序计数器 特别地&#xff0c;我们当时就提到Java堆是进行垃圾回…...

如何简单的创建一个多人在线聊天室

学习目标&#xff1a; 在本教程中&#xff0c;我们将要使用PHP和jQuery创建一个简单的在线聊天工具。 这种实用性的模块对于你想要有实时在线客户支持系统的网站可以说是完美。 废话不多说直接开始。 步骤1&#xff1a;HTML的代码结构 创建一个index.php <!DOCTYPE htm…...

如何系统全面性学习Java语言?面试篇

开头 提起Spring&#xff0c;大家肯定不陌生&#xff0c;它是每一个Java开发者绕不过去的坎。Spring 框架为基于 java 的企业应用程序提供了一整套解决方案&#xff0c;方便开发人员在框架基础快速进行业务开发。 我最近一直在研究大厂的面试&#xff0c;发现现在的不论大大小…...

短信后台功能与通道路由模块客户通道选择短信平台开发|国际短信通道短信后台源码

短信后台功能与通道路由模块|客户通道选择短信平台开发|国际短信通道短信后台源码 用户模板审核和签名审核,可审核用户提交过来的短信模板,可审核用户提交过来的签名,可管理用户提交过来的模板和签名进行编辑删除和修改,支持用户企业认证和个人认证. 通道路由模块在后台进行设置…...

前端javascript中Location的使用

标题location的常用方法&#xff1b; location.search.slice(1) // 取url中?之后的部分 location.hash.substring(1) //取url中#之后的部分 通过javascript跳转&#xff1a; location.href() location.assign() location.replace()...

EasyUI - panel 高度自适应

EasyUI - panel 高度自适应&#xff1a; height:auto;即可实现高度自适应。 <div class"easyui-panel" style"width: 760px; height:auto; padding: 10px;" 当分页大小从10修改到20时&#xff0c;panel自动拉长适应了datagrid高度...

C#Winform拓展控件之Panel

本文在继承自带的Panel的基础上&#xff0c;进行了一点拓展&#xff0c;实现了panel背景的渐变填充以及边框的圆角设置。 效果如下&#xff1a; 属性栏&#xff1a; 实现原理也很简单&#xff1a; 在onpaint事件内进行重绘&#xff0c;首先进行渐变的填充&#xff0c;用Linear…...

uefi_panel_display_bringup

The UEFI workflow is as follows: 1. Set default panel 2. Preconfigure MDP-related register and setup SMMU 3. Display Dxe set mode 4. Initialize DSI-Phy and Ctrl 5. Initialize TG/PP and panel 6. Display splash logo and exit UEFI...

数仓之hive自定义UDTF函数详解

学习目录一、自定义UDTF函数一、自定义UDTF函数 1.说明文档 A custom UDTF can be created by extending the GenericUDTF abstract class and then implementing the initialize, process, and possibly close methods. The initialize method is called by Hive to notify t…...

Android Q+ 新特性 Settings Panel

Android Q新增悬浮设置Panel&#xff0c;方便三方应用上下文灵活相关设置。 Android官方网站文档中有给到一个场景: 当用户打开浏览器想访问某个站点时&#xff0c;发现当前网络状态是断开的或者处于飞行模式下&#xff0c;这是需要重新开启网络&#xff0c;无论是WiFi还是流…...

在CANoe中通过Panel面板控制Test Module 运行(高级)

📘前言 🍅在(初级)文章中,初步理解了用系统变量控制TestModule的运行,已经用panel控制系统变量,进而控制Test Module运行,那么问题来了🍅在CANoe中,一个Test Module运行完了,就停止了,我们怎么可以连续运行N个Test Module? 这就是(高级)中需要解决的问题,解…...

解决winform中的panel重绘闪烁问题

利用winform开发时&#xff0c;可能都会遇到一个问题&#xff0c;就是在panel中不停的重绘图形时&#xff0c;图形会不停的闪烁。要解决这个办法只需要开启双缓冲即可&#xff0c;由于初学c#&#xff0c;理解的不是很深&#xff0c;所以不多做解释。以下代码亲测可以解决这个问…...

会议panel是什么意思中文_topanel中文是什么意思

展开全部to panel中文的意思是至面板&#xff0c;到面板。例句&#xff1a;双语例句1、Prepare mounting hole to panel opening dimensions.在面板开口尺寸上预备安装孔62616964757a686964616fe78988e69d8331333431373961。2、Similarly to Panel Bar Items, a tab can contai…...

Java开发之Panel使用

package com.awt.frame;import java.awt.Color; import java.awt.Frame; import java.awt.Panel; /*** * author Administrator* java.lang.Object* java.awt.Container* java.awt.Panel*/ public class PanelInFrame extends Frame {public static void main(String[] arg...

display:kms-panel-4.14kernel

Panel硬件上对应屏幕本身。 https://elixir.bootlin.com/linux/latest/source/include/drm/drm_panel.h Makefile drm-$(CONFIG_DRM_PANEL) drm_panel.o drm_kms_helper-y:drm_panel_helper.o 没找到对应函数 drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) …...

零基础学习CANoe Panel(17)—— Panel CAPL Function

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】 🍅 零基础学习CANoe Panel设计目录汇总,点击跳转👉 📘前言 🍅 Panel的属性基本上在创建的时候就定义完毕了; C…...

Panel的基本用法

Panel是一块面板&#xff0c;最常用的基本组件之一&#xff0c;用法相当简单&#xff1a; Ext.onReady(function(){var panel new Ext.Panel({el:test,title:此处是标题,width:400,height:300,html:此处是内容.......});panel.render(); });1、创建一个Panel对象&#xff0c;…...

深入理解BootStrap-- 面板(panel)

1、面板 面板&#xff08;Panels&#xff09;是Bootstrap框架新增的一个组件&#xff0c;其主要作用就是用来处理一些其他组件无法完成的功能。同样在不同的版本中具有不同的源码&#xff1a; ☑ Less版本&#xff1a;对应的源码文件是 panels.less ☑ Sass版本&#xff1a;…...

panel组件学习(1)常见属性学习

1&#xff09; 、panel组件常用属性 因为panel组件的子类组件包括TabPanel,GridPanel,FormPanel,TreePanel组件&#xff0c;所以非常有必要介绍Panel组件的配置参数和相关的属性、方法。//配置参数(只列举部分常用参数) 1.autoLoad&#xff1a;有效的url字符串&#xff0c;把那…...

openharmony容器组件之Panel

Panel:可滑动面板。提供一种轻量的内容展示的窗口&#xff0c;可方便的在不同尺寸中切换&#xff0c;属于弹出式组件 Panel(value:{show&#xff1a;boolean}) show:控制Panel显示或隐藏 属性&#xff1a;type&#xff1a;设置可滑动面板的类型&#xff08;默认PanelType…...

Date对象的getMonth()对象的错误使用导致页面1月份时报错

日期方法报使用错误&#xff0c;getMonth()获取月份是从0到11 页面组件报错信息...

Date()常用方法getMonth, getFullYear等

Date()常用方法如下&#xff1a; var date new Date() console.log(date); //Fri Oct 29 2021 14:18:13 GMT0800 (中国标准时间)console.log(date.getMonth()); //获取月份(0-11,0代表1月&#xff0c;所以在显示当前时间的时候需要date.getMonth() 1&#xff09;console.l…...

日期、时间、格式、补零(0、〇)操作、length、String、slice、getFullYear、getMonth、getDate、getHours、getMinutes、getSeconds

// 数字类型的数据没有length属性 let dateTime new Date(),toStrings (val) > String(val),zeroFilling (val) > "00" val,getLength (val) > val.length,result (zero, len) > zero.slice(len),yer toStrings(dateTime.getFullYear()),moth to…...

js中获取月份date.getMonth()获取的是0-11

在项目中会遇到需要传输当前时间的接口&#xff0c;在js中也有封装好的方法&#xff0c;在使用getMonth( )获取的月份是0-11&#xff0c;要使用获取月份的话需在后面1&#xff0c;即getMonth( ) 1&#xff1b;...

js中获得月份getmonth()+1,为什么要加1?

js中获得月份getmonth()1,为什么要加1? getmonth()的返回值是 0&#xff08;一月&#xff09; 到 11&#xff08;十二月&#xff09; 之间的一个整数&#xff01;获取的其实是索引值&#xff0c;他的值是从0开始的&#xff0c;所以要加1才会得到真正的月份。...