自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

干貨:如何將Hadoop存儲容量提升4倍?

大數(shù)據(jù) Hadoop
本文主要介紹如何通過Federation使用多個獨立的Namenodes/Namespaces水平擴展命名空間。Namenodes彼此獨立,互不通信,可以共享相同的Datanode存儲。

在Hadoop 1.0中,HDFS的單NameNode設(shè)計帶來諸多問題,包括單點故障、內(nèi)存受限制約集群擴展性和缺乏隔離機制(不同業(yè)務(wù)使用同一個NameNode導(dǎo)致業(yè)務(wù)相互影響)等。為了解決這些問題,Hadoop 2.0就引入了基于共享存儲的HA解決方案和HDFS Federation,HDFS Federation是指HDFS集群可同時存在多個NameNode,這些NameNode分別管理一部分?jǐn)?shù)據(jù),且共享所有DataNode存儲資源。

Apache Hadoop分布式文件系統(tǒng)(HDFS)具有高度可擴展性,可支持PB級群集。但是,整個命名空間(文件系統(tǒng)元數(shù)據(jù))存儲在內(nèi)存中。因此,即使存儲可以水平擴展,命名空間也只能垂直擴展,它受限于單個NameNode進程可存儲的文件、塊和目錄的數(shù)量。

本文主要介紹如何通過Federation使用多個獨立的Namenodes/Namespaces水平擴展命名空間。Namenodes彼此獨立,互不通信,可以共享相同的Datanode存儲。Federation和Namespaces可以為整個集群提供可伸縮性,F(xiàn)ederation增加了對Namespace水平擴展的支持;添加更多的NameNode,增加集群的聚合讀/寫能力和吞吐量;用戶和應(yīng)用程序可以通過Namenodes隔離。

1、示例

Federation在可伸縮性、性能和隔離方面的優(yōu)勢為它創(chuàng)建了許多用例,本文僅列舉一些簡單示例。

1.1 HIVE ON FEDERATION

Hive將表數(shù)據(jù)組織到分區(qū)中以提高查詢性能,它將分區(qū)存儲在不同的位置,這為在不同命名空間中存儲、管理和配置hive數(shù)據(jù)提供了機會。使用federated集群,我們可以將不同的表存儲在不同的命名空間,或者將同一個表的不同分區(qū)存儲在不同的命名空間。

例如,我們可以將不經(jīng)常訪問的數(shù)據(jù)歸檔存儲到單獨的命名空間,并將當(dāng)前頻繁使用的數(shù)據(jù)保存在單獨的命名空間,這將提高服務(wù)于當(dāng)前數(shù)據(jù)命名空間的性能效率,并減少負(fù)載。

假設(shè)我們一年有一個分區(qū)hive表,我們希望將2000年以后的所有數(shù)據(jù)存儲在一個命名空間中,將其余數(shù)據(jù)存儲在一個命名空間中,這就可以通過federation實現(xiàn)。

下圖顯示了 NSI中Students 表year=‘2018’分區(qū)下的數(shù)據(jù)。

 

如果想在NS2中存儲1990年的記錄,我們必須改變表格以將其位置設(shè)置為NS2。

  1. hive> ALTER TABLE Students SET LOCATION ‘hdfs://ns2/user/hive/warehouse/student’; 

將表的位置更改為新命名空間NS2之后,我們可以將數(shù)據(jù)插入到所需的分區(qū)中,現(xiàn)在將在NS2中創(chuàng)建分區(qū)。

 

我們可以在同一個查詢中執(zhí)行跨越不同命名空間的多個分區(qū)操作。例如,表上的“SELECT *”將從不同命名空間的分區(qū)返回記錄。

 

下圖顯示了在nameservice NS1(在node-1上運行的namenode)中存儲的2007和2018年的hive分區(qū)數(shù)據(jù)。

 

1990年的歸檔數(shù)據(jù)存儲在NS2中(namenode在node-3上運行),如下所示:

 

1.2 應(yīng)用程序隔離

假設(shè)我們需要運行一個較龐大的應(yīng)用程序,它可能會占用Namenode上的大量資源,這很可能導(dǎo)致其他應(yīng)用程序延遲。通過federation,我們可以將這些應(yīng)用程序移動到不同的命名空間。

2. AMBARI概述

Ambari中的federated集群視圖如下所示,這兩個服務(wù)將各自具有相應(yīng)的組件和度量信息。其他組件(如Datanodes和Journalnodes)將由這兩個服務(wù)共享。 如下所述,啟用federated所需的所有配置更改都由Ambari自動完成。

 

3.配置更改

要啟用federated并在集群中具有多個命名空間,需要在hdfs-site.xml中進行一些配置更改。 如果使用Ambari安裝federated集群,則會自動設(shè)置以下配置。但是,學(xué)會如何通過頁面配置federated是有幫助的,以下是具有兩個Nameservices集群的示例- NS1和NS2。

3.1 NAMESERVICEIDS

使用逗號分隔的NameserviceID列表將此配置添加到hdfs-site.xml。

  1. <property>  
  2. <name>dfs.nameservices</name 
  3. <value>ns1,ns2</value>  
  4. </property> 

3.2 NAMENODEIDS

對于具有HA設(shè)置的Nameservice,我們需要為屬于該Nameservice的Namenode指定NamenodeID。這是通過將NamenodeID列表添加到與名稱服務(wù)ID一起使用的密鑰dfs.ha.namenodessuffixed中來完成的。

  1. <property>  
  2.   <name>dfs.ha.namenodes.ns1</name 
  3.   <value>nn1,nn2</value></property>
  4.  
  5. <property>  
  6.   <name>dfs.ha.namenodes.ns2</name 
  7.   <value>nn3,nn4</value>  
  8.   </property> 

3.3 RPC ADDRESSES

應(yīng)使用配置密鑰為集群中的每個Namenode配置RPC和Service-RPC地址 - dfs.namenode.rpc-address和dfs.namenode.servicerpc-address(可選)。這是通過使用NameserviceID和NamenodeID為config鍵添加后綴來完成的。

  1. <property>  
  2.   <name>dfs.namenode.rpc-address.ns1.nn1</name 
  3.   <value>node-1.example.com:8020</value>  
  4.   </property> 
  5.  
  6.   <property>  
  7.   <name>dfs.namenode.servicerpc-address.ns1.nn1</name 
  8.   <value>node-1.example.com:8040</value>  
  9.   </property> 
  10.  
  11.   <property>  
  12.   <name>dfs.namenode.rpc-address.ns1.nn2</name 
  13.   <value>node-2.example.com:8020</value>  
  14.   </property> 
  15.  
  16.   <property>  
  17.   <name>dfs.namenode.servicerpc-address.ns1.nn2</name 
  18.   <value>node-2.example.com:8040</value> 
  19.    </property> 
  20.  
  21.   <property>  
  22.   <name>dfs.namenode.rpc-address.ns2.nn3</name 
  23.   <value>node-3.example.com:8020</value>  
  24.   </property> 
  25.  
  26.   <property>  
  27.   <name>dfs.namenode.servicerpc-address.ns2.nn3</name 
  28.   <value>node-3.example.com:8040</value>  
  29.   </property> 
  30.  
  31.   <property>  
  32.   <name>dfs.namenode.rpc-address.ns2.nn4</name 
  33.   <value>node-4.example.com:8020</value>  
  34.   </property> 
  35.  
  36.   <property>  
  37.   <name>dfs.namenode.servicerpc-address.ns2.nn4</name 
  38.   <value>node-4.example.com:8040</value>  
  39.   </property> 

3.4 HTTP地址

HTTP和HTTPS地址(dfs.namenode.http-address和dfs.namenode.https-address)是可選參數(shù),可以配置為類似于RPC地址。

  1. <property>  
  2.   <name>dfs.namenode.http-address.ns1.nn1</name 
  3.   <value>node-1.example.com:50070</value>  
  4.   </property>  
  5.  
  6.   <property>  
  7.   <name>dfs.namenode.https-address.ns1.nn1</name 
  8.   <value>node-1.example.com:50072</value>  
  9.   </property>  
  10.  
  11.   <property>  
  12.   <name>dfs.namenode.http-address.ns1.nn2</name 
  13.   <value>node-2.example.com:50070</value>  
  14.   </property> 
  15.  
  16.   <property>  
  17.   <name>dfs.namenode.https-address.ns1.nn2</name 
  18.   <value>node-2.example.com:50072</value>  
  19.   </property> 
  20.  
  21.   <property>  
  22.   <name>dfs.namenode.http-address.ns2.nn3</name 
  23.   <value>node-3.example.com:50070</value>  
  24.   </property> 
  25.  
  26.   <property>  
  27.   <name>dfs.namenode.http-address.ns2.nn4</name 
  28.   <value>node-4.example.com:50070</value>  
  29.   </property> 

3.5 其他NAMESERVICE特定密鑰

通過使用NameserviceID后綴鍵名,可以為每個名稱服務(wù)配置以下鍵:

  1. dfs.namenode.keytab.file  
  2. dfs.namenode.name.dir  
  3. dfs.namenode.edits.dir  
  4. dfs.namenode.checkpoint.dir 
  5. dfs.namenode.checkpoint.edits.dir  
  6. dfs.secondary.namenode.keytab.file  
  7. dfs.namenode.backup.address 

4.集群設(shè)置

federated集群中的所有Namenode應(yīng)具有相同的clusterID,應(yīng)使用以下命令格式化一個namenode,選擇唯一的clusterID,使其不與環(huán)境中的其他集群沖突。如果未提供clusterID,則會自動生成唯一ID。

  1. [hdfs]$ $HADOOP_HOME/bin/hdfs namenode -format [-clusterId ] 

集群中的所有其他名稱節(jié)點必須使用與第一個namenode相同的clusterID進行格式化。

  1. [hdfs]$ $HADOOP_HOME/bin/hdfs namenode -format -clusterId  

如果向現(xiàn)有集群添加新名稱服務(wù),則應(yīng)使用與現(xiàn)有名稱節(jié)點相同的clusterID格式化新名稱節(jié)點,可以從Namenode中的VERSION文件檢索clusterID。

責(zé)任編輯:未麗燕 來源: it168網(wǎng)站
相關(guān)推薦

2020-08-20 09:30:17

芯片半導(dǎo)體技術(shù)

2017-07-04 08:28:47

存儲容量操作

2017-05-11 11:30:43

MySQL查詢速度

2013-05-24 09:16:09

微軟Windows Azu云服務(wù)

2009-02-11 15:35:28

存儲容量優(yōu)化SCO重復(fù)數(shù)據(jù)刪除

2013-03-07 10:12:50

云存儲移動設(shè)備存儲

2021-01-18 05:15:30

存儲容量服務(wù)器

2009-07-28 19:08:59

云計算存儲刀片服務(wù)器

2019-12-13 16:03:26

戴爾

2015-08-20 13:52:53

數(shù)據(jù)中心儲容量機械硬盤

2009-01-14 17:51:05

存儲虛擬化NetApp

2017-05-10 16:09:12

MySQL數(shù)據(jù)庫查詢

2022-03-21 17:27:46

戴爾

2020-09-28 06:50:58

微信支付寶移動應(yīng)用

2015-11-04 10:10:29

OneDrive免費云存儲

2018-03-19 11:13:49

數(shù)據(jù)存儲容量

2017-02-05 17:22:16

存儲光存儲DVD

2018-10-09 14:16:21

Hadoop數(shù)據(jù)移入數(shù)據(jù)傳輸

2009-02-16 09:18:24

高清存儲數(shù)字視頻存儲Showcase DV
點贊
收藏

51CTO技術(shù)棧公眾號