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守护进程执行在一个集群上。
不同模式关键配置属性
组件名称 | 属性名称 | 独立模式 | 伪分布模式 | 全分布模式 |
Common | fs.default.name | file:/// (默认) | hdfs://localhost:9000 | hdfs://namenode:9000 |
HDFS | dfs.replication | N/A | 1 | 3 (默认) |
MapReduce | mapred.job.tracker | local (默认) | localhost:9001 | jobtracker:9001 |
2.2、本机模式安装
因为默认属性专为本模式所设定,且无需执行不论什么守护进程。因此本模式除了把dfs.replication值设为1外,无需不论什么别的操作。
測试:
进入$HADOOP_HOME文件夹下执行下面命令来測试安装是否成功
$ 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无password登陆
4、格式化文件系统 hadoop namenode -format
5、启动守护进程 start-all.sh
6、停止守护进程
当中第二步实例:
<configuration> <property> <name>fs.default.name</name> <value>localhost:9000</value> </property> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
启动后能够通过网页方式查看NameNode和JobTracker状态
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
測试:
拷贝文件到分布式文件系统上
$ bin/hadoop fs -put conf input
执行測试
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
获取測试程序的执行结果
$ bin/hadoop fs -cat output/*
输出:
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无password登陆
4、格式化文件系统 hadoop namenode -format
5、启动守护进程 start-all.sh
6、停止守护进程
启动后可以通过网页方式查看NameNode和JobTracker状态
NameNode - http://namenode:50070/
JobTracker - http://jobtracker:50030/
注意:
在每一个机器上的同样位置分别安装hadoop。且username同样。
3、eclipse插件安装
eclipse hadoop插件,是为了高速开发mapreduce程序,提供了
mapreduce location视图。用于设置mapreduce变量。
windows->preferences 添加了设置hadoop安装位置设置栏。
在Project Explore视图里面添加了DFS Locations项目,可以查看hdfs文件系统的内容,并可以上传下载文件;
new project 里面添加了mapreduce project;
添加了run on hadoop平台功能。
须要注意的是hadoop自带的contribeclipse-pluginhadoop-0.20.2-eclipse-plugin.jar过时了,须要从网上下载一个新的,否则在执行mapreduce程序时没有反应。