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

使用spark-submitYARN群集模式时缺少hive-site

如何解决《使用spark-submitYARN群集模式时缺少hive-site》经验,为你挑选了1个好方法。

使用HDP 2.5.3,我一直在尝试调试一些YARN容器类路径问题.

由于HDP包括Spark 1.6和2.0.0,因此存在一些冲突的版本

我支持的用户能够成功地在YARN client模式下使用带有Hive查询的Spark2 ,但是不能从cluster模式中获取有关未找到的表的错误,或类似的东西,因为未建立Metastore连接.

我猜测设置--driver-class-path /etc/spark2/conf:/etc/hive/conf或者传递--files /etc/spark2/conf/hive-site.xmlspark-submit都可以工作,但为什么没有hive-site.xmlconf文件夹中加载?

根据Hortonworks文档的说法,hive-site应该放入$SPARK_HOME/conf,并且......

我看到hdfs-site.xmlcore-site.xml,以及其他文件,HADOOP_CONF_DIR例如,这是来自YARN UI容器信息.

2232355    4 drwx------   2 yarn     hadoop       4096 Aug  2 21:59 ./__spark_conf__
2232379    4 -r-x------   1 yarn     hadoop       2358 Aug  2 21:59 ./__spark_conf__/topology_script.py
2232381    8 -r-x------   1 yarn     hadoop       4676 Aug  2 21:59 ./__spark_conf__/yarn-env.sh
2232392    4 -r-x------   1 yarn     hadoop        569 Aug  2 21:59 ./__spark_conf__/topology_mappings.data
2232398    4 -r-x------   1 yarn     hadoop        945 Aug  2 21:59 ./__spark_conf__/taskcontroller.cfg
2232356    4 -r-x------   1 yarn     hadoop        620 Aug  2 21:59 ./__spark_conf__/log4j.properties
2232382   12 -r-x------   1 yarn     hadoop       8960 Aug  2 21:59 ./__spark_conf__/hdfs-site.xml
2232371    4 -r-x------   1 yarn     hadoop       2090 Aug  2 21:59 ./__spark_conf__/hadoop-metrics2.properties
2232387    4 -r-x------   1 yarn     hadoop        662 Aug  2 21:59 ./__spark_conf__/mapred-env.sh
2232390    4 -r-x------   1 yarn     hadoop       1308 Aug  2 21:59 ./__spark_conf__/hadoop-policy.xml
2232399    4 -r-x------   1 yarn     hadoop       1480 Aug  2 21:59 ./__spark_conf__/__spark_conf__.properties
2232389    4 -r-x------   1 yarn     hadoop       1602 Aug  2 21:59 ./__spark_conf__/health_check
2232385    4 -r-x------   1 yarn     hadoop        913 Aug  2 21:59 ./__spark_conf__/rack_topology.data
2232377    4 -r-x------   1 yarn     hadoop       1484 Aug  2 21:59 ./__spark_conf__/ranger-hdfs-audit.xml
2232383    4 -r-x------   1 yarn     hadoop       1020 Aug  2 21:59 ./__spark_conf__/commons-logging.properties
2232357    8 -r-x------   1 yarn     hadoop       5721 Aug  2 21:59 ./__spark_conf__/hadoop-env.sh
2232391    4 -r-x------   1 yarn     hadoop        281 Aug  2 21:59 ./__spark_conf__/slaves
2232373    8 -r-x------   1 yarn     hadoop       6407 Aug  2 21:59 ./__spark_conf__/core-site.xml
2232393    4 -r-x------   1 yarn     hadoop        812 Aug  2 21:59 ./__spark_conf__/rack-topology.sh
2232394    4 -r-x------   1 yarn     hadoop       1044 Aug  2 21:59 ./__spark_conf__/ranger-hdfs-security.xml
2232395    8 -r-x------   1 yarn     hadoop       4956 Aug  2 21:59 ./__spark_conf__/metrics.properties
2232386    8 -r-x------   1 yarn     hadoop       4221 Aug  2 21:59 ./__spark_conf__/task-log4j.properties
2232380    4 -r-x------   1 yarn     hadoop         64 Aug  2 21:59 ./__spark_conf__/ranger-security.xml
2232372   20 -r-x------   1 yarn     hadoop      19975 Aug  2 21:59 ./__spark_conf__/yarn-site.xml
2232397    4 -r-x------   1 yarn     hadoop       1006 Aug  2 21:59 ./__spark_conf__/ranger-policymgr-ssl.xml
2232374    4 -r-x------   1 yarn     hadoop         29 Aug  2 21:59 ./__spark_conf__/yarn.exclude
2232384    4 -r-x------   1 yarn     hadoop       1606 Aug  2 21:59 ./__spark_conf__/container-executor.cfg
2232396    4 -r-x------   1 yarn     hadoop       1000 Aug  2 21:59 ./__spark_conf__/ssl-server.xml
2232375    4 -r-x------   1 yarn     hadoop          1 Aug  2 21:59 ./__spark_conf__/dfs.exclude
2232359    8 -r-x------   1 yarn     hadoop       7660 Aug  2 21:59 ./__spark_conf__/mapred-site.xml
2232378   16 -r-x------   1 yarn     hadoop      14474 Aug  2 21:59 ./__spark_conf__/capacity-scheduler.xml
2232376    4 -r-x------   1 yarn     hadoop        884 Aug  2 21:59 ./__spark_conf__/ssl-client.xml

正如你可能看到的,hive-site不存在,即使我肯定有conf/hive-site.xml火花提交

[spark@asthad006 conf]$ pwd && ls -l
/usr/hdp/2.5.3.0-37/spark2/conf
total 32
-rw-r--r-- 1 spark spark   742 Mar  6 15:20 hive-site.xml
-rw-r--r-- 1 spark spark   620 Mar  6 15:20 log4j.properties
-rw-r--r-- 1 spark spark  4956 Mar  6 15:20 metrics.properties
-rw-r--r-- 1 spark spark   824 Aug  2 22:24 spark-defaults.conf
-rw-r--r-- 1 spark spark  1820 Aug  2 22:24 spark-env.sh
-rwxr-xr-x 1 spark spark   244 Mar  6 15:20 spark-thrift-fairscheduler.xml
-rw-r--r-- 1 hive  hadoop  918 Aug  2 22:24 spark-thrift-sparkconf.conf

所以,我不认为我应该把蜂房网站HADOOP_CONF_DIRHIVE_CONF_DIR是分开的,但我的问题是,我们怎么Spark2拿起hive-site.xml无需手动将它传递在运行时的参数?

编辑自然,因为我在使用HDP我正在使用Ambari.以前的集群管理员已在所有计算机上安装了Spark2客户端,因此可能是潜在Spark驱动程序的所有YARN NodeManager都应具有相同的配置文件



1> Samson Schar..:

我了解它的方式,在localyarn-client模式下...

    启动器检查Hive / Hadoop客户端库是否在CLASSPATH中搜索了HDFS,YARN,Hive,HBase
    > 是否需要Kerberos令牌(包括因为驱动程序在启动器中运行并且此时已构建合并的CLASSPATH)hive-site.xmldriver.extraClassPath

    驱动程序将检查哪一种metastore的用于内部目的:独立metastore背靠挥发性Derby实例或常规蜂巢metastore
    >说的$SPARK_CONF_DIR/hive-site.xml

    使用Hive界面时,将使用Metastore连接来读取/写入驱动程序中的Hive元数据
    > hive-site.xml Hive / Hadoop客户端库在CLASSPATH中搜索(并且使用Kerberos令牌(如果有))

因此,您可以hive-site.xml说一说Spark应该使用嵌入式的内存中Derby实例用作沙箱(内存中表示“停止将所有这些临时文件留在您的身后”),而另一个则hive-site.xml给出实际的Hive Metastore URI。一切都很好。


现在,在yarn-cluster模式下,所有这些机制几乎都在令人讨厌的,未记录的混乱中爆炸。

Launcher需要自己的CLASSPATH设置来创建Kerberos令牌,否则它会静默失败。最好转到源代码,找出您应该使用哪个未公开的Env变量。
它可能还需要在某些属性中进行覆盖,因为硬编码默认值突然不再是默认值(静默)。

驱动程序无法点击原始文件$SPARK_CONF_DIR,它必须依靠启动程序可用于上传的内容。包括副本$SPARK_CONF_DIR/hive-site.xml吗?看起来并非如此。
因此,您可能正在使用Derby东西作为存根。

驱动程序与YARN在容器CLASSPATH上施加的顺序无关。
此外,driver.extraClassPath默认情况下,添加项不优先。为此,您必须强制执行spark.yarn.user.classpath.first=true (将其转换为我现在不记得其确切名称的标准Hadoop属性,尤其是因为有多个名称相似的道具可能已弃用和/或在Hadoop 2.x中不起作用)


觉得不好吗?尝试以yarn-cluster模式连接到Kerberized HBase 。连接是在执行程序中完成的,这是另一层麻烦。但是我偏离了。

底线:再次开始诊断

答:您是否真的确定神秘的“ Metastore连接错误”是由缺少属性(尤其是Metastore URI)引起的?

B.顺便说一句,您的用户是否明确使用HiveContext????

C.在打开Metastore连接时,YARN呈现给驱动程序JVM的确切是什么CLASSPATH,驱动程序呈现给Hadoop库的CLASSPATH的确切是什么?

D.如果YARN构建的CLASSPATH由于某种原因而混乱,那么最小的解决办法是什么-优先规则的更改?加成?都?


推荐阅读
  • Ranger、LLAP管理SparkSQL权限配置
    概述之前一直使用ranger管理hive的用户权限,现在系统要集成SparkSQL(thriftserver),但是在ranger下并没有SparkSQL的相关的插件,通过搜集HO ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • SparkOnYarn在YARN上启动Spark应用有两种模式。在cluster模式下,Spark驱动器(driver)在YARNApp ... [详细]
  • HortonworksDataPlatform3.0.0版本,基本上集成Hadoop社区生态最新版本 ... [详细]
  • 大数据技术原理与应用:大数据处理架构Hadoop生态圈
    Hadoop生态圈概述Hadoop简介什么是Apachehadoop?ApacheHadoop项目是以可靠、可扩展和分布式计算为目的而发展而来的开源软件ApacheHadoop软件 ... [详细]
  • Ambari实战1:Ambari使用场景及介绍
    本篇文章主要讲解Ambari的一些基础知识,让大家对Ambari有一个潜意识的认识。什么是Ambari?ApacheAmbari是一种基于We ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
  • 开发笔记:大三上寒假15天第5天
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大三上寒假15天--第5天相关的知识,希望对你有一定的参考价值。昨天的下载完成后运行报错,应该是下载的spark版本和教 ... [详细]
  • SparkRDD宽窄依赖及Stage划分
    1.术语解释:Master(Standalone):资源管理的主节点(进程)ClusterManager:在集群上获取资源的外部服务(例如standalone,Mesos,Yarn ... [详细]
  • linux下spark配置文件,Linux下Spark的安装和配置
    一.安装JDK(略)二.安装Scala(l略)三.安装Spark1.上传安装包到集群节点2.解压安装包3.修改配置文件a.spark-env.shvispark-env.shb.s ... [详细]
  • 系统:windows10eclipse版本:neon.3hadoop版本:ambari2.5.1安装下的hdp2.6.1对应hadoop版本2.7.3plugin版 ... [详细]
author-avatar
李太有才_905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有