干货:怎样将Hadoop存储容量晋升4倍?
副问题[/!--empirenews.page--]
技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战
在Hadoop 1.0中,HDFS的单NameNode计划带来诸多题目,包罗单点妨碍、内存受限定约集群扩展性和缺乏断绝机制(差异营业行使统一个NameNode导致营业彼此影响)等。为了办理这些题目,Hadoop 2.0就引入了基于共享存储的HA办理方案和HDFS Federation,HDFS Federation是指HDFS集群可同时存在多个NameNode,这些NameNode别离打点一部门数据,且共享全部DataNode存储资源。 Apache Hadoop漫衍式文件体系(HDFS)具有高度可扩展性,可支持PB级聚集。可是,整个定名空间(文件体系元数据)存储在内存中。因此,纵然存储可以程度扩展,定名空间也只能垂直扩展,它受限于单个NameNode历程可存储的文件、块和目次的数目。 本文首要先容怎样通过Federation行使多个独立的Namenodes/Namespaces程度扩展定名空间。Namenodes互相独立,互不通讯,可以共享沟通的Datanode存储。Federation和Namespaces可觉得整个集群提供可伸缩性,Federation增进了对Namespace程度扩展的支持;添加更多的NameNode,增进集群的聚合读/写手段和吞吐量;用户和应用措施可以通过Namenodes断绝。 1、示例 Federation在可伸缩性、机能和断绝方面的上风为它建设了很多用例,本文仅罗列一些简朴示例。 1.1 HIVE ON FEDERATION Hive将表数据组织到分区中以进步查询机能,它将分区存储在差异的位置,这为在差异定名空间中存储、打点和设置hive数据提供了机遇。行使federated集群,我们可以将差异的表存储在差异的定名空间,可能将统一个表的差异分区存储在差异的定名空间。 譬喻,我们可以将不常常会见的数据归档存储到单独的定名空间,并将当前频仍行使的数据生涯在单独的定名空间,这将进步处事于当前数据定名空间的机能服从,并镌汰负载。 假设我们一年有一个分区hive表,我们但愿将2000年往后的全部数据存储在一个定名空间中,将别的数据存储在一个定名空间中,这就可以通过federation实现。 下图表现了 NSI中Students 表year=‘2018’分区下的数据。 ![]() 假如想在NS2中存储1990年的记录,我们必需改变表格以将其位置配置为NS2。
将表的位置变动为新定名空间NS2之后,我们可以将数据插入到所需的分区中,此刻将在NS2中建设分区。 ![]() 我们可以在统一个查询中执行超过差异定名空间的多个分区操纵。譬喻,表上的“SELECT *”将从差异定名空间的分区返回记录。 ![]() 下图表现了在nameservice NS1(在node-1上运行的namenode)中存储的2007和2018年的hive分区数据。 ![]() 1990年的归档数据存储在NS2中(namenode在node-3上运行),如下所示: ![]() 1.2 应用措施断绝 假设我们必要运行一个较复杂的应用措施,它也许会占用Namenode上的大量资源,这很也许导致其他应用措施耽误。通过federation,我们可以将这些应用措施移动到差异的定名空间。 2. AMBARI概述 Ambari中的federated集群视图如下所示,这两个处事将各自具有响应的组件和怀抱信息。其他组件(如Datanodes和Journalnodes)将由这两个处事共享。 如下所述,启用federated所需的全部设置变动都由Ambari自动完成。 ![]() 3.设置变动 要启用federated并在集群中具有多个定名空间,必要在hdfs-site.xml中举办一些设置变动。 假如行使Ambari安装federated集群,则会自动配置以下设置。可是,学会怎样通过页面设置federated是有辅佐的,以下是具有两个Nameservices集群的示例- NS1和NS2。 3.1 NAMESERVICEIDS 行使逗号脱离的NameserviceID列表将此设置添加到hdfs-site.xml。
3.2 NAMENODEIDS 对付具有HA配置的Nameservice,我们必要为属于该Nameservice的Namenode指定NamenodeID。这是通过将NamenodeID列表添加到与名称处事ID一路行使的密钥dfs.ha.namenodessuffixed中来完成的。
3.3 RPC ADDRESSES 应行使设置密钥为集群中的每个Namenode设置RPC和Service-RPC地点 - dfs.namenode.rpc-address和dfs.namenode.servicerpc-address(可选)。这是通过行使NameserviceID和NamenodeID为config键添加后缀来完成的。
3.4 HTTP地点 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |