MRS集群处理的数据源来源于OBS或HDFS,HDFS是Hadoop分布式文件系统(Hadoop Distributed File System),OBS(Object Storage Service)即华为对象存储服务,是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。MRS可以直接处理OBS中的数据,客户可以基于云管理平台Web界面和OBS客户端对数据进行浏览、管理和使用,同时可以通过REST API接口方式单独或集成到业务程序进行管理和访问数据。
数据存储在OBS:数据存储和计算分离,集群存储成本低,存储量不受限制,并且集群可以随时删除,但计算性能取决于OBS访问性能,相对HDFS有所下降,建议在数据计算不频繁场景下使用。
数据存储在HDFS:数据存储和计算不分离,集群成本较高,计算性能高,但存储量受磁盘空间限制,删除集群前需将数据导出保存,建议在数据计算频繁场景下使用。
试着回答:
先说明一下:
1 namenode负责管理目录和文件信息,真正的文件块是存放在datanode上。
2 每个map和reduce(即task)都是java进程,默认是有单独的jvm的,所以不可能同一个类的对象会在不同节点上。
看你的描述是把namenode,datanode和jobtracker,tasktracker有点混了。
所以:
问题1 分块存放在datanode上
问题2inputformat是在datanode上,确切的说是在tasktracker中。每个map和reduce都会有自己的对象,当多个map读入一个文件时,实际上不同的map是读的文件不同的块,reduce也是一样,各个任务读入的数据是不相交的。
问题3reduce输出肯定是在hdfs上,和普通文件一样在datanode上。
问题4每个reducer会有自己的outputformat对象,与前面inputformat原因一样。
首先将文件名发送给名称节点;名称节点根据文件名找到对应数据块信息,再根据数据块信息。
hadoopmapreduce通常针对hdfs中存储的数据运行。该系统是围绕数据局部性设计的,要求数据采用hdfs格式。也就是说,为了提高性能,map任务在存储数据的同一块硬件上运行。
也就是说,如果出于某种原因,您的数据必须存储在hdfs之外,然后使用mapreduce进行处理,那么这是可以做到的,但要做的工作要多一些,而且效率不如本地处理hdfs中的数据。
所以让我们来看两个用例。从日志文件开始。日志文件,因为它们不是特别可访问的。它们只需要被卡在某个地方,然后保存起来,以备日后分析。hdfs非常适合这种情况。如果你真的需要一个日志,你可以得到它,但一般人会寻找输出的分析。所以将日志存储在hdfs中并正常处理它们。
然而,hdfs和hadoop map reduce理想格式的数据(单个大平面文件中的许多记录)并不是我认为高度可访问的。hadoopmapreduce希望输入文件的大小为多兆字节,每个文件有许多记录。你越是偏离这个案子,你的表现就越会下降。有时您的数据需要随时在线,而hdfs对此并不理想。例如,我们将以你的书为例。如果这些书籍用于需要以在线方式访问内容(即编辑和注解)的应用程序中,则可以选择将它们存储在数据库中。然后,当您需要运行批处理分析时,可以使用自定义inputformat从数据库中检索记录并在mapreduce中处理它们。
我目前正在用一个网络爬虫来完成这个任务,它将网页单独存储在amazons3中。网页太小,无法作为mapreduce的一个有效输入,因此我有一个定制的inputformat,为每个mapper提供几个文件。这个mapreduce作业的输出最终被写回s3,因为我使用的是amazonemr,hadoop集群就消失了。
数据库与hadoop与分布式文件系统的区别和联系
1 用向外扩展代替向上扩展
扩展商用关系型数据库的代价是非常昂贵的。它们的设计更容易向上扩展。要运行一个更大
的数据库,就需要买一个更大的机器。事实上,往往会看到服务器厂商在市场上将其昂贵的高端机
标称为“数据库级的服务器”。不过有时可能需要处理更大的数据集,却找不到一个足够大的机器。
更重要的是,高端的机器对于许多应用并不经济。例如,性能4倍于标准PC的机器,其成本将大大
超过将同样的4台PC放在一个集群中。Hadoop的设计就是为了能够在商用PC集群上实现向外扩展
的架构。添加更多的资源,对于Hadoop集群就是增加更多的机器。一个Hadoop集群的标配是十至
数百台计算机。事实上,如果不是为了开发目的,没有理由在单个服务器上运行Hadoop。
2 用键/值对代替关系表
关系数据库的一个基本原则是让数据按某种模式存放在具有关系型数据结构的表中。虽然关
系模型具有大量形式化的属性,但是许多当前的应用所处理的数据类型并不能很好地适合这个模
型。文本、和XML文件是最典型的例子。此外,大型数据集往往是非结构化或半结构化的。
Hadoop使用键/值对作为基本数据单元,可足够灵活地处理较少结构化的数据类型。在hadoop中,
数据的来源可以有任何形式,但最终会转化为键/值对以供处理。
3 用函数式编程(MapReduce)代替声明式查询(SQL )
SQL 从根本上说是一个高级声明式语言。查询数据的手段是,声明想要的查询结果并让数据库引擎
判定如何获取数据。在MapReduce中,实际的数据处理步骤是由你指定的,它很类似于SQL
引擎的一个执行计划。SQL 使用查询语句,而MapReduce则使用脚本和代码。利用MapReduce可
以用比SQL 查询更为一般化的数据处理方式。例如,你可以建立复杂的数据统计模型,或者改变
图像数据的格式。而SQL 就不能很好地适应这些任务。
4
分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,
可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元
组的schema,存入取出删除的粒度较小。
分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。
分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部
实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。
共享文件与分布式文件系统的区别分布式文件系统(Distributed File System,DFS)
如果局域网中有多台服务器,并且共享文件夹也分布在不同的服务器上,这就不利于管理员的管理和用户的访问。而使用分布式文件系统,系统管理员就可以把不同服务器上的共享文件夹组织在一起,构建成一个目录树。这在用户看来,所有共享文件仅存储在一个地点,只需访问一个共享的DFS根目录,就能够访问分布在网络上的文件或文件夹,而不必知道这些文件的实际物理位置。
ftp server和分布式文件系统的区别换个思路,使用mount --bind把目录加载过来就可以了 先将数据盘挂载 mount /dev/sdb1 /mnt/d 在ftp目录下建一个文件夹data mount --bind /mnt/d data
FTP server和分布式文件系统的区别, 分布式文件系统和分布式数据库有什么不同分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元组的schema,存入取出删除的粒度较小。
分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。
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(从服务器)。
文件系统与数据库系统的区别和联系
其区别在于:
(1)
文件系统用文件将数据长期保存在外存上,数
据库系统用数据库统一存储数据。
(2)
文件系统中的程序和数据有一
定的联系,数据库系统中的程序和数据分离。
(3)
文件系统用 *** 作系
统中的存取方法对数据进行管理,数据库系统用
DBMS
统一管理和控
制数据。
(4)
文件系统实现以文件为单位的数据共享,数据库系统实
现以记录和字段为单位的数据共享。
其联系在于:
(1)
均为数据组织的管理技术。
(2)
均由数据管理软
件管理数据,程序与数据之间用存取方法进行转换。
(3)
数据库系统
是在文件系统的基础上发展而来的。
数据库系统和文件系统的区别与联系文件系统和数据库系统之间的区别:
(1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;
(2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;
(3) 文件系统用 *** 作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;
(4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。
文件系统和数据库系统之间的联系:
(1) 均为数据组织的管理技术;
(2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;
(3) 数据库系统是在文件系统的基础上发展而来的。
什么是Hadoop分布式文件系统分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapReduce和Google档案系统的概念类似。
HDFS(Hadoop 分布式文件系统)是其中的一部分。
以上就是关于hdfs和mysql有什么区别大数据离线数据存储在mysql还是hdfs比较好全部的内容,包括:hdfs和mysql有什么区别大数据离线数据存储在mysql还是hdfs比较好、如何进行MySQL数据库与HDFS的实时数据同步、hadoop中存储文件系统hdfs的冗余机制是怎么进行的有什么特点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)