1、hadoop版本介绍
0.20.2版本以前(不含该版本)的配置文件都在default.xml中。
0.20.x以后的版本不含有eclipse插件的jar包,由于eclipse的版本不一,所以就需要自己编译源码生成对应的插件。
0.20.2——0.22.x版本的配置文件集中在conf/core-site.xml、 conf/hdfs-site.xml 和 conf/mapred-site.xml. 中。
0.23.x 版本有添加了yarn技术,配置文件集中在 conf/core-site.xml, conf/hdfs-site.xml, conf/yarn-site.xml and conf/mapred-site.xml.这4个文件上。
由于0.23.x版本的变化比较大,添加了新的技术,让很多基于hadoop的一些插件难以兼容,如hive、hbase、pig等都基于0.23.x以前的版本。
所以apache就开始统一版本号,这样从版本号就可以区分hadoop的功能。
0.22.x 直接升级到1.0.0
0.23.x 直接升级到2.0.0
这样就把hadoop分为两个版本 1和2
1版本:主要基于原来的技术的升级和发展,同时支持其它技术的支持。如果想用hbase、hive等技术就只有选择 版本1
2版本:主要基于新技术的推广和发展,如果只是基于hadoop开发,这个是一个很好的选择。
目前官网上下载hadoop处描述:
Download
1.2.X - current stable version, 1.2 release
2.4.X - current stable 2.x version
0.23.X - similar to 2.X.X but missing NN HA.
2、hadoop安装及模式
目前,我在实验环境中使用的是hadoop-0.20.2,所以以后我都是基于这个版本进行描述。
Hadoop各个组件的配置在文件夹conf下。早期的hadoop采用一个配置文件hadoop-site.xml来配置Common,HDFS和MapReduce组件,从0.20.0版本开始,分为三个文件。
core-site.xml:配置Common组件的属性。
hdfs-site.xml:配置HDFS属性。
mapred-sit.xml:配置MapReduce属性。
2.1、Hadoop运行模式
Hadoop的运行模式有以下三种:
独立模式(standalone或local mode):无需任何守护进程(daemon),所有程序都在单个JVM上执行。主要用在开发阶段。默认属性就是为本模式所设,所以不需要额外的配置。
伪分布式模式(pseudo-distributed model):Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
全分布模式(full distributed model):Hadoop守护进程运行在一个集群上。
不同模式关键配置属性
组件名称属性名称独立模式伪分布模式全分布模式
Commonfs.default.">namefile:/// (默认)hdfs://localhost:9000hdfs://namenode:9000
HDFSdfs.replicationN/A13 (默认)
MapReducemapred.job.trackerlocal (默认)localhost:9001jobtracker:9001
2.2、本机模式安装
由于默认属性专为本模式所设定,且无需运行任何守护进程,因此本模式除了把dfs.replication值设为1外,无需任何别的操作。
测试:
进入$HADOOP_HOME目录下执行以下命令来测试安装是否成功
[plain] view plaincopyprint?
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
$ cat output/*
输出:
1 dfsadmin
经过上面的步骤,如果没有出现错误就算安装成功了。
2.3、伪分布式模式安装步骤
安装步骤:
1、设置环境变量(JAVA_HOME,path,HADOOP_HOME,CLASSPATH)
2、修改hadoop配置文件(core-site.xml,hdfs-site.xml,mapred-site.xml)
3、设置ssh无密码登陆
4、格式化文件系统 hadoop namenode -format
5、启动守护进程 start-all.sh
6、停止守护进程
其中第二步实例:
[html] view plaincopyprint?
fs.default.name
localhost:9000
mapred.job.tracker
localhost:9001
dfs.replication
1
启动后可以通过网页方式查看NameNode和JobTracker状态
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
测试:
复制文件到分布式文件系统上
[plain] view plaincopyprint?
$ bin/hadoop fs -put conf input
运行测试
[plain] view plaincopyprint?
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
获取测试程序的执行结果
[plain] view plaincopyprint?
$ bin/hadoop fs -cat output/*
输出:
[plain] view plaincopyprint?
3 dfs.class
2 dfs.period
1 dfs.file
1 dfs.replication
1 dfs.servers
1 dfsadmin
1 dfsmetrics.log
经过上面的步骤,如果没有出现错误就算安装成功了。
2.4、全分布模式安装步骤
安装步骤:
1、设置环境变量(JAVA_HOME,path,HADOOP_HOME,CLASSPATH)
2、修改hadoop配置文件(core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves)
3、设置ssh无密码登陆
4、格式化文件系统 hadoop namenode -format
5、启动守护进程 start-all.sh
6、停止守护进程
启动后可以通过网页方式查看NameNode和JobTracker状态
NameNode - http://namenode:50070/
JobTracker - http://jobtracker:50030/
注意:
在每个机器上的相同位置分别安装hadoop,且用户名相同。
3、eclipse插件安装
eclipse hadoop插件,是为了快速开发mapreduce程序,提供了
mapreduce location视图,用于设置mapreduce变量;
windows->preferences 增加了设置hadoop安装位置设置栏;
在Project Explore视图里面增加了DFS Locations项目,能够查看hdfs文件系统的内容,并能够上传下载文件;
new project 里面增加了mapreduce project;
增加了run on hadoop平台功能。
需要注意的是hadoop自带的contrib\eclipse-plugin\hadoop-0.20.2-eclipse-plugin.jar过时了,需要从网上下载一个新的,否则在运行mapreduce程序时没有反应。
原文链接:http://blog.csdn.net/chaofanwei/article/details/40209527