你好,游客 登录
背景:
阅读新闻

hadoop分布式文件系统(HDFS)

[日期:2014-10-21] 来源:CSDN  作者:chaofanwei [字体: ]

  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?

在CODE上查看代码片
派生到我的代码片

  $ 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?

在CODE上查看代码片
派生到我的代码片

  $ bin/hadoop fs -put conf input

  运行测试

  [plain] view plaincopyprint?

在CODE上查看代码片
派生到我的代码片

  $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'

  获取测试程序的执行结果

  [plain] view plaincopyprint?

在CODE上查看代码片
派生到我的代码片

  $ bin/hadoop fs -cat output/*

  输出:

  [plain] view plaincopyprint?

在CODE上查看代码片
派生到我的代码片

  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




收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款