草庐IT

yarn-daemon

全部标签

hadoop - YARN 中的分布式缓存功能

目前我正在使用MAP-REDUCEYARN框架。并以伪分布式模式使用hadoop。我想在这里使用“分布式缓存”功能将一些文件添加到缓存中并在我的map功能中使用它。我怎样才能做到这一点。 最佳答案 如何将文件添加到分布式缓存:使用hadoop选项.hadoopjar-files使用分布式缓存API:.job.addCacheFile(uri);hadoop-files选项或分布式缓存API将缓存文件复制到所有任务节点,并使其在执行期间可供mapper/reducer使用。如何访问分布式缓存:覆盖Mapper/reducer中的设置方

hadoop - 我需要在 Hadoop 之外进行 YARN

我在想是否可以在没有HDFS的情况下使用YARN。是否可以从Hadoop外部使用YARN?用于集群管理目的。谢谢 最佳答案 您可以在没有HDFS的情况下使用YARN。您只是不配置或启动HDFS服务,并且在不使用HDFSAPI的情况下运行应用程序。但是,YARN是Hadoop的一部分,如果不下载和配置Hadoop,就无法运行YARN。因此,安装和配置Hadoop通常是安装和配置HDFS和YARN(以及其他组件,如果需要的话)。 关于hadoop-我需要在Hadoop之外进行YARN,我们在

hadoop - yarn 模式下的 Spark RDD map 不允许访问变量?

我在mapr集群上安装了全新的spark1.2.1,在测试它时我发现它在本地模式下运行良好,但在yarn模式下它似乎无法访问变量,如果广播也是如此。准确的说是下面的测试代码importorg.apache.spark.SparkContextimportorg.apache.spark.SparkContext._importorg.apache.spark.SparkConfobjectJustSparkextendsApp{valconf=neworg.apache.spark.SparkConf().setAppName("SimpleApplication")valsc=new

hadoop - Yarn 和 MapReduce 资源配置

我目前正在运行一个伪分布式Hadoop系统。该机器有8个内核(16个虚拟内核),32GBRam。我的输入文件在几MB到~68MB之间(gzip日志文件,一旦达到>60MB就会上传到我的服务器,因此没有修复最大大小)。我想对其中大约500-600个文件运行一些Hive作业。由于输入文件大小不一致,到目前为止我还没有更改Hadoop中的block大小。据我所知,最好的情况是blocksize=输入文件大小,但是如果文件小于blocksize,Hadoop会填充该block直到它填满吗?输入文件的大小和数量如何影响性能,而不是说一个大约40GB的大文件?我对此设置的最佳配置会是什么样子?根据

hadoop - yarn : Do we need nodemanager on namenode?

我们是否需要在名称节点节点上启动节点管理器,即我不会将其设为数据节点?我将在一台机器上启动namenode和resourcemanager。由于我不会在这台机器上启动datanode,我想我也不需要启动nodemanager?感谢 最佳答案 这取决于你。您可以选择在未安装Datanode服务的节点上保留Nodemanager,在这种情况下,如果由该Nodemanager执行,数据将通过网络传输以执行任务。但是如果你想减少主节点的负载,那么你应该避免在它上面安装如此繁重的进程(Datanode和NodeManager)。在许多情况下,

hadoop - 当以非 hadoop 用户身份运行时,Yarn MapReduce approximate-pi 示例失败退出代码 1

我正在使用Hadoop2.6.2和yarn运行一个小型私有(private)linux机器集群。我从linux边缘节点启动yarn作业。当由hadoop(super用户,集群的所有者)用户运行时,用于近似pi值的jar装Yarn示例完美运行,但在边缘节点上从我的个人帐户运行时失败。在这两种情况下(hadoop,我)我都像这样运行作业:clott@edge:/home/hadoop/hadoop-2.6.2/bin/yarnjar/home/hadoop/hadoop-2.6.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.2

hadoop - 如何设置 YARN NodeManager 的 nodeID?

我正在尝试借助Ansible在EC2Spot实例上设置自定义Hadoop基础设施。在这样的实例中,只有内部IP是已知的。幸运的是,有一个ec2.py脚本可以动态生成list,并且可以配置为使用实例的完整外部DNS名称作为inventory_hostname。因此,我将所有Jinja2模板设置为使用inventory_hostname来设置配置XML文件。到目前为止,这对HDFS有效,对于YARN,Nodemanagers也已注册到Resourcemanager。但是,节点ID设置不正确,即设置为它们的内部IP地址。我的yarn-site.xml.j2看起来像这样:yarn.resour

hadoop - 非 mapreduce 应用程序如何在 YARN 中工作?

通过使用YARN,我们可以运行非mapreduce应用。但是它是如何工作的呢?在HDFS中,所有内容都存储在block中。对于每个block,将创建一个映射器任务来处理整个数据集。但是非mapreduce应用程序,它如何在不使用mapreduce的情况下处理不同数据节点中的数据集?请解释一下。 最佳答案 不要将Mapreduce范例与其他应用程序(例如Spark)混淆。Spark可以在Yarn下运行,但不使用映射器或缩减器。相反,它使用执行器,这些执行器知道数据局部性,就像mapreduce一样。sparkDriver将在数据节点上

hadoop - 提交 hadoop-streaming 作业 : yarn or hadoop?

使用yarnjar命令和使用hadoopjar命令提交hadoop-streaming作业有什么区别?这是来自currentdocumentation:hadoopjarhadoop-streaming-2.7.1.jar\-Dmapreduce.job.reduces=2\-inputmyInputDirs\-outputmyOutputDir\-mapper/bin/cat\-reducer/usr/bin/wc但是这个命令也可以用:yarnjarhadoop-streaming-2.7.1.jar\-Dmapreduce.job.reduces=2\-inputmyInputDi

hadoop - 使用 YARN/Hadoop 调度,我可以只抢占某些队列吗?

情况是我正在使用YARN来管理同时运行Spark和Hadoop的集群。通常作业没有相对大量的输入数据,但是有一系列偶尔运行的HadoopMapReduce作业确实有大量的输入数据并且可以长时间占用集群,因此其他用户不能运行他们小得多的工作。我希望能够做的是在集群为空时将整个集群用于大量作业,但如果另一个用户提交了作业,我想使用Preempt调度功能来杀死一些大型作业中的容器,因此它们可以腾出时间来处理较小的作业。但是,我不希望任何其他作业被抢占,只有大量作业被抢占。根据我的发现,似乎可以使用公平调度程序来执行此操作,为大量作业定义一个队列,并以某种方式仅在大量作业队列上启用抢占。我想问