当前位置: 首页 > news >正文

购物网站后台设计工商网站如何做企业增资

购物网站后台设计,工商网站如何做企业增资,赣州建网站,百度搜索引擎的功能HDFS有什么特点#xff0c;被设计做什么 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。有一下几个特点#xff1a; HDFS是一个高度容错性的系统#xff0c;具有高容错、高可靠性、高扩展性的特点#xff0c;适合部…HDFS有什么特点被设计做什么       Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。有一下几个特点 HDFS是一个高度容错性的系统具有高容错、高可靠性、高扩展性的特点适合部署在廉价的机器上。 HDFS能提供对应用程序数据的高吞吐量访问非常适合大规模数据集上的应用。HDFS上的一个典型文件大小一般都在G字节至T字节。因此HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。 DataNode与NameNode 二者之间的联系 HDFS采用master/slave架构(主从结构)。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成当然我们可以做HA。 Namenode是一个中心服务器负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。 集群中的Datanode一般是一个节点一个负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间用户能够以文件的形式在上面存储数据。从内部看一个文件其实被分成一个或多个数据块一个block块大小为128M这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。 集群中单一Namenode的结构大大简化了系统的架构。Namenode是所有HDFS元数据的仲裁者和管理者这样用户数据永远不会流过Namenode。 NN与DN都干什么活 NameNode执行的是文件系统的namspace操作比如打开、不安比、重命名文件和目录也决定这DataNode中块的映射。 主要负责         处理客户端请求的响应         元数据的管理包括文件的名称、副本系数、Block存放的DataNode的管理。 DataNode负责处理文件系统客户端的读写请求。 DataNode还根据来自NameNode的指令执行block的创建删除和副本的一些操作。 主要负责         存储用户的文件对应的数据块         定期向NameNode发送心跳信息汇报本身及其所有的block信息健康状况。 文件系统的名字空间 (namespace) HDFS支持传统的层次型文件组织结构。用户或者应用程序可以创建目录然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似用户可以创建、删除、移动或重命名文件。当前HDFS不支持用户磁盘配额和访问权限控制也不支持硬链接和软链接。但是HDFS架构并不妨碍实现这些特性。 Namenode负责维护文件系统的名字空间任何对文件系统名字空间或属性的修改都将被Namenode记录下来。应用程序可以设置HDFS保存的文件的副本数目。文件副本的数目称为文件的副本系数这个信息也是由Namenode保存的。 数据复制 HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件存储成一系列的数据块除了最后一个所有的数据块都是同样大小的整除效果还有余数。为了容错文件的所有数据块都会有副本一般副本数为3个看需求。每个文件的数据块大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定也可以在之后改变。HDFS中的文件都是一次性写入的并且严格要求在任何时候只能有一个写入者。 Namenode全权管理数据块的复制它周期性地从集群中的每个Datanode接收心跳信号和块状态报告(Blockreport)。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该Datanode上所有数据块的列表。 副本存放: 最最开始的一步机架感知策略 副本的存放是HDFS可靠性和性能的关键。优化的副本存放策略是HDFS区分于其他大部分分布式文件系统的重要特性。这种特性需要做大量的调优并需要经验的积累。 机架感知策略非常非常重要的且NB的词汇 HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率。 大型HDFS实例一般运行在跨越多个机架的计算机组成的集群上不同机架上的两台机器之间的通讯需要经过交换机。在大多数情况下同一个机架内的两台机器间的带宽会比不同机架的两台机器间的带宽大。 通过一个机架感知的过程Namenode可以确定每个Datanode所属的机架id --  --  -- 一个简单但没有优化的策略就是将副本存放在不同的机架上。这样可以有效防止当整个机架失效时数据的丢失并且允许读数据的时候充分利用多个机架的带宽。这种策略设置可以将副本均匀分布在集群中有利于当组件失效情况下的负载均衡。但是因为这种策略的一个写操作需要传输数据块到多个机架这增加了写的代价。 在大多数情况下副本系数是3HDFS的存放策略是将一个副本存放在本地机架的节点上一个副本放在同一机架的另一个节点上最后一个副本放在不同机架的节点上。这种策略减少了机架间的数据传输这就提高了写操作的效率。机架的错误远远比节点的错误少所以这个策略不会影响到数据的可靠性和可用性。于此同时因为数据块只放在两个不是三个不同的机架上所以此策略减少了读取数据时需要的网络传输总带宽。在这种策略下副本并不是均匀分布在不同的机架上。三分之一的副本在一个节点上三分之二的副本在一个机架上其他副本均匀分布在剩下的机架中这一策略在不损害数据可靠性和读取性能的情况下改进了写的性能。这个思路非常NB 注机架就是机房里头的安置服务器的架子 副本选择 为了降低整体的带宽消耗和读取延时HDFS会尽量让读取程序读取离它最近的副本。如果在读取程序的同一个机架上有一个副本那么就读取该副本。如果一个HDFS集群跨越多个数据中心那么客户端也将首先读本地数据中心的副本。 注大数据中最常说的一句话就是移动计算比移动数据更有利 安全模式很重要的点 Namenode启动后会进入一个称为安全模式的特殊状态。处于安全模式的Namenode是不会进行数据块的复制的。 安全模式怎么退出Important! Namenode从所有的 Datanode接收心跳信号和块状态报告。块状态报告包括了某个Datanode所有的数据块列表。每个数据块都有一个指定的最小副本数。 当Namenode检测确认某个数据块的副本数目达到这个最小值那么该数据块就会被认为是副本安全(safely replicated)的在一定百分比这个参数可配置的数据块被Namenode检测确认是安全之后加上一个额外的30秒等待时间Namenode将退出安全模式状态。 接下来它会确定还有哪些数据块的副本没有达到指定数目并将这些数据块复制到其他Datanode上。 文件系统元数据的持久化 EditLog的事务日志IM Namenode上保存着HDFS的名字空间。对于任何对文件系统元数据产生修改的操作Namenode都会使用一种称为EditLog的事务日志记录下来。例如在HDFS中创建一个文件Namenode就会在Editlog中插入一条记录来表示同样地修改文件的副本系数也将往Editlog插入一条记录。Namenode在本地操作系统的文件系统中存储这个Editlog。 FsImage文件IM 整个文件系统的名字空间包括数据块到文件的映射、文件的属性等都存储在一个称为FsImage的文件中这个文件也是放在Namenode所在的本地文件系统上。 注journalnode 同步两个namenode之前的元数据信息的同步edit_log 检查点(checkpoint)及其过程 Namenode在内存中保存着整个文件系统的名字空间和文件数据块映射(Blockmap)的映像。这个关键的元数据结构设计得很紧凑因而一个有4G内存的Namenode足够支撑大量的文件和目录。 当Namenode启动时它从硬盘中读取Editlog和FsImage将所有Editlog中的事务作用在内存中的FsImage上并将这个新版本的FsImage从内存中保存到本地磁盘上然后删除旧的Editlog因为这个旧的Editlog的事务都已经作用在FsImage上了。这个过程称为一个检查点(checkpoint)。 在当前实现中检查点只发生在Namenode启动时在不久的将来将实现支持周期性的检查点。 块状态报告 Datanode将HDFS数据以文件的形式存储在本地的文件系统中它并不知道有关HDFS文件的信息。它把每个HDFS数据块存储在本地文件系统的一个单独的文件中。Datanode并不在同一个目录创建所有的文件实际上它用试探的方法来确定每个目录的最佳文件数目并且在适当的时候创建子目录。在同一个目录中创建所有的本地文件并不是最优的选择这是因为本地文件系统可能无法高效地在单个目录中支持大量的文件。 当一个Datanode启动时它会扫描本地文件系统产生一个这些本地文件对应的所有HDFS数据块的列表然后作为报告发送到Namenode这个报告就是块状态报告。 通讯协议 所有的HDFS通讯协议都是建立在TCP/IP协议之上。 首先客户端通过一个可配置的TCP端口连接到Namenode再通过ClientProtocol协议与Namenode交互。 而Datanode使用DatanodeProtocol协议与Namenode交互。 一个远程过程调用(RPC)模型被抽象出来封装ClientProtocol和Datanodeprotocol协议。在设计上Namenode不会主动发起RPC而是响应来自客户端或 Datanode 的RPC请求。 健壮性 HDFS的主要目标就是即使在出错的情况下也要保证数据存储的可靠性。常见的三种出错情况是Namenode出错, Datanode出错和网络割裂(network partitions网断了)。 磁盘数据错误心跳检测和重新复制 心跳有什么作用 每个Datanode节点周期性地向Namenode发送心跳信号。网络波动可能导致一部分Datanode跟Namenode失去联系。 Namenode通过心跳信号的缺失来检测这一情况并将这些近期不再发送心跳信号Datanode标记为宕机不会再将新的IO请求发给它们。任何存储在宕机Datanode上的数据将不再有效。Datanode的宕机可能会引起一些数据块的副本系数低于指定值Namenode不断地检测这些需要复制的数据块一旦发现就启动复制操作。 在下列情况下可能需要重新复制 某个Datanode节点失效 某个副本遭到损坏 Datanode上的硬盘错误 或者文件的副本系数增大。 集群均衡 HDFS的架构支持数据均衡策略。如果某个Datanode节点上的空闲空间低于特定的临界点按照均衡策略系统就会自动地将数据从这个Datanode移动到其他空闲的Datanode。当对某个文件的请求突然增加那么也可能启动一个计划创建该文件新的副本并且同时重新平衡集群中的其他数据。这些均衡策略目前还没有实现。 注现阶段的版本已经实现了我们通过控制balancer参数进行控制基本上出现的情况是扩展了几台几点如何做均衡这种情况 如何保证数据完整性校验和的出现IMIMIM 我们从某个Datanode获取的数据块有可能是损坏的损坏可能是由Datanode的存储设备错误、网络错误或者软件bug造成的。 解决办法校验和 HDFS客户端软件实现了对HDFS文件内容的校验和(checksum)检查。具体步骤如下 一、当客户端创建一个新的HDFS文件会计算这个文件每个数据块的校验和并将校验和作为一个单独的隐藏文件保存在同一个HDFS名字空间下。 二、当客户端获取文件内容后它会检验从Datanode获取的数据跟相应的校验和文件中的校验和是否匹配如果不匹配客户端可以选择从其他Datanode获取该数据块的副本。 元数据磁盘错误 FsImage和Editlog是HDFS的核心数据结构。如果这些文件损坏了整个HDFS实例都将失效。因而Namenode可以配置成支持维护多个FsImage和Editlog的副本。任何对FsImage或者Editlog的修改都将同步到它们的副本上。这种多副本的同步操作可能会降低Namenode每秒处理的名字空间事务数量。然而这个代价是可以接受的因为即使HDFS的应用是数据密集的它们也非元数据密集的。当Namenode重启的时候它会选取最近的完整的FsImage和Editlog来使用。 Namenode是HDFS集群中的单点故障(single point of failure)所在。如果Namenode机器故障是需要手工干预的。目前自动重启或在另一台机器上做Namenode故障转移的功能已经实现了。 数据组织 数据块 HDFS被设计成支持大文件适用HDFS的是那些需要处理大规模的数据集的应用。 这些应用都是只写入数据一次但却读取一次或多次并且读取速度应能满足流式读取的需要。HDFS支持文件的“一次写入多次读取”语义。 一个典型的数据块大小是128M。因而HDFS中的文件总是按照128M被切分成不同的块每个块尽可能地存储于不同的Datanode中。 Staging阶段 客户端创建文件的请求其实并没有立即发送给Namenode事实上 在刚开始阶段HDFS客户端会先将文件数据缓存到本地的一个临时文件。 应用程序的写操作被透明地重定向到这个临时文件。 当这个临时文件累积的数据量超过一个数据块的大小客户端才会联系Namenode。 Namenode将文件名插入文件系统的层次结构中并且分配一个数据块给它。 然后返回Datanode的标识符和目标数据块给客户端。 接着客户端将这块数据从本地临时文件上传到指定的Datanode上。 当文件关闭时在临时文件中剩余的没有上传的数据也会传输到指定的Datanode上。 然后客户端告诉Namenode文件已经关闭。 此时Namenode才将文件创建操作提交到日志里进行存储。 如果Namenode在文件关闭前宕机了则该文件将丢失。 上述方法是对在HDFS上运行的目标应用进行认真考虑后得到的结果。这些应用需要进行文件的流式写入。如果不采用客户端缓存由于网络速度和网络堵塞会对吞估量造成比较大的影响。这种方法并不是没有先例的早期的文件系统比如AFS就用客户端缓存来提高性能。为了达到更高的数据上传效率已经放松了POSIX标准的要求。 流水线复制流程副本 当客户端向HDFS文件写入数据的时候一开始是写到本地临时文件中。 假设该文件的副本系数设置为3 当本地临时文件累积到一个数据块的大小时客户端会从Namenode获取一个Datanode列表用于存放副本。 然后客户端开始向第一个Datanode传输数据第一个Datanode一小部分一小部分(4 KB)地接收数据将每一部分写入本地仓库并同时传输该部分到列表中第二个Datanode节点。 第二个Datanode也是这样一小部分一小部分地接收数据写入本地仓库并同时传给第三个Datanode。 最后第三个Datanode接收数据并存储在本地。 因此Datanode能流水线式地从前一个节点接收数据并在同时转发给下一个节点数据以流水线的方式从前一个Datanode复制到下一个。 DFSShell HDFS以文件和目录的形式组织用户数据。它提供了一个命令行的接口(DFSShell)让用户与HDFS中的数据进行交互。命令的语法和用户熟悉的其他shell(例如 bash, csh)工具类似。下面是一些动作/命令的示例 动作命令创建一个名为 /foodir 的目录bin/hadoop dfs -mkdir /foodir创建一个名为 /foodir 的目录bin/hadoop dfs -mkdir /foodir查看名为 /foodir/myfile.txt 的文件内容bin/hadoop dfs -cat /foodir/myfile.txt DFSShell 可以用在那些通过脚本语言和文件系统进行交互的应用程序上。 注如果配置了环境变量就不必按照上面的命令了 DFSAdmin DFSAdmin 命令用来管理HDFS集群。这些命令只有HDSF的管理员才能使用。下面是一些动作/命令的示例 动作命令将集群置于安全模式bin/hadoop dfsadmin -safemode enter显示Datanode列表bin/hadoop dfsadmin -report使Datanode节点 datanodename退役bin/hadoop dfsadmin -decommission datanodename 存储空间回收 HDFS文件的删除和恢复 当用户或应用程序删除某个文件时这个文件并没有立刻从HDFS中删除。实际上HDFS会将这个文件重命名转移到/trash目录。只要文件还在/trash目录中该文件就可以被迅速地恢复。文件在/trash中保存的时间是可配置的当超过这个时间时Namenode就会将该文件从名字空间中删除。删除文件会使得该文件相关的数据块被释放。注意从用户删除文件到HDFS空闲空间的增加之间会有一定时间的延迟。 只要被删除的文件还在/trash目录中用户就可以恢复这个文件。如果用户想恢复被删除的文件他/她可以浏览/trash目录找回该文件。/trash目录仅仅保存被删除文件的最后副本。/trash目录与其他的目录没有什么区别除了一点在该目录上HDFS会应用一个特殊策略来自动删除文件。目前的默认策略是删除/trash中保留时间超过6小时的文件。将来这个策略可以通过一个被良好定义的接口配置。 减少副本系数 当一个文件的副本系数被减小后Namenode会选择过剩的副本删除。下次心跳检测时会将该信息传递给Datanode。Datanode遂即移除相应的数据块集群中的空闲空间加大。同样在调用setReplication API结束和集群中空闲空间增加间会有一定的延迟。 参考文档 Hadoop – Apache Hadoop 2.7.7hadoop官网 Hadoop – Apache Hadoop 3.4.0-SNAPSHOT Hadoop分布式文件系统架构和设计 通过对比老版本的HDFS文档最新的HDFS文档有了很大的变化这也是走向成熟的一步吧
http://www.dnsts.com.cn/news/215819.html

相关文章:

  • 建筑网站图纸福建莆田网站开发
  • 家具网站建设需求温岭自适应网站建设
  • 网站设计制作平台哪个好邢台123贴吧最新
  • 服务网站排名咨询seo批量建站
  • 做ic贸易去什么网站好同一个阿里云可以做两个网站吗
  • 安徽建设工程信息网路灯项目江北seo
  • 高质量外链网站企业网站建设费怎么账务处理
  • 留言网站模板网站seo怎么做
  • 手赚网站哪里可以做wordpress首页打开变慢
  • 下载 asp 网站源码做网站需要编程基础
  • 企业网站的建立如何带来询盘wordpress 改成 中文字体
  • 科协网站建设的意见哈尔滨网站建设自助建站
  • 建设企业网站的企业关于网站建设论文
  • 网上书店网站开发代码网站建设销售在哪找客户
  • 哪个网站下载软件最安全在线网站源码提取
  • 研学网站平台建设方案郑州网站建设优点
  • 做跨境电商如何自建站简单的个人网站html
  • 中国网站备案取消天津多媒体设计公司
  • 红色礼品网站模板网站建设中 html5 模板
  • html5网站带后台六安新闻 最新消息
  • 小网站怎么搜关键词网站建设佰首选金手指十二
  • 做门户网站源码申请渠道门户网站是什么意思
  • 网站构成的作用是什么拍照搜索百度识图
  • 网站风格趋势建网站培训学校
  • 网站怎样和首页做链接地址山西手机版建站系统开发
  • 山西大同网站建设wordpress 企业展示
  • 网站页面打不开商城微网站建设方案
  • 重庆教育建设有限公司网站小米路由器3做网站
  • 免费linux网站空间wordpress文章网格
  • 网站目录结构说明温岭营销型网站建设