HDFS聯(lián)合集群的發(fā)展史
HDFS原始架構(gòu)
不管是之后的 NN與secondary namenode還是standby namenode其實(shí)實(shí)際運(yùn)行的時候都是都可以抽象成以下的架構(gòu),因?yàn)閍ctive NN是唯一的。
HDFS擁有兩個層
-
Namespace
- 由目錄、文件和塊組成。
- 它支持所有與命名空間相關(guān)的文件系統(tǒng)操作,例如創(chuàng)建、刪除、修改和列出文件和目錄。
-
Block Storage Service
- 塊管理(在Namenode中執(zhí)行)
- 通過處理注冊和定期心跳來提供 Datanode 集群成員資格
- 處理塊報告并維護(hù)塊的位置。
- 支持塊相關(guān)操作,如創(chuàng)建、刪除、修改和獲取塊位置。
- 管理副本放置、復(fù)制不足的塊的塊復(fù)制以及刪除復(fù)制過度的塊。
- 存儲 - 由 Datanodes 通過在本地文件系統(tǒng)上存儲塊并允許讀/寫訪問來提供。
- 塊管理(在Namenode中執(zhí)行)
HDFS聯(lián)合集群的目的是為了支持子集群進(jìn)行橫向聯(lián)合。
方案一 HDFS Federation
之前的HDFS架構(gòu)只允許整個集群有一個命名空間。 在原始架構(gòu)中,由單個 Namenode 管理命名空間。 HDFS Federation 通過向 HDFS 添加對多個 Namenode/命名空間的支持來解決此限制。
多個namspaces/NNs
為了水平擴(kuò)展名稱服務(wù),聯(lián)合使用多個獨(dú)立的Namenodes/namespaces。 Namenodes是聯(lián)合的; Namenodes是獨(dú)立的,不需要相互協(xié)調(diào)。 Datanodes 被所有 Namenodes 用作塊的公共存儲。 每個Datanode向集群中的所有Namenode注冊。 數(shù)據(jù)節(jié)點(diǎn)定期發(fā)送心跳和塊報告。 它們還處理來自Namenodes的命令。
Block Pool
HDFS Federation 引入了塊池特性,每個塊池有一個唯一的ID,塊池與NN是一一對應(yīng)的,等于一個子集群擁有一個塊池。
塊池是屬于單個命名空間的一組塊。塊池的塊分散存儲在整個Datanodes中,每個塊池都是獨(dú)立管理的。 這允許命名空間為新塊生成塊 ID,而無需與其他命名空間協(xié)調(diào)。 Namenode故障不會阻止Datanode為集群中的其他Namenode提供服務(wù)。
命名空間及其塊池一起稱為命名空間卷。 它是一個獨(dú)立的管理單位。 當(dāng)刪除Namenode/namespace時,Datanode上相應(yīng)的塊池也會被刪除。 在集群升級期間,每個命名空間卷都會作為一個單元進(jìn)行升級。
ClusterID 標(biāo)識符用于標(biāo)識集群中的所有節(jié)點(diǎn)。 當(dāng) Namenode 被格式化時,該標(biāo)識符要么被提供,要么自動生成。 該 ID 應(yīng)用于將其他 Namenode 格式化到集群中。
命名空間可擴(kuò)展性 - 聯(lián)合添加了命名空間水平擴(kuò)展。 通過允許將更多 Namenode 添加到集群,大型部署或使用大量小文件的部署受益于命名空間擴(kuò)展。
性能——文件系統(tǒng)吞吐量不受單個Namenode的限制。 向集群添加更多 Namenode 可擴(kuò)展文件系統(tǒng)讀/寫吞吐量。
隔離 - 單個 Namenode 在多用戶環(huán)境中不提供隔離。 例如,實(shí)驗(yàn)性應(yīng)用程序可能會使 Namenode 過載并減慢生產(chǎn)關(guān)鍵應(yīng)用程序的速度。 通過使用多個Namenode,可以將不同類別的應(yīng)用程序和用戶隔離到不同的命名空間。
缺陷:
- 不同NN之間是無法感知的。不是真正NN上的擴(kuò)容,屬于一個偽NN擴(kuò)展。
- 引入一個新的NN之后,并沒有直接降低原來NN的壓力,類似新搭建一個集群,然后需要做手動遷移,分擔(dān)壓力。
- 客戶端訪問不同的NN,需要自行維護(hù)映射關(guān)系。
每個集群的 core-site.xml
都有一個配置屬性,用于將默認(rèn)文件系統(tǒng)設(shè)置為該集群的 namenode
:
這樣的配置屬性允許使用斜杠相對名稱來解析相對于集群名稱節(jié)點(diǎn)的路徑。 例如,路徑 /foo/bar 使用上述配置引用 hdfs://namenodeOfClusterX:port/foo/bar
。
<property>
<name>fs.default.name</name>
<value>hdfs://namenodeOfClusterX:port</value>
</property>
路徑名的使用模式
-
/foo/bar
(最佳使用方式)- 等價于
hdfs://namenodeOfClusterX:port/foo/bar
.
- 等價于
-
hdfs://namenodeOfClusterX:port/foo/bar
- 雖然這是一個有效的路徑名,但最好使用
/foo/bar
,因?yàn)樗试S應(yīng)用程序及其數(shù)據(jù)在需要時透明地移動到另一個集群。
- 雖然這是一個有效的路徑名,但最好使用
-
hdfs://namenodeOfClusterY:port/foo/bar
- 它是一個 URI,用于引用另一個集群(例如集群 Y)上的路徑名。具體來說,將文件從集群 Y 復(fù)制到集群 Z 的命令如下所示:
distcp hdfs://namenodeClusterY:port/pathSrc hdfs://namenodeClusterZ:port/pathDest
-
webhdfs://namenodeClusterX:http_port/foo/bar
和hftp://namenodeClusterX:http_port/foo/bar
- 這些是分別用于通過WebHDFS文件系統(tǒng)和HFTP文件系統(tǒng)訪問文件的文件系統(tǒng)URI。 請注意,WebHDFS 和 HFTP 使用名稱節(jié)點(diǎn)的 HTTP 端口,但不使用 RPC 端口。
-
http://namenodeClusterX:http_port/webhdfs/v1/foo/bar
和http://proxyClusterX:http_port/foo/bar
- 這些是分別用于通過 WebHDFS REST API 和 HDFS 代理訪問文件的 HTTP URL。
假設(shè)有多個集群。 每個集群都有一個或多個NN。 每個NN都有自己的名稱空間。 一個NN屬于一個且僅一個集群。 同一集群中的NN共享該集群的物理存儲。 跨集群的命名空間和以前一樣是獨(dú)立的。
操作根據(jù)存儲需求決定集群中每個NN上存儲的內(nèi)容。 例如,他們可能將所有用戶數(shù)據(jù)(/user/<username>
)放在一個NN中,將所有提要數(shù)據(jù)(/data
)放在另一個NN中,將所有項(xiàng)目(/projects
)放在另一個NN中,等等。
方案二 ViewFs
ViewFs主要目的為了解決 HDFS Federation中多NN訪問難的問題
查看文件系統(tǒng) (ViewFs) 提供了一種管理多個HDFS子集群的方法。 ViewFs 類似于某些 Unix/Linux 系統(tǒng)中的客戶端掛載表。 ViewFs 可用于創(chuàng)建個性化命名空間視圖以及每個集群的映射。
使用 ViewFs 為每個集群提供一個全局命名空間
為了提供與舊版本的透明度(用戶無感),使用ViewFs文件系統(tǒng)(即客戶端掛載表)為每個集群創(chuàng)建獨(dú)立的集群命名空間視圖,這與舊版本中的命名空間類似。 客戶端掛載表與 Unix 掛載表類似,它們使用舊的命名約定掛載新的命名空間卷。 下圖顯示了掛載四個命名空間卷 /user
、/data
、/projects
和 /tmp
的掛載表:
ViewFs 實(shí)現(xiàn)了 Hadoop 文件系統(tǒng)接口,就像 HDFS 和本地文件系統(tǒng)一樣。 從某種意義上說,它是一個普通的文件系統(tǒng),它只允許鏈接到其他文件系統(tǒng)。 由于 ViewFs 實(shí)現(xiàn)了 Hadoop 文件系統(tǒng)接口,因此它可以透明地工作于 Hadoop 工具。 例如,所有 shell 命令都可以與 ViewFs 一起使用,就像與 HDFS 和本地文件系統(tǒng)一樣。
<property>
<name>fs.defaultFS</name>
<value>viewfs://clusterX</value>
</property>
路徑名使用模式
-
/foo/bar
(最佳使用方式)- 這相當(dāng)于
viewfs://clusterX/foo/bar
。 如果在舊的非聯(lián)合集群中使用這樣的路徑名,則到聯(lián)邦的過渡是透明的。
- 這相當(dāng)于
-
viewfs://clusterX/foo/bar
- 雖然這是一個有效的路徑名,但最好使用
/foo/bar
,因?yàn)樗试S應(yīng)用程序及其數(shù)據(jù)在需要時透明地移動到另一個集群。
- 雖然這是一個有效的路徑名,但最好使用
-
viewfs://clusterY/foo/bar
- 它是一個 URI,用于引用另一個集群(例如集群 Y)上的路徑名。具體來說,將文件從集群 Y 復(fù)制到集群 Z 的命令如下所示:
distcp viewfs://clusterY/pathSrc viewfs://clusterZ/pathDest
-
viewfs://clusterX-webhdfs/foo/bar
andviewfs://clusterX-hftp/foo/bar
- 這些分別是用于通過WebHDFS文件系統(tǒng)和HFTP文件系統(tǒng)訪問文件的URI。
-
http://namenodeClusterX:http_port/webhdfs/v1/foo/bar
andhttp://proxyClusterX:http_port/foo/bar
- 這些是分別用于通過 WebHDFS REST API 和 HDFS 代理訪問文件的 HTTP URL。 請注意,它們與以前相同。
跨命名空間重命名路徑名
在舊版本中,用戶無法跨NN或集群重命名文件或目錄。 此版本也是如此,但有一些額外的變化。 例如,在舊版本中,人們可以執(zhí)行以下命令。
rename /user/joe/myStuff /data/foo/bar
如果 /user
和 /data
實(shí)際上存儲在集群內(nèi)的不同NN上,這在聯(lián)合集群中將不起作用。
方案三 HDFS Router-based Federation
HDFS Router-based Federation主要目的為了解決 HDFS Federation中多NN訪問難的問題(取代ViewFS),實(shí)現(xiàn)客戶端訪問多個子集群之間的負(fù)載均衡,支持跨子集群均衡數(shù)據(jù),讓數(shù)據(jù)可以實(shí)現(xiàn)冷熱子集群之間的遷移。
由于以下原因會限制NN的可擴(kuò)展性:
- 元數(shù)據(jù)的開銷
- DN的心跳檢測
- HDFS RPC客戶端的數(shù)量
之前HDFS擴(kuò)展方案:
- 采用聯(lián)合視圖(ViewFS),問題在于如何維護(hù)子集群的分割(例如命令空間的分區(qū)),這迫使用戶連接到多個子集群上管理文件夾和文件的分配。
基于路由的聯(lián)合
在子集群之上建立了一個的軟件層,用來負(fù)責(zé)聯(lián)合的命名空間的工作。這個額外的聯(lián)合層,使得用戶訪問的訪問子集群是透明的,子集群獨(dú)立管理自己的本身的塊池,還支持子集群之間的數(shù)據(jù)均衡。
使用基于路由的聯(lián)合集群的子集群可以是獨(dú)立的HDFS集群,也可以是federation集群,還可以是混合集群(獨(dú)立的HDFS集群+federation集群)。
聯(lián)合層的核心組件:
-
Router :屬于無狀態(tài)服務(wù),全局的NN接口,轉(zhuǎn)發(fā)客戶端的請求到子集群的NN中;與NN 心跳檢測,管理NN信息到狀態(tài)存儲器,同時可以緩存Mount Table和子集群的狀態(tài)信息。路由器與狀態(tài)存儲之間的通信將被緩存,用來提升性能。
-
State Store:在邏輯上是集中式,但是物理是分散式的。主要用戶數(shù)據(jù)存儲,包含遠(yuǎn)程掛載表(Mount Table)、子集群的負(fù)載和容量信息、路由的信息。 狀態(tài)存儲的后端是可插拔的。 我們利用后端實(shí)現(xiàn)的容錯能力。 State Store中存儲的主要信息及其實(shí)現(xiàn):
? Membership:成員資格信息會對聯(lián)合集群中的NN進(jìn)行編碼,路由器會定期檢測這些子集群的NN并匯報信息。
? Mount Table:此表管理了文件夾/文件與子集群之間的映射。
最簡單的部署,在NN的服務(wù)器上部署Router,一個NN對應(yīng)一個Router。
聯(lián)合層需要滿足可擴(kuò)展性,高可用性,和容錯性。
路由器的故障容錯
由于路由器是無狀態(tài)的,那么也就是每個路由器的權(quán)重應(yīng)該是一樣的,當(dāng)其中一個路由器不可用,其他路由器可以接替它繼續(xù)服務(wù)。hdfs客戶端在聯(lián)合集群中配置時,需要將所有的路由器作為連接斷點(diǎn),來實(shí)現(xiàn)路由器的HA。
狀態(tài)存儲不可用
如果狀態(tài)存儲不可用,或者路由器連接不到對應(yīng)的狀態(tài)存儲,則路由器會進(jìn)入安全模式,將不處理任何請求。對于客戶端來說,會把安全模式的路由器當(dāng)做備用NN,然后嘗試連接其他路由器??梢酝ㄟ^以下手動命令控制安全模式的路由器??梢詫顟B(tài)存儲存放到ZK上,來保證高可用。
$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -safemode enter | leave | get
NN心跳的高可用
多個路由器會監(jiān)聽同一個NN,并將信息心跳傳至狀態(tài)存儲。當(dāng)路由器發(fā)生故障,導(dǎo)致狀態(tài)存儲的NN信息的沖突,會由每一個路由器通過仲裁來決定。投票選主?
不可用的NN
如果路由器無法與子集群的activeNN進(jìn)行通信,會嘗試聯(lián)系備用NN,若NN都不可用,會報錯。
過期的NN
如果NN的心跳檢測出現(xiàn)過期,那么監(jiān)控路由器會將此NN識別為過期狀態(tài)的NN,在NN恢復(fù)心跳檢測之前,所有的請求將不會發(fā)給過期NN。若NN心跳恢復(fù)了合理時間區(qū)間,Router會將NN的過期狀態(tài)變更掉。
常用命令
啟動與關(guān)閉
$ $HADOOP_PREFIX/bin/hdfs --daemon start dfsrouter
$ $HADOOP_PREFIX/bin/hdfs --daemon stop dfsrouter
遠(yuǎn)程掛載表操作
# 將目錄/tmp 掛載到子集群ns1的 /tmp上
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -add /tmp ns1 /tmp
# 將目錄/data/app1 掛載到子集群ns2的 /data/app1上
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -add /data/app1 ns2 /data/app1
# 將目錄/data/app2 掛載到子集群ns3的 /data/app2上
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -add /data/app2 ns3 /data/app2
# 刪除目錄/data/app2
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -rm /data/app2
# 查詢所有的掛載目錄信息
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -ls
# 掛載只讀文件夾
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -add /readonly ns1 / -readonly
# 設(shè)置掛載的權(quán)限(用戶 用戶組 權(quán)限編碼)
[hdfs]$ $HADOOP_HOME/bin/hdfs dfsrouteradmin -add /tmp ns1 /tmp -owner root -group supergroup -mode 0755
常用配置
路由的配置增加在hdfs-site.xml
RPC server
RPC 服務(wù)器接收來自客戶端的連接。
Property | Default | Description |
---|---|---|
dfs.federation.router.default.nameserviceId | 要監(jiān)視的默認(rèn)子集群的名稱服務(wù)標(biāo)識符。 | |
dfs.federation.router.rpc.enable | true |
If true , 路由器中處理客戶端請求的 RPC 服務(wù)已啟用。 |
dfs.federation.router.rpc-address | 0.0.0.0:8888 | 處理所有客戶端請求的 RPC 地址。 |
dfs.federation.router.rpc-bind-host | 0.0.0.0 | RPC 服務(wù)器將綁定到的實(shí)際地址。 |
dfs.federation.router.handler.count | 10 | 路由器處理來自客戶端的 RPC 請求的服務(wù)器線程數(shù)。 |
dfs.federation.router.handler.queue.size | 100 | 處理 RPC 客戶端請求的處理程序數(shù)量的隊(duì)列大小。 |
dfs.federation.router.reader.count | 1 | 路由器處理 RPC 客戶端請求的reader數(shù)量。 |
dfs.federation.router.reader.queue.size | 100 | 路由器處理 RPC 客戶端請求的讀取器數(shù)量的隊(duì)列大小。 |
Connection to the Namenodes
Router 將客戶端請求轉(zhuǎn)發(fā)到 NameNode。 它使用連接池來減少創(chuàng)建連接的延遲。
Property | Default | Description |
---|---|---|
dfs.federation.router.connection.pool-size | 1 | 從路由器到NN節(jié)點(diǎn)的連接池的大小 |
dfs.federation.router.connection.clean.ms | 10000 | 檢查連接池是否應(yīng)刪除未使用的連接的時間間隔(以毫秒為單位) |
dfs.federation.router.connection.pool.clean.ms | 60000 | 檢查連接管理器是否應(yīng)刪除未使用的連接池的時間間隔(以毫秒為單位)。 |
Admin server
管理掛載表的管理服務(wù)器。
Property | Default | Description |
---|---|---|
dfs.federation.router.admin.enable | true |
If true , 啟用了路由器中用于處理客戶端請求的 RPC 管理服務(wù)。 |
dfs.federation.router.admin-address | 0.0.0.0:8111 | 處理管理請求的 RPC 地址。 |
dfs.federation.router.admin-bind-host | 0.0.0.0 | RPC 管理服務(wù)器將綁定到的實(shí)際地址。 |
dfs.federation.router.admin.handler.count | 1 | 路由器處理來自管理員的 RPC 請求的服務(wù)器線程數(shù)。 |
HTTP Server
HTTP 服務(wù)器為客戶端提供 Web UI 和 HDFS REST 接口 (WebHDFS)。 默認(rèn) URL 為http://router_host:50071
。
Property | Default | Description |
---|---|---|
dfs.federation.router.http.enable | true |
If true , 路由器中處理客戶端請求的 HTTP 服務(wù)已啟用。 |
dfs.federation.router.http-address | 0.0.0.0:50071 | 處理對路由器的 Web 請求的 HTTP 地址。 |
dfs.federation.router.http-bind-host | 0.0.0.0 | HTTP 服務(wù)器將綁定到的實(shí)際地址。 |
dfs.federation.router.https-address | 0.0.0.0:50072 | 處理對路由器的 Web 請求的 HTTPS 地址。 |
dfs.federation.router.https-bind-host | 0.0.0.0 | HTTPS 服務(wù)器將綁定到的實(shí)際地址。 |
State Store
與狀態(tài)存儲的連接以及路由器的內(nèi)部緩存。
Property | Default | Description |
---|---|---|
dfs.federation.router.store.enable | true |
如果為true ,則路由器連接到狀態(tài)存儲。 |
dfs.federation.router.store.serializer | org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreSerializerPBImpl |
用于序列化狀態(tài)存儲記錄的類。 |
dfs.federation.router.store.driver.class | org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl |
實(shí)現(xiàn)狀態(tài)存儲的類 |
dfs.federation.router.store.connection.test | 60000 | 檢查狀態(tài)存儲連接的頻率(以毫秒為單位)。 |
dfs.federation.router.cache.ttl | 60000 | 刷新狀態(tài)存儲緩存的頻率(以毫秒為單位)。 |
dfs.federation.router.store.membership.expiration | 300000 | 成員資格記錄的到期時間(以毫秒為單位)。 |
Routing
將客戶端請求轉(zhuǎn)發(fā)到正確的子集群。
Property | Default | Description |
---|---|---|
dfs.federation.router.file.resolver.client.class | org.apache.hadoop.hdfs.server.federation.resolver.MountTableResolver |
將文件解析到子集群的類。 |
dfs.federation.router.namenode.resolver.client.class | org.apache.hadoop.hdfs.server.federation.resolver.MembershipNamenodeResolver |
用于解析子集群的NN節(jié)點(diǎn)的類。 |
Namenode monitoring
監(jiān)視子集群中的NN節(jié)點(diǎn)以轉(zhuǎn)發(fā)客戶端請求。
Property | Default | Description |
---|---|---|
dfs.federation.router.heartbeat.enable | true |
如果為“true”,則路由器會向狀態(tài)存儲中發(fā)送心跳。 |
dfs.federation.router.heartbeat.interval | 5000 | 路由器應(yīng)以毫秒為單位向狀態(tài)存儲發(fā)送心跳的頻率。 |
dfs.federation.router.monitor.namenode | 要監(jiān)視和檢測信號的NN節(jié)點(diǎn)的標(biāo)識符。 | |
dfs.federation.router.monitor.localnamenode.enable | true |
如果為“true”,則路由器應(yīng)監(jiān)視本地計(jì)算機(jī)中的NN節(jié)點(diǎn)。 |
注意:如果啟用*dfs.federation.router.monitor.localnamenode.enable
,建議配置dfs.nameservice.id
。 這將允許路由器直接找到本地節(jié)點(diǎn)。 否則,它將通過將namenode RPC
地址與本地節(jié)點(diǎn)地址進(jìn)行匹配來找到nameservice Id
。 如果匹配多個地址,路由器將無法啟動。 另外,如果本地節(jié)點(diǎn)是HA模式,建議配置dfs.ha.namenode.id
*。
版本
HADOOP-V2
版本號 | 主要變化 |
---|---|
HDFS 2.9.0 | 基于 HDFS 路由器的聯(lián)合添加了一個 RPC 路由層,提供多個 HDFS 命名空間的聯(lián)合視圖。 這與現(xiàn)有的 ViewFS 和 HDFS 聯(lián)合功能類似,只不過掛載表由路由層在服務(wù)器端而不是客戶端進(jìn)行管理。 這簡化了現(xiàn)有 HDFS 客戶端對聯(lián)合集群的訪問。 |
HDFS 2.9.1 | 1.將默認(rèn)狀態(tài)存儲從本地文件更改為 ZooKeeper。 這將需要配置額外的 zk 地址。 2.掛載表支持ACL,用戶將無法修改自己的條目(我們假設(shè)這些舊的(之前沒有權(quán)限)掛載表的所有者:超級用戶,組:超級組,權(quán)限:755作為默認(rèn)權(quán)限)。 修復(fù)方法是以超級用戶身份登錄來修改這些掛載表?xiàng)l目。 |
HDFS 2.10.0 | 1.將默認(rèn)狀態(tài)存儲從本地文件更改為 ZooKeeper。 這將需要配置額外的 zk 地址。 2.掛載表支持ACL,用戶將無法修改自己的條目(我們假設(shè)這些舊的(之前沒有權(quán)限)掛載表的所有者:超級用戶,組:超級組,權(quán)限:755作為默認(rèn)權(quán)限)。 修復(fù)方法是以超級用戶身份登錄來修改這些掛載表?xiàng)l目。 3.聯(lián)合在掛載表級別支持和控制全局配額。 在聯(lián)合環(huán)境中,一個文件夾可以分布在多個子集群中。 路由器聚合從這些子集群查詢的配額,并將其用于配額驗(yàn)證。 |
HADOOP-V3文章來源:http://www.zghlxwxcb.cn/news/detail-513400.html
版本號 | 主要變化 |
---|---|
HDFS 3.0.0 | 基于 HDFS 路由器的聯(lián)合添加了一個 RPC 路由層,提供多個 HDFS 命名空間的聯(lián)合視圖。 這與現(xiàn)有的 ViewFS 和 HDFS 聯(lián)合功能類似,只不過掛載表由路由層在服務(wù)器端而不是客戶端進(jìn)行管理。 這簡化了現(xiàn)有 HDFS 客戶端對聯(lián)合集群的訪問。 |
HDFS 3.0.3 | 1.將默認(rèn)狀態(tài)存儲從本地文件更改為 ZooKeeper。 這將需要配置額外的 zk 地址。 2.掛載表支持ACL,用戶將無法修改自己的條目(我們假設(shè)這些舊的(之前沒有權(quán)限)掛載表的所有者:超級用戶,組:超級組,權(quán)限:755作為默認(rèn)權(quán)限)。 修復(fù)方法是以超級用戶身份登錄來修改這些掛載表?xiàng)l目。 |
HDFS 3.1.0 | 1.將默認(rèn)狀態(tài)存儲從本地文件更改為 ZooKeeper。 這將需要配置額外的 zk 地址。 2.掛載表支持ACL,用戶將無法修改自己的條目(我們假設(shè)這些舊的(之前沒有權(quán)限)掛載表的所有者:超級用戶,組:超級組,權(quán)限:755作為默認(rèn)權(quán)限)。 修復(fù)方法是以超級用戶身份登錄來修改這些掛載表?xiàng)l目。 |
相關(guān)issues
https://issues.apache.org/jira/browse/HDFS-10467文章來源地址http://www.zghlxwxcb.cn/news/detail-513400.html
到了這里,關(guān)于【HDFS實(shí)戰(zhàn)】HDFS聯(lián)合(聯(lián)邦)集群的發(fā)展史的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!