我正在尝试通过以下命令向CDHyarn集群提交一个spark作业我尝试了几种组合,但都不行......我现在所有的poijar都位于我的本地/root以及HDFS/user/root/lib中,因此我尝试了以下操作spark-submit--masteryarn-cluster--class"ReadExcelSC"./excel_sc.jar--jars/root/poi-3.12.jars,/root/poi-ooxml-3.12.jar,/root/poi-ooxml-schemas-3.12.jarspark-submit--masteryarn-cluster--class"
当Yarn中的资源管理器(RM)出现故障时会发生什么?在运行作业的过程中,如果资源管理器宕机,那么作业会发生什么情况?作业是自动提交还是我们需要再次提交作业?谢谢,文卡特 最佳答案 资源管理器(RM)高可用性在Apache中进行了解释链接如下。ResourceManagerHA通过Active/Standby架构实现。在任何时间点,其中一个RM是Active,如果ActiveRM发生故障,则其他备用节点正在等待接管。被提升为事件状态的RM从State-store加载RM内部状态,并从前一个事件状态停止的地方继续运行。为之前提交给RM
我有几个关于向HDFS提交作业和Hadoop中的YARN架构的问题:因此,在Hadoop生态系统中,每个集群都有一个NameNode,它可以包含任意数量的数据节点来存储您的数据。当您向Hadoop提交作业时,NameNode上的作业跟踪器将选择每个作业并将其分配给数据节点上文件所在的任务跟踪器。所以我的问题是YARN的组件如何在HDFS中协同工作:?所以YARN由NodeManager和ResourceManager组成。在这两个组件中:NodeManager是否在每个DataNode上运行,而ResourceManager是否在每个集群的每个NameNode上运行?因此,当任务跟踪器
我想列出为特定MR作业运行容器的节点。我只有application_id。是否可以使用HadoopRESTAPI和/或通过命令行来完成? 最佳答案 这可以使用yarn来完成命令。运行yarnapplicationattempt-list获取应用尝试ID运行yarncontainer-list获取容器ID运行yarncontainer-status获取任何特定容器的主机。如果你想在bash脚本中使用它,或者想要获取具有大量容器的应用程序的每个主机,你可能想要解析出尝试/容器ID和主机,但这至少是一个开始。
我了解YARN上Spark应用程序的客户端模式和集群模式之间的主要区别。主要区别包括驱动程序在哪里运行-clinet模式下的本地,集群模式下的ApplicationMasterClientrunningduration-在clinet模式下,client需要运行整个持续时间,在集群模式下,客户端不需要运行,因为AM会处理它交互使用-sparkshell和pyspark。集群模式不太适合这些要求驱动在客户端运行安排工作-在客户端模式下,客户端通过直接与容器通信来安排工作。在集群模式下,A通过直接与容器通信来调度工作两种情况的相似之处谁处理来自YARN的执行器请求-应用主管谁启动执行程序进
我在yarn配置文件中看到一个我想删除的队列:yarn.scheduler.capacity.root.queuesa,b,cThequeuesatthethislevel(rootistherootqueue).yarn.scheduler.capacity.root.a.queuesa1,a2Thequeuesatthethislevel(rootistherootqueue).yarn.scheduler.capacity.root.b.queuesb1,b2,b3Thequeuesatthethislevel(rootistherootqueue).假设我要删除队列c.我删除c
在Hadoop2中,是否可以使用restAPI获得与以下相同的结果:yarnlogs-applicationId 最佳答案 这很痛苦,我没有满意的答案,但我可以为您指出一些资源。YARNCLI通过转到filesystem转储日志.如果您的应用程序可以访问HDFS,它也可以做同样的事情(但这并不简单)。或者,您可以使用rest调用http:///ws/v1/cluster/apps/{appid}获取应用程序主日志URL(但不是日志内容).从此URL中,您可以获取包含日志内容的HTML页面,该页面将在中返回。带有编码HTML实体的标签
我在设置以下调度程序队列参数时遇到了一些问题:有2个队列Dev和Prod根100%开发30%生产率70%(如果只有一个使用它应该充当100%的集群)每个队列由多个用户使用,资源应该被平均共享,但是当只有一个用户存在时(在每个队列中)它应该使用队列的全部容量。如果用户单独在集群中,它应该使用100%的集群以防第二个用户加入,调度程序应该共享可用资源我现在有什么,示例流程:集群没有作业用户队列Dev中的提交作业。(它现在使用100%的集群)用户B在队列Dev提交作业(它卡在已接受并等待第一个作业完成)我想要什么:在这种情况下,因为第二个作业在同一个队列中,每个作业都应该接收队列的50%,即
这个问题在这里已经有了答案:HowtoknowwhatisthereasonforClosedChannelExceptionswithspark-shellinYARNclientmode?(4个答案)关闭3年前。我有三个虚拟机作为分布式Spark集群运行。我正在使用Spark1.3.0和底层Hadoop2.6.0。如果我运行SparkPi示例/usr/local/spark130/bin/spark-submit--classorg.apache.spark.examples.SparkPi--masteryarn-client/usr/local/spark130/example
我正在调用yarnRESTAPI以发现有关工作的信息。我可以点击http://server:8088/ws/v1/cluster/apps在Postman中获取JSON格式的应用程序列表:太棒了。我现在想获取有关每个单独应用程序的信息。根据HadoopYARN-IntroductiontothewebservicesRESTAPI's电话是:但是当我尝试将该URL(好吧,我的服务器和应用程序的等效项)粘贴到我的浏览器时,我被发送到:我想要一个按照上面文档的JSON文档,但我没有得到它。根据文档,我尝试使用curl但一无所获:尝试改用PowerShell:如您所见,它返回的是HTML,而