准备工作
以windows环境为例: 安装jdk,设置环境变量JAVA_HOME为jdk安装目录 安装Cygwin,安装时注意选择安装软件包openssh - Net 类,安装完成将cygwin/bin加入环境变量path。 确认ssh。打开cygwin命令行,分别执行以下命令 安装sshd:$ ssh-host-config 启动sshd服务:$ net start sshd 配置免密码登录用户:$ ssh-user-config 检查可登录localhost:$ ssh localhost 下载稳定的hadoop版本,点此选择下载,我选择的是0.20.2版本。 下载后解压,编辑conf/hadoop-env.sh,修改JAVA_HOME为jdk安装目录。 至此,Windows环境下的Hadoop的安装和配置完成,为了运行还需要打包MapReduce作业。我们用maven的 assembly插件来将程序打包。 配置如下:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
在pom.xml里加入以上配置,运行mvn assembly:assembly命令就可以打包了。 单机运行
单台机器、单线程运行、不需要启动hadoop进程,利于调试,但没有模拟hadoop集群多个进程的情况,只支持一个reducer。 运行方式: $ bin/hadoop jar --config standalone path/xx.jar WordCount input output
注意点: 用--config指定单机运行时的配置目录(示例中配置目录文件夹名为standalone,在0.20.2版本这个文件夹可以为空目录,不要别的配置文件) WordCount为包含运行作业main函数的的类,如果有包名需要加上包名。 Input文件夹下放置输入的文件。 output为输出的目录,在运行job前需保证该目录不存在,否则会报错。 伪分布式运行 特点: 单台机器,启动hadoop所有进程(如NameNode, DataNode, TaskTracker, JobTracker, SecondaryNameNode),较好的模拟hadoop集群情况。 配置: conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
运行: 格式化分布式文件系统:$ bin/hadoop namenode –format 启动hadoop进程:$ bin/start-all.sh 检查是否启动成功,可访问以下url NameNode - http://localhost:50070/ JobTracker - http://localhost:50030/ 如果不能访问,检查logs目录下的日志分析原因。 将输入文件复制到分布式文件系统:$ bin/hadoop fs -put local input 运行作业:$ bin/hadoop jar path/xx.jar WordCount input output 检查输出:$ bin/hadoop fs -cat output/* 停止hadoop进程:$ bin/stop-all.sh 完全分布式运行测试 完全分布式运行需要利用多台机器,实现hadoop的分布式集群,通过高仿真环境进行集成测试。关于完全分布式运行测试环境搭建可见Cluster Setup。 集成测试总结 在掌握了如何运行hadoop作业后,测试要做的事就是通过脚本/代码将这个过程自动化起来,一般流程是: 预设置(准备输入文件、启动hadoop进程等)->运行作业->输出结果跟预期结果的对比->报告导致失败的原因。 在运行集成测试时需要考虑几个问题: 集成环境的搭建:需要考虑机器资源,维护成本。 输入构造:在单元测试时我们可以很容易的构造一些小的键值对,其输出结果可以很好的预期,但在集成测试时小文件意义已经不大了,我们需要仿真的大批量的数据来发现程序的问题,仿真度越高,发现问题的可能性越大。 输出分析: 我们面对的输入是仿真的海量数据,不可能做输出结果的精确预期,需要借助日志或对输出进行二次分析。在开发时需要考虑这些情况,将有用信息通过日志或输出 的方式存储。在完全分布式模式运行,日志散落在各台机器上,如何有效获取这些日志集中起来做分析?这个我们可以借助Scribe工具。同样,输出结果也可能为海量数据,如何高效对此进行分析,这可能需要针对输出数据编写测试的MapReduce任务来分析结果。
分享到:
相关推荐
mrjob:在 Hadoop 或Amazon Web Services上运行MapReduce 作业
appengine-mapreduce, 在 App Engine上,运行MapReduce作业的库 应用Mapreduce库 官方网站:https://github.com/GoogleCloudPlatform/appengine-mapreduce查看站点最新状态,最新版本,启动&用户指南和其他文档。...
window下eclipse中运行mapreduce程序所需要的Hadoop全部jar包
YARN中运行Mapreduce程序 ...6 、 MapReduce作业的application master是一个Java应用程序,它的主类是MRAppMaster。它对作业进行初始化:通过创建多个簿记对象以保持对作业进度的跟踪,因为它将接受
基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf基于MapReduce作业拆分组合机制的并行ETL组件实现.pdf...
基本概念 MapReduce采用了Master/Slave架构,包括一个Master和若干个Slave,Master上运行JobTracker,Slave运行TaskTracker ...3.将运行作业所需要的资源文件复制到HDFS上,包括MapReduce程序打包的JAR文件、
该文档的目录如下: 1.1实验目的 1.2实验环境 V 1.3实验步骤 1.3.1安装eclipse 1.3.2安装Hadoop- Eclipse Plugin ...1.3.5在Eclipse 中创建MapReduce项目 附:查看HDFS文件系统数据的三种方法
Python执行MapReduce测试,python编写map和reduce程序,并验证测试
23、hadoop集群中yarn运行mapreduce的内存、CPU分配调度计算与优化 网址:https://blog.csdn.net/chenwewi520feng/article/details/130457270 本文介绍在hadoop集群中,不适用默认的参数情况下,yarn的cpu和内容配置...
4 分别在自编 MapReduce 程序 WordCount 运行过程中和运行结束后查看 MapReduce Web 界面。 5. 分别在自编 MapReduce 程序 WordCount 运行过程中和运行结束后练习 MapReduce Shell 常用命令。 。。
mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce ...
用于多个MapReduce作业的任务调度算法.pdf
eclipse运行MapReduce架包~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
windows下配置cygwin、hadoop等并运行mapreduce及mapreduce程序讲解
Hadoop MapReduce作业卡死问题的解决方法.docx
mapreduce案例测试数据
Ubuntu系统上Hadoop与MapReduce 运行实例
Hadoop 用mapreduce实现Wordcount实例,绝对能用
- 在EMR、Google Cloud Dataproc、您自己的Hadoop集群或本地(用于测试)上运行作业。 - 编写多步骤作业(一个map-reduce步骤进入下一个步骤) - 在EMR或您自己的Hadoop集群上轻松启动Spark作业 - 在Hadoop中复制您...
(2):运行MapReduce (5):查看运行结果 (6)网页上查看MapReduce任务 2.矩阵相乘实验(matrix) (1)写matrix代码并把代码生成jar包 (2)运行命令 (1):把linus下的文件放到hdfs上 (2):运行MapReduce (3...