首先了解下资源调度管理框架Yarn. Yarn的结构(如图): Resource Manager (rm)负责调度管理整个集群上的资源,而每一个计算节点上都会有一个Node Manager(nm)来负责该节点上的计算资源,我们把计算资源抽象成一个个Container(容器),每个Container包含一定数量的cpu核数和一定大小的内存.一个应用程序由一个App Master 来管理,App Master 负责将一个程序运行在各个节点的Container中. Yarn 组件分工: 1.     …
0. 说明  Windows 下开发 MapReduce 程序部署到集群 1. 前提 在本地开发的时候保证 resource 中包含以下配置文件,从集群的配置文件中拷贝 在 resource 中新建 mapred-site.xml(仅做测试使用,打包的时候删掉) <?xml version="1.0"?> <configuration> <property> <name>mapreduce.framework.name</name&…
一.前期准备 前期的环境准备,在Linux系统下要有Hadoop系统,spark伪分布式或者分布式,具体的教程可以查阅我的这两篇博客: Hadoop2.0伪分布式平台环境搭建 Spark2.4.0伪分布式环境搭建 然后在spark伪分布式的环境下必须出现如下八个节点才算spark环境搭建好. 然后再在本地windows系统下有一个简单的词频统计程序. import org.apache.spark.SparkConf import org.apache.spark.SparkContext im…
此种方式不能直接在eclipse中调试代码. 首先需要在src下放置服务器上的hadoop配置文件:core-site.xml\yarn-site.xml\hdfs-site.xml\mapred-site.xml 1.在本地直接调用,执行过程在服务器上(真正企业运行环境)     a.首先把MR程序打包(jar),直接放到本地,比如C:\\Users\\Administrator\\Desktop\\wc.jar     b.修改hadoop的源码 ,在新建的Java project中拷贝下面…
目的 刚入门spark,安装的是CDH的版本,版本号spark-core_2.11-2.4.0-cdh6.2.1,部署了cdh客户端(非集群节点),本文主要以spark-shell为例子,对在cdh客户端上提交spark作业原理进行简单分析,加深理解 spark-shell执行 启动spark-shell后,可以发下yarn集群上启动了一个作业,实际上,cdh-spark默认提交作业模式为yarn-client模式,即在本地运行Driver,作业在yarn集群上执行 spark-shell启动过…
上一篇博文如何在Eclipse下搭建Hadoop开发环境,今天给大家介绍一下如何分别分别在Eclipse和Hadoop集群上运行我们的MapReduce程序! 1. 在Eclipse环境下运行MapReduce程序(WordCount程序) 首先看一下我的项目结构和WordCount程序: 其中word.txt将作为我们测试的输入文件,内容如下: 程序代码如下所示: package com.hadoop.WordCount; import java.io.IOException; import…
写在前面 相关随笔: Hadoop-1.0.4集群搭建笔记 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试 用python + hadoop streaming 编写分布式程序(三) -- 自定义功能 为了方便,这篇文章里的例子均为伪分布式运行,一般来说只要集群配置得当,在伪分布式下能够运行的程序,在真实集群上也不会有什么问题. 为了更好地模拟集群环境,我们可以在mapred-site.xml中增设reducer和mapper的最大…
MapReduce任务有三种运行方式: 1.windows(linux)本地调试运行,需要本地hadoop环境支持 2.本地编译成jar包,手动发送到hadoop集群上用hadoop jar或者yarn jar方式运行. 3.本地编译环境在IDE里直接提交到集群上运行,实际上这种方式就是第二种方式的变种. 本例说的就是第三种方式 1)核心的部分就是Confirguration的配置 2)本地需要编译成jar包 3)运行参数在本地配置,包括输入输出参数4)出现windows下的环境配置问题,参照h…
不少同学抱怨,在集群的GPU节点上运行caffe程序时,经常出现"Out of Memory"的情况.实际上,如果我们在提交caffe程序到某个GPU节点的同时,指定该节点某个比较空闲的gpu id,便可以避免"Out of Memory"的情况.步骤如下: 1. 在提交任务前,制作一个带有“nvidia-smi”命令的run_gpu.sh文件 #!/bin/bash #$ -V #$ -cwd #$ -j y #$ -S /bin/bash nvidia-smi…
0. 说明 将 IDEA 下的项目导出为 Jar 包,部署到 Spark 集群上运行. 1. 打包程序 1.0 前提 搭建好 Spark 集群,完成代码的编写. 1.1 修改代码 [添加内容,判断参数的有效性] // 判断参数的有效性 if (args == null || args.length == 0) { throw new Exception("需要指定文件路径") ; } [注释掉 conf.setMaster("...")] // 不用写,在提交代码的…