hadoop分布式文件系统(HDFS)

  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

时间: 2024-10-29 13:30:57

hadoop分布式文件系统(HDFS)的相关文章

Hadoop分布式文件系统HDFS的工作原理详述

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统. 1.分布式文件系统 多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统. 分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储.换句话说,它们是横跨在多台计算机上的存

Java访问Hadoop分布式文件系统HDFS的配置说明_java

配置文件 m103替换为hdfs服务地址. 要利用Java客户端来存取HDFS上的文件,不得不说的是配置文件hadoop-0.20.2/conf/core-site.xml了,最初我就是在这里吃了大亏,所以我死活连不上HDFS,文件无法创建.读取. <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <co

Hadoop白皮书(1):分布式文件系统HDFS简介

Hadoop 分布式文件系统 (HDFS) 是运行在通用硬件上的分布式文件系统.HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案.HDFS 已经在各种大型在线服务和大型存储系统中得到广泛应用,已经成为各大网站等在线服务公司的海量存储事实标准,多年来为网站客户提供了可靠高效的服务. 随着信息系统的快速发展,海量的信息需要可靠存储的同时,还能被大量的使用者快速地访问.传统的存储方案已经从构架上越来越难以适应近几年来的信息系统业务的飞速发展,成为了业务发展的瓶颈和障碍. HDFS 通过一

【官方文档】Hadoop分布式文件系统:架构和设计

http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html   引言 前提和设计目标 硬件错误 流式数据访问 大规模数据集 简单的一致性模型 "移动计算比移动数据更划算" 异构软硬件平台间的可移植性 Namenode 和 Datanode 文件系统的名字空间 (namespace) 数据复制 副本存放: 最最开始的一步 副本选择 安全模式 文件系统元数据的持久化 通讯协议 健壮性 磁盘数据错误,心跳检测和重新复制 集群均衡 数据完整

Hadoop分布式文件系统:结构与设计

1. 介绍 Hadoop 分布式文件系统 (HDFS)是一个设计为用在普通硬件设备上的分布式文件系统.它与现有的分布式文件系统有很多近似的地方,但又和这些文件系统有很明显的不同.HDFS 是高容错的,设计为部署在廉价硬件上的.HDFS对应用程序的数据提供高吞吐量,而且适用于那些大数据集应用程序.HDFS开放了一些POSIX的必须接口,容许流式访问文件系统的数据.HDFS最初是为了Apache 的Nutch网络搜索引擎项目的下层构件而设计的.是Hadoop项目的一部分,而这又是Apache的 Lu

Hadoop分布式文件系统:架构和设计要点

Hadoop分布式文件系统:架构和设计要点 原文:http://hadoop.apache.org/core/docs/current/hdfs_design.html一.前提和设计目标 1.硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速.自动的恢复是HDFS的核心架构目标. 2.跑在HDFS上的应用与一般的应用不同,它们主要是以流式读为主,做批量处理:比之关注数据访问的低延迟问题,更关键的在于数据访问的高吞吐量. 3.

《Hadoop实战手册》一第1章 Hadoop分布式文件系统——导入和导出数据

第1章 Hadoop分布式文件系统--导入和导出数据 Hadoop实战手册 本章我们将介绍: 使用Hadoop shell命令导入和导出数据到HDFS 使用distcp实现集群间数据复制 使用Sqoop从MySQL数据库导入数据到HDFS 使用Sqoop从HDFS导出数据到MySQL 配置Sqoop以支持SQL Server 从HDFS导出数据到MongoDB 从MongoDB导入数据到HDFS 使用Pig从HDFS导出数据到MongoDB 在Greenplum外部表中使用HDFS 利用Flum

数据太大?你该了解Hadoop分布式文件系统

大数据时代来了.当所有人都争吵着这件事情的时候,当所有企业都看好大数据的发展前景的时候,却都很少关注这些数据从哪儿来,我们有没有足够优秀的技术能力处理这些数据. 联网设备增加 数据量随之上升 网络的发展无疑为我们迎接大数据时代.智能计算时代铺好了路.根据研究公司的预测,全球联网设备正在增加,在部分国家,人均联网设备早已超过2台:如此大量的联网设备和不断提高的网络速度都在让社会的数据量快速增长,智慧城市.平安城市的实现也是以视频监控等视频数据为基础,成为大数据时代的重要组成部分. 机器人.AI.机

性能-分布式文件系统hdfs 有iops和tps这两种指标的测试吗?

问题描述 分布式文件系统hdfs 有iops和tps这两种指标的测试吗? 分布式文件系统hdfs 有iops和tps这两种指标的测试吗? 还有淘宝分布式文件系统,有iops的测试指标不?谢谢大神们