热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hue/oozie调度shell执行hive脚本

hueoozie调度shell执行hive脚本前面已经有篇文章介绍如何编译包含hive的spark-assembly.jar了,不清楚的可以翻看一下前面的文章。clouderama

hue/oozie 调度shell执行hive脚本

前面已经有篇文章介绍如何编译包含hive的spark-assembly.jar了,不清楚的可以翻看一下前面的文章。clouderamanager装好的spark,直接执行spark-shell进入命令行后,写入如下语句:valhiveCOntext=neworg.apache.spark.sql.hive.HiveContext(sc)你会发现没法执行通过,因为cm装的原生的spark是不支持sparkhql的,我们需要手动进行一些调整:第一步,将编译好的包含hive的JAR包上传到hdfs上配置的默认的spark的sharelib目录:/user/spark/share/lib第二步:在你要运行spark-shell脚本的节点上的/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/lib/目录下面,下载这个jar到这个目录:hadoopfs-gethdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar(具体路径替换成你自己的)。

然后这个目录下面原来会有个软链接spark-assembly.jar指向的是spark-assembly-1.2.0-cdh5.3.0-hadoop2.5.0-cdh5.3.0.jar,我们把这个软链接删除掉重新创建一个同名的软链接:ln-sspark-assembly-with-hive-maven.jarspark-assembly.jar,指向我们刚下载下来的那个JAR包,这个JAR包会在启动spark-shell脚本时装载到driverprogram的classpath中去的,sparkContext也是在driver中创建出来的,所以需要将我们编译的JAR包替换掉原来的spark-assembly.jar包,这样在启动spark-shell的时候,包含hive的spark-assembly就被装载到classpath中去了。

第三步:在/opt/cloudera/parcels/CDH/lib/spark/conf/目录下面创建一个hive-site.xml。/opt/cloudera/parcels/CDH/lib/spark/conf目录是默认的spark的配置目录,当然你可以修改默认配置目录的位置。hive-site.xml内容如下:hive.metastore.localfalsehive.metastore.uristhrift://n1:9083hive.metastore.client.socket.timeout300hive.metastore.warehouse.dir/user/hive/warehouse这个应该大家都懂的,总要让spark找到hive的元数据在哪吧,于是就有了上面一些配置。第四步:修改/opt/cloudera/parcels/CDH/lib/spark/conf/spark-defaults.conf,添加一个属性:spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。

这个是让每个executor下载到本地然后装载到自己的classpath下面去的,主要是用在yarn-cluster模式。local模式由于driver和executor是同一个进程所以没关系。以上完事之后,运行spark-shell,再输入:valhiveCOntext=neworg.apache.spark.sql.hive.HiveContext(sc)应该就没问题了。

我们再执行一个语句验证一下是不是连接的我们指定的hive元数据库:hiveContext.sql("showtables").take(10)//取前十个表看看最后要重点说明一下这里的第二步第三步和第四步,如果是yarn-cluster模式的话,应该替换掉集群所有节点的spark-assembly.jar集群所有节点的sparkconf目录都需要添加hive-site.xml,每个节点spark-defaults.conf都需要添加spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。可以写个shell脚本来替换,不然手动一个一个节点去替换也是蛮累的。

oozie的shell节点怎么用

因为楼主是yarn,而文章的版本应该是基于hadoop1.x的oozie的shell action一般用来定义工作流的,监控本地shell?每太明白。

HUE通过oozie调度spark2 程序on yarn的两种方法

chd 5.12.3 hadoop 2.6.0 oozie 4.1.0 spark 2.3.0 spark1(集群自带的可以直接添加jar)做任务调度spark2 需要进行配置后(添加spark2 所需要的jar到oozie 的sharelib中)才能进行调度 详细步骤可以参考: https://blog.csdn.net/worldchinalee/article/details/80594593特别注意事项1: a、spark程序jar包路径,因为jar是传到HDFS上面的,cluster方式提交的时候,jar name栏目需要写jar包再hdfs上面的全路径, 见上图方框中内容。 b、需改集群oozie配置项   Spark on Yarn 服务   改为 none  ,默认是 yarn。

不然运行时候会报错。

e.g   hdfs://nameserviceHa/user/hue/oozie/workspaces/hue-oozie-1505120868.97/spark-examples_2.11-2.3.0.cloudera2.jar特别注意事项2:运行spark程序时候,oozie自动默认spark。需要通过配置参数  oozie.action.sharelib.for.spark  设置为spark2,指定运spark时候添加的jar包为spark2.。 小伙伴会疑问为社么直接通过通过shell小组件调用shell脚本? shell组件的中的shell脚本不支持交互是查询。ssh远程命令不支持,如果spark环境不在oozie组件的主机上,此方法行不通。

*********************************下面重点介绍怎么通过ssh远程执行shell命令*********************************** 使用oozie提供的小组件现在有几个问题需要解决: 1、oozie调度时候使用的是oozie账户,当你执行ssh时候发现回报登陆错误。解决办法配置免密 2、怎么配置免密 su oozie 的时候报以下提示,因为chd生成的用户名问题,本人再这里花费了很多时间处理此问题。 This account is currently not available. 解决办法:使用sudo -u oozie 命令执行免密登陆设置 sudo -u oozie ssh-keygen 生成秘钥 cat /var/lib/oozie/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys  (写入的是你需要免密的服务器,这里展示的是本机写法) 验证免密登录 到这里,你就可以随心所欲的书写脚本,并存到再服务器。

通过oozie  ssh远程执行此脚本,以此达到调度的效果。

如何让Android系统或Android应用执行shell脚本

and

如何运行shell脚本?

编写好的shell脚本(如:test),可以采取两种方式进行运行:一、 $ sh test一般不采用这种调用方式,尤其不采用“sh

二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。

chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)chmod +rx test(同上)chmod u+rx test(只有文件属主具有读和执行的访问权限)按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。1、test(如果命令检索路径包含当前目录)2、./test(如果命令减缩路径不包含当前目录)*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。


推荐阅读
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • This pull request introduces the ability to provide comprehensive paragraph configurations directly within the Create Note and Create Paragraph REST endpoints, reducing the need for additional configuration calls. ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 本文介绍了如何在WildFly 10中配置MySQL数据源时遇到的服务依赖问题及其解决方案。 ... [详细]
  • 深入解析Spark核心架构与部署策略
    本文详细探讨了Spark的核心架构,包括其运行机制、任务调度和内存管理等方面,以及四种主要的部署模式:Standalone、Apache Mesos、Hadoop YARN和Kubernetes。通过本文,读者可以深入了解Spark的工作原理及其在不同环境下的部署方式。 ... [详细]
  • 本文详细介绍了如何配置Apache Flume与Spark Streaming,实现高效的数据传输。文中提供了两种集成方案,旨在帮助用户根据具体需求选择最合适的配置方法。 ... [详细]
author-avatar
bcz8936810
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有