hadoop分布式文件系统|什么是Hadoop分布式文件系统

hadoop分布式文件系统|什么是Hadoop分布式文件系统的第1张示图

『壹』 什么是Hadoop分布式文件系统

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,内而是通过计算机网络与容节点相连。Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapRece和Google档案系统的概念类似。HDFS(Hadoop 分布式文件系统)是其中的一部分。

『贰』 hadoop快速入门的格式化一个新的分布式文件系统怎么理解

回到windows–>打开网络和共享中心->更改适配器设置->右键VMnet1->属性->双击IPv4->设置windows的IP:192.168.1.100子网掩码:255.255.255.0->点击确定!

『叁』 hadoop是分布式文件系统吗

是的Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统。1.分布式文件系统 多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统。 分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储。换句话说,它们是横跨在多台计算机上的存储系统。存储在分布式文件系统上的数据自动分布在不同的节点上。 分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理来自网络和其它地方的超大规模数据提供所需的扩展能力。2.分离元数据和数据:NameNode和DataNode 存储到文件系统中的每个文件都有相关联的元数据。元数据包括了文件名、i节点(inode)数、数据块位置等,而数据则是文件的实际内容。 在传统的文件系统里,因为文件系统不会跨越多台机器,元数据和数据存储在同一台机器上。 为了构建一个分布式文件系统,让客户端在这种系统中使用简单,并且不需要知道其他客户端的活动,那么元数据需要在客户端以外维护。HDFS的设计理念是拿出一台或多台机器来保存元数据,并让剩下的机器来保存文件的内容。 NameNode和DataNode是HDFS的两个主要组件。其中,元数据存储在NameNode上,而数据存储在DataNode的集群上。NameNode不仅要管理存储在HDFS上内容的元数据,而且要记录一些事情,比如哪些节点是集群的一部分,某个文件有几份副本等。它还要决定当集群的节点宕机或者数据副本丢失的时候系统需要做什么。 存储在HDFS上的每份数据片有多份副本(replica)保存在不同的服务器上。在本质上,NameNode是HDFS的Master(主服务器),DataNode是Slave(从服务器)。

『肆』 如何部署hadoop分布式文件系统

一、实战环境系统版本:CentOS 5.8x86_64java版本:JDK-1.7.0_25Hadoop版本:hadoop-2.2.0192.168.149.128namenode (充当namenode、secondary namenode和ResourceManager角色)192.168.149.129datanode1 (充当datanode、nodemanager角色)192.168.149.130datanode2 (充当datanode、nodemanager角色)二、系统准备1、Hadoop可以从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译。(如果是真实线上环境,请下载64位hadoop版本,这样可以避免很多问题,这里我实验采用的是32位版本)1234 HadoopJava2、我们这里采用三台CnetOS服务器来搭建Hadoop集群,分别的角色如上已经注明。第一步:我们需要在三台服务器的/etc/hosts里面设置对应的主机名如下(真实环境可以使用内网DNS解析)[[email protected] hadoop]# cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1localhost.localdomain localhost192.168.149.128node1192.168.149.129node2192.168.149.130node3(注* 我们需要在namenode、datanode三台服务器上都配置hosts解析)第二步:从namenode上无密码登陆各台datanode服务器,需要做如下配置:在namenode 128上执行ssh-keygen,一路Enter回车即可。然后把公钥/root/.ssh/id_rsa.pub拷贝到datanode服务器即可,拷贝方法如下:ssh–id -i .ssh/id_rsa.pub [email protected]ssh–id -i .ssh/id_rsa.pub [email protected]三、Java安装配置tar -xvzf jdk-7u25-linux-x64.tar.gz &&mkdir -p /usr/java/ ; mv /jdk1.7.0_25 /usr/java/ 即可。安装完毕并配置java环境变量,在/etc/profile末尾添加如下代码:export JAVA_HOME=/usr/java/jdk1.7.0_25/export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./保存退出即可,然后执行source /etc/profile 生效。在命令行执行java -version 如下代表JAVA安装成功。[[email protected] ~]# java -versionjava version "1.7.0_25"Java(TM) SE Runtime Environment (build 1.7.0_25-b15)Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)(注* 我们需要在namenode、datanode三台服务器上都安装Java JDK版本)四、Hadoop版本安装官方下载的hadoop2.2.0版本,不用编译直接解压安装就可以使用了,如下:第一步解压:tar -xzvf hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0/data/hadoop/(注* 先在namenode服务器上都安装hadoop版本即可,datanode先不用安装,待会修改完配置后统一安装datanode)第二步配置变量:在/etc/profile末尾继续添加如下代码,并执行source /etc/profile生效。export HADOOP_HOME=/data/hadoop/export PATH=$PATH:$HADOOP_HOME/bin/export JAVA_LIBRARY_PATH=/data/hadoop/lib/native/(注* 我们需要在namenode、datanode三台服务器上都配置Hadoop相关变量)五、配置Hadoop在namenode上配置,我们需要修改如下几个地方:1、修改vi /data/hadoop/etc/hadoop/core-site.xml 内容为如下:<?xml version="1.0"?><?xml-stylesheet type="text/xsl"href=\'#\'" Put site-specific property overrides inthisfile. –><configuration><property><name>fs.default.name</name><value>hdfs://192.168.149.128:9000</value></property><property><name>hadoop.tmp.dir</name><value>/tmp/hadoop-${user.name}</value><description>A base forother temporary directories.</description></property></configuration>2、修改vi /data/hadoop/etc/hadoop/mapred-site.xml内容为如下:<?xml version="1.0"?><?xml-stylesheet type="text/xsl"href=\'#\'" Put site-specific property overrides inthisfile. –><configuration><property><name>mapred.job.tracker</name><value>192.168.149.128:9001</value></property></configuration>3、修改vi /data/hadoop/etc/hadoop/hdfs-site.xml内容为如下:<?xml version="1.0"encoding="UTF-8"?><?xml-stylesheet type="text/xsl"href=\'#\'" /name><value>/data/hadoop/data_name1,/data/hadoop/data_name2</value></property><property><name>dfs.data.dir</name><value>/data/hadoop/data_1,/data/hadoop/data_2</value></property><property><name>dfs.replication</name><value>2</value></property></configuration>4、在/data/hadoop/etc/hadoop/hadoop-env.sh文件末尾追加JAV_HOME变量:echo "export JAVA_HOME=/usr/java/jdk1.7.0_25/">> /data/hadoop/etc/hadoop/hadoop-env.sh5、修改 vi /data/hadoop/etc/hadoop/masters文件内容为如下:192.168.149.1286、修改vi /data/hadoop/etc/hadoop/slaves文件内容为如下:192.168.149.129192.168.149.130如上配置完毕,以上的配置具体含义在这里就不做过多的解释了,搭建的时候不明白,可以查看一下相关的官方文档。如上namenode就基本搭建完毕,接下来我们需要部署datanode,部署datanode相对简单,执行如下操作即可。1 fori in`seq 129130` ; doscp -r /data/hadoop/ [email protected]$i:/data/ ; done自此整个集群基本搭建完毕,接下来就是启动hadoop集群了。

『伍』 hive使用hadoop的分布式文件系统什么作为存储引擎

使用hdfs作为分布式存储

『陆』 MooseFS和Hadoop两个分布式文件系统各有什么优缺点

首先,说一下这两个分布式文件系统的相同之处:1.这两个文件系统都是类似GoogleFS的实现方式,即一个MasterServer和多个ChunkServer构成的存储集群;2.这两个文件系统都存在MasterServer的单点问题(个人认为主从备份并不能从根本上解决这个问题,该问题的解决之道应该是类似 Ceph 多元数据服务器方式,这方面也是我研究生阶段的研究点之一);3.这两个文件系统追加写模式,也就是说,两者都更加适合“一次写多次读”的模式,如果涉及到数据的修改,那么这个问题就相对比较麻烦了(更好的办法可以参考Sorrento这个文件系统);4.由于海量元数据的因素,对待海量小文件都相对比较乏力(更好地解决办法可以参考Facebook的Haystack);5.两者都支持在线扩容。我们再来看看这两个分布式文件系统的差异:1.HDFS由Java实现,MooseFS由C++实现;2.HDFS不符合posix语义,MooseFS是完全符合posix语义的,原因在于MooseFS是通过Fuse来通过客户端接口的(Fuse目前已经是标准内核的一部分了),现有使用本地文件系统的程序可以直接平滑迁移到MooseFS上,无需任何修改,但是MooseFS也付出了相应地开销:使用HDFS编写程序时直接使用库(如libhdfs)就可以跟Master或者ChunkServer通信,请求传输更为高效,而MooseFS需要通过标准posix接口将请求发送到内核,再通过Fuse将请求截获发送到用户态,然后才能和Master或者ChunkServer通信;3.MooseFS提供了快照功能,HDFS目前还没有看到这个方面的实际开发行动;4.MooseFS针对小文件和随机I/O进行了一些优化;说到主流这个问题,HDFS具有压倒性的优势:Facebook、Yahoo、阿里、腾讯、网络等等都是使用者,社区也更为活跃,谁让Apache Software Foundation是开源一姐呢?!但是题主也不用灰心,MooseFS的粉丝也不少 Who is using MooseFS,其中当属豆瓣是大哥,1.5PB的数据也证明了MooseFS还是有两把刷子的。

『柒』 Hadoop分布式文件系统和对象存储有何不同

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,专而是通过属计算机网络与节点相连。Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapRece和Google档案系统的概念类似。HDFS(Hadoop 分布式文件系统)是其中的一部分。

『捌』 hadoop分布式文件系统具有怎样的特性

硬件错误硬件错误是常态而不是异常。HDFS可能由成百上千的服务器所构成,每个服务器上存储着文件系统的部分数据。我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的。因此错误检测和快速、自动的恢复是HDFS最核心的架构目标。流式数据访问运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。POSIX标准设置的很多硬性约束对HDFS应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对POSIX的语义做了一些修改。大规模数据集运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。简单的一致性模型HDFS应用需要一个“一次写入多次读取”的文件访问模型。一个文件经过创建、写入和关闭之后就不需要改变。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。Map/Rece应用或者网络爬虫应用都非常适合这个模型。目前还有计划在将来扩充这个模型,使之支持文件的附加写操作。“移动计算比移动数据更划算”一个应用请求的计算,离它操作的数据越近就越高效,在数据达到海量级别的时候更是如此。因为这样就能降低网络阻塞的影响,提高系统数据的吞吐量。将计算移动到数据附近,比之将数据移动到应用所在显然更好。HDFS为应用提供了将它们自己移动到数据附近的接口。异构软硬件平台间的可移植性HDFS在设计的时候就考虑到平台的可移植性。这种特性方便了HDFS作为大规模数据应用平台的推广。

『玖』 数据库与hadoop与分布式文件系统的区别和联系

1. 用向外扩展代替向上扩展 扩展商用关系型数据库的代价是非常昂贵的。它们的设计更容易向上扩展。要运行一个更大的数据库,就需要买一个更大的机器。事实上,往往会看到服务器厂商在市场上将其昂贵的高端机标称为“数据库级的服务器”。不过有时可能需要处理更大的数据集,却找不到一个足够大的机器。更重要的是,高端的机器对于许多应用并不经济。例如,性能4倍于标准PC的机器,其成本将大大超过将同样的4台PC放在一个集群中。Hadoop的设计就是为了能够在商用PC集群上实现向外扩展的架构。添加更多的资源,对于Hadoop集群就是增加更多的机器。一个Hadoop集群的标配是十至数百台计算机。事实上,如果不是为了开发目的,没有理由在单个服务器上运行Hadoop。 2. 用键/值对代替关系表 关系数据库的一个基本原则是让数据按某种模式存放在具有关系型数据结构的表中。虽然关系模型具有大量形式化的属性,但是许多当前的应用所处理的数据类型并不能很好地适合这个模型。文本、图片和XML文件是最典型的例子。此外,大型数据集往往是非结构化或半结构化的。Hadoop使用键/值对作为基本数据单元,可足够灵活地处理较少结构化的数据类型。在hadoop中,数据的来源可以有任何形式,但最终会转化为键/值对以供处理。 3. 用函数式编程(MapRece)代替声明式查询(SQL ) SQL 从根本上说是一个高级声明式语言。查询数据的手段是,声明想要的查询结果并让数据库引擎判定如何获取数据。在MapRece中,实际的数据处理步骤是由你指定的,它很类似于SQL引擎的一个执行计划。SQL 使用查询语句,而MapRece则使用脚本和代码。利用MapRece可以用比SQL 查询更为一般化的数据处理方式。例如,你可以建立复杂的数据统计模型,或者改变图像数据的格式。而SQL 就不能很好地适应这些任务。 4.分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元组的schema,存入取出删除的粒度较小。分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。

『拾』 hadoop yarn的底层文件系统必须是hdfs吗能不能使用其他分布式文件系统替代

可以的,我现在做测试的环境就是Yarn+TachyOn(Berkeley AMPLab推出的分布式内存文件系统版)。参权见:http://tachyon-project.org/Running-Hadoop-MapRece-on-Tachyon.html

未经允许不得转载:山九号 » hadoop分布式文件系统|什么是Hadoop分布式文件系统

赞 (0)