Apache Hadoop
HDFSの最新機能の紹介 (2018)
https://www.yahoo.co.jp/
ヤフー株式会社 浅沼 孝信
2018年9月20日
自己紹介
2 Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 名前
• 浅沼 孝信
 業務履歴
• 2012年新卒入社
• Apache HadoopやApache NiFiを用いた社内インフラの設計・開発
• Hadoopを中心としたOSS開発(Erasure Coding, Java9対応など)
• 2018年7月からHadoopコミッター
もくじ
3
 Hadoopとは
 Router-based Federation
 Consistent Reads from Standby Node
 Heterogeneous Storage++
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
もくじ
4
 Hadoopとは
 Router-based Federation
 Consistent Reads from Standby Node
 Heterogeneous Storage++
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Hadoopとは
5
 大規模なデータを分散処理するためのオープンソースソフトウェア
 主なコンポーネント
• HDFS
• 分散ファイルシステム
• YARN
• リソースマネジメント
• ジョブスケジューリング
 今日はHDFSの最新機能について説明します
HDFS
YARN
MR Tez Spark
Hive
HBase
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
HDFS: アーキテクチャー
6
NameNode
DataNode
File
metadata
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
7
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
8
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadatab1を保存したいです
d1, d3, d5に保存してください
d1 d2 d3 d4 d5 d6
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
9
b1 b1 b1
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
Block Report
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
10
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
Block Report
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: NameNodeのメタデータ
11
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: NameNodeのメタデータ
12
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
EditLog
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
persist
Client
HDFS: 長所と短所
13
 長所
• 強い一貫性を保証
• Create, Deleteが瞬時に反映される
• 大規模データのデータ分析が得意
• シーケンシャルアクセスで平行にデータを読み出すのでスループットが高い
 短所
• NameNodeの責任が大きい
• NameNodeのメモリサイズがボトルネックになりやすい
• 特に大量の小さなファイルを扱うのが苦手
• クライアントやDataNodeのリクエストを処理しきれなくなる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
もくじ
14
 Hadoopとは
 Router-based Federation
 Consistent Reads from Standby Node
 Heterogeneous Storage++
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
HDFSのスケーラビリティの限界
15
 NameNodeのメモリサイズがHDFSのスケーラビリティの制限になる
 NameNodeのメモリサイズは数百GBが限界である
• これ以上増やすとGCの影響が無視できない
 クラスターを複数構築する(分割する)
• ただし複数のネームスペースはクライアントにとって扱いにくい
クライアントから見て1つのクラスタに見えるようにしたい
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
ViewFS
16
 ViewFS
• 複数のネームスペースをマウントした
ビューを作ることで、クライアントから
見て1つの大きなクラスタに見えること
ができる機能
 問題
• クライアントがマウント情報を管理しな
ければならない
ViewFS
A
B
C
/
data
log
tmp
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Router-based Federation (RBF)
17
 Router
• クライアントのリクエストを受け取
り適切なNameNodeにルーティング
 State Store
• マウント情報を中央管理
• ViewFSの問題を解決
 クライアント側でマウント情報を管理す
る必要がない!
Cluster A
R
DNDN DN
NN
State Store
Cluster B
R
DNDN DN
NN
①
②
③
④
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Router-based Federation: 開発状況
18
 開発の進捗
• Phase1: HDFS-10467(Resolved v2.9.0, v3.0.0)
• Phase2: HDFS-12615(Resolved v3.2.0)
• 今後は新機能ごとに別JIRA・別ブランチで開発
 開発が完了した機能
• Router WebUI (WebHDFS)
• クラスタ全体に渡るクォータ制限
• 1 対 * のマウントポイント(複数クラスタに分散できる)
 主な開発途中の機能
• ケルベロス認証
• クラスタ間のバランサー
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Router-based Federation: 企業事例など
19
 多くの企業が開発に参加!
• Microsoft, Uber, VipShop, Huawei, LinkedIn, Hortonworks, Yahoo! JAPAN...
 Microsoftの活用事例
• 8個のサブクラスターを束ねている(サーバー全台合わせて2万3000台!)
• 28個のNameNode
• 28個のRouter
 Uberの活用事例
• Hiveのジョブの中間ファイルを出力用のクラスタの分離
※活用事例の出典: https://www.slideshare.net/Hadoop_Summit/hdfs-router-based-federation
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
もくじ
20
 Hadoopとは
 Router-based Federation
 Consistent Reads from Standby Node
 Heterogeneous Storage++
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
NameNode HA のアーキテクチャー
21
Active NN Standby NN
Journal nodes
① Read/Write
metadata metadata
EditLog
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
② Write EditLog ③ Read EditLog
問題: アクティブノードの処理がボトルネック
22
Active NN Standby NN
Journal nodes
① Read/Write
metadata metadata
EditLog
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
② Write EditLog ③ Read EditLog
Consistent Reads from Standby Node
23
Standbys
Journal nodes
Read/Write Read Only
 処理の90%を占めるREADオペレーション
だけスタンバイノードからでも実行できる
ようにした機能
 アクティブノードは今まで通り
READ/WRITEできる
 Hadoop3系で実装された複数の
NameNode機能(HDFS-6440)と合わせ
て使う
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Active
Consistent Reads from Standby Node: Stale Read 問題
24
Journal nodes
① write x
② Write EditLog
metadata metadata
EditLog
③ read x
-> doesn’t exist!
stale!
Active NN Standby NN
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Consistent Reads from Standby Node: 開発状況
25
 開発に参加している企業
• LinkedIn, Uber, PayPal, …
 ステータス: 開発中(HDFS-12943)
 ステージ1
• Stale Readを許容できるユースケースにのみ対応
• クライアント側の設定値でStale Readするかどうか選択できる
 ステージ2以降
• Consistent Readを保証するためのAPIを作成
• このAPIを実行した時点のアクティブの状態をスタンバイがキャッチアップするまで
クライアント側で待機する
• 他のエコシステム(MR, Spark, Hive, HBase)を新しいAPIに対応させる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
もくじ
26
 Hadoopとは
 Router-based Federation
 Consistent Reads from Standby Node
 Heterogeneous Storage++
 Provided Storage
 Storage Policy Satisfier
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Heterogeneous Storage
27
Storage Policy Block Placement
Hot (default) DISK: 3
Warm DISK: 1, ARCHIVE: 2
Cold ARCHIVE: 3
/logs
│
├── last_week
│
│
├── last_month
│
│
└── last_year
Hot
Warm
Cold
 データの使用頻度などに応じてHDFS上でポリシー(温度)を設定することで
DataNodeの多様なストレージ(SSD, DISK, ARCHIVEなど)を効率的に利
用できる機能
 Yahoo! JAPANでもアーカイブディスク(ARCHIVE)に適用している
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Provided Storage
28
Storage Policy Block Placement
Hot (default) DISK: 3
Warm DISK: 1, ARCHIVE: 2
Cold ARCHIVE: 3
Provided PROVIDED: 1, DISK: 2
/logs
│
├── last_week
│
│
├── last_month
│
│
└── last_year
Hot
Warm
Cold
 Heterogeneous Storageに新しく追加されたストレージポリシー
 外部のストレージをマウントできる
• 特にオブジェクトストレージをマウントすることを意識して開発された
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Hadoopとオブジェクトストレージ
29
 すでにいくつかのオブジェクトストレージのHadoopインターフェースはある(s3a://, abfs://, ...)
がしかし・・・
 HDFSとセキュリティの互換性がない
• Linuxライクなpermissionが使えない
• ケルベロス認証、Ranger/Sentryが使えない
• クレデンシャルはクライアント側で管理
 HDFSの便利な機能が使えない
• クォータ制限ができない
• fsckコマンドが使えない
 Provided Storageを使うと解決できる!
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Provided Storage
30
Remote Store
PROVIDED
DN
PROVIDED
DN
NameNode
AliasMap
Block - file URI
 他のストレージタイプ(DISK, SSD,
ARCHIVE)と同じ立ち位置
 外部ストレージがPROVIDEDストレージと
してマウントされる
 PROVIDEDストレージのブロックと
外部ストレージのファイルURIの
マッピング情報がAliasMapに保存される
 AliasMapはKVSで現在はLevelDBで実装さ
れている
metadata
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Provided Storage
31
 MicrosoftとWestern Digitalが共同で開発中
 HDFS-9806: Provided Storage Phase 1 (Resolved 3.1.0)
• READのみ対応
• 外部ストレージからNameNodeのメタデータを作成するツール(fs2img)が提
供されている
 HDFS-12090: Provided Storage Phase 2 (開発中)
• WRITEにも対応
• 今年のHadoop SummitでProvided Storage経由でAzure Blob Storageへの書
き込みと削除のデモが行われていた
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
SPS: Storage Policy Satisfier
32
 Heterogeneous Storageを使っていると設定されているポリシー(温度)と実際にブ
ロックが保存されている物理的なストレージの間にズレが生じてくる(COLDポリシーな
のにSSDにあるなど)のをどうにかしたい
 例
• 後からストレージポリシーを設定・変更した場合
• 違うストレージポリシー配下にmvした場合
 Moverというツールを使うとズレを解消することができるが、管理者が手動で行う必要が
あり管理も複雑
 自動でよしなにやってくれる機能が欲しい
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
SPS: Storage Policy Satisfier
33
 現在のディレクトリ(ファイル)のストレージポリシーに合わせて、自動的にブロックを
適切なストレージに移してくれる機能
 SPSは新しいデーモンとして起動
$ hdfs –daemon start sps
 指定したパス以下のディレクトリ・ファイルをモニタリング
$ hdfs storagepolicies -satisfyStoragePolicy -path <path>
 開発状況:
 初期の実装完了(v3.2.0)
 開発に参加している企業: Intel, Huawei, …
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
本日詳しく紹介できなかったHDFSの新機能
34
 Erasure Coding
• DataNodeのストレージ使用量がレプリケーションと比べて半分になる
• Hadoopの3系から利用可能(最新のCDHとHDPで利用可能!)
• 拙著: HDFS Erasure Codingの紹介とYahoo! JAPANにおける運用事例
https://techblog.yahoo.co.jp/infrastructure/hdfs_erasure_coding/
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
本日詳しく紹介できなかったHDFSの新機能
35
 Apache Ozone
• Hortonworksが開発しているHadoopのオブジェクトストレージ
• 大量の小さなファイルも扱うことが可能
• 現在も活発に開発中
• 最近Hadoopのメインブランチにマージされた
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
HDFSの新機能とHadoopのリリース
36 Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
RBF 1
EC
PROVIDED 1 RBF 2
SPS
RBF with Security
PROVIDED 2
Consistent Read from Standby
Ozone
trunk
3.0.0 3.1.0 3.2.0

Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018

  • 1.
  • 2.
    自己紹介 2 Copyright (C)2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  名前 • 浅沼 孝信  業務履歴 • 2012年新卒入社 • Apache HadoopやApache NiFiを用いた社内インフラの設計・開発 • Hadoopを中心としたOSS開発(Erasure Coding, Java9対応など) • 2018年7月からHadoopコミッター
  • 3.
    もくじ 3  Hadoopとは  Router-basedFederation  Consistent Reads from Standby Node  Heterogeneous Storage++ Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 4.
    もくじ 4  Hadoopとは  Router-basedFederation  Consistent Reads from Standby Node  Heterogeneous Storage++ Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 5.
    Hadoopとは 5  大規模なデータを分散処理するためのオープンソースソフトウェア  主なコンポーネント •HDFS • 分散ファイルシステム • YARN • リソースマネジメント • ジョブスケジューリング  今日はHDFSの最新機能について説明します HDFS YARN MR Tez Spark Hive HBase Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 6.
    HDFS: アーキテクチャー 6 NameNode DataNode File metadata Copyright (C)2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 7.
    HDFS: アーキテクチャー 7 NameNode DataNode b1 b2 b3 128MB 128MB metadata Copyright (C)2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 8.
    HDFS: アーキテクチャー 8 NameNode DataNode b1 b2 b3 128MB 128MB metadatab1を保存したいです d1, d3,d5に保存してください d1 d2 d3 d4 d5 d6 Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 9.
    HDFS: アーキテクチャー 9 b1 b1b1 NameNode DataNode b1 b2 b3 128MB 128MB metadata Block Report Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 10.
    HDFS: アーキテクチャー 10 b1 b3 b2 b1b1b2 b2 b3 b3 NameNode DataNode b1 b2 b3 128MB 128MB metadata Block Report Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 11.
    HDFS: NameNodeのメタデータ 11 b1 b3 b2 b1b1b2 b2 b3 b3 NameNode DataNode b1 b2 b3 128MB 128MB metadata NameSpace Block Map File -> BlockID BlockID -> DN Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 12.
    HDFS: NameNodeのメタデータ 12 b1 b3 b2 b1b1b2 b2 b3 b3 NameNode DataNode b1 b2 b3 128MB 128MB metadata NameSpace Block Map File -> BlockID BlockID -> DN EditLog Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 persist Client
  • 13.
    HDFS: 長所と短所 13  長所 •強い一貫性を保証 • Create, Deleteが瞬時に反映される • 大規模データのデータ分析が得意 • シーケンシャルアクセスで平行にデータを読み出すのでスループットが高い  短所 • NameNodeの責任が大きい • NameNodeのメモリサイズがボトルネックになりやすい • 特に大量の小さなファイルを扱うのが苦手 • クライアントやDataNodeのリクエストを処理しきれなくなる Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 14.
    もくじ 14  Hadoopとは  Router-basedFederation  Consistent Reads from Standby Node  Heterogeneous Storage++ Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 15.
    HDFSのスケーラビリティの限界 15  NameNodeのメモリサイズがHDFSのスケーラビリティの制限になる  NameNodeのメモリサイズは数百GBが限界である •これ以上増やすとGCの影響が無視できない  クラスターを複数構築する(分割する) • ただし複数のネームスペースはクライアントにとって扱いにくい クライアントから見て1つのクラスタに見えるようにしたい Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 16.
    ViewFS 16  ViewFS • 複数のネームスペースをマウントした ビューを作ることで、クライアントから 見て1つの大きなクラスタに見えること ができる機能 問題 • クライアントがマウント情報を管理しな ければならない ViewFS A B C / data log tmp Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 17.
    Router-based Federation (RBF) 17 Router • クライアントのリクエストを受け取 り適切なNameNodeにルーティング  State Store • マウント情報を中央管理 • ViewFSの問題を解決  クライアント側でマウント情報を管理す る必要がない! Cluster A R DNDN DN NN State Store Cluster B R DNDN DN NN ① ② ③ ④ Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 18.
    Router-based Federation: 開発状況 18 開発の進捗 • Phase1: HDFS-10467(Resolved v2.9.0, v3.0.0) • Phase2: HDFS-12615(Resolved v3.2.0) • 今後は新機能ごとに別JIRA・別ブランチで開発  開発が完了した機能 • Router WebUI (WebHDFS) • クラスタ全体に渡るクォータ制限 • 1 対 * のマウントポイント(複数クラスタに分散できる)  主な開発途中の機能 • ケルベロス認証 • クラスタ間のバランサー Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 19.
    Router-based Federation: 企業事例など 19 多くの企業が開発に参加! • Microsoft, Uber, VipShop, Huawei, LinkedIn, Hortonworks, Yahoo! JAPAN...  Microsoftの活用事例 • 8個のサブクラスターを束ねている(サーバー全台合わせて2万3000台!) • 28個のNameNode • 28個のRouter  Uberの活用事例 • Hiveのジョブの中間ファイルを出力用のクラスタの分離 ※活用事例の出典: https://www.slideshare.net/Hadoop_Summit/hdfs-router-based-federation Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 20.
    もくじ 20  Hadoopとは  Router-basedFederation  Consistent Reads from Standby Node  Heterogeneous Storage++ Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 21.
    NameNode HA のアーキテクチャー 21 ActiveNN Standby NN Journal nodes ① Read/Write metadata metadata EditLog Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ② Write EditLog ③ Read EditLog
  • 22.
    問題: アクティブノードの処理がボトルネック 22 Active NNStandby NN Journal nodes ① Read/Write metadata metadata EditLog Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ② Write EditLog ③ Read EditLog
  • 23.
    Consistent Reads fromStandby Node 23 Standbys Journal nodes Read/Write Read Only  処理の90%を占めるREADオペレーション だけスタンバイノードからでも実行できる ようにした機能  アクティブノードは今まで通り READ/WRITEできる  Hadoop3系で実装された複数の NameNode機能(HDFS-6440)と合わせ て使う Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Active
  • 24.
    Consistent Reads fromStandby Node: Stale Read 問題 24 Journal nodes ① write x ② Write EditLog metadata metadata EditLog ③ read x -> doesn’t exist! stale! Active NN Standby NN Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 25.
    Consistent Reads fromStandby Node: 開発状況 25  開発に参加している企業 • LinkedIn, Uber, PayPal, …  ステータス: 開発中(HDFS-12943)  ステージ1 • Stale Readを許容できるユースケースにのみ対応 • クライアント側の設定値でStale Readするかどうか選択できる  ステージ2以降 • Consistent Readを保証するためのAPIを作成 • このAPIを実行した時点のアクティブの状態をスタンバイがキャッチアップするまで クライアント側で待機する • 他のエコシステム(MR, Spark, Hive, HBase)を新しいAPIに対応させる Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 26.
    もくじ 26  Hadoopとは  Router-basedFederation  Consistent Reads from Standby Node  Heterogeneous Storage++  Provided Storage  Storage Policy Satisfier Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 27.
    Heterogeneous Storage 27 Storage PolicyBlock Placement Hot (default) DISK: 3 Warm DISK: 1, ARCHIVE: 2 Cold ARCHIVE: 3 /logs │ ├── last_week │ │ ├── last_month │ │ └── last_year Hot Warm Cold  データの使用頻度などに応じてHDFS上でポリシー(温度)を設定することで DataNodeの多様なストレージ(SSD, DISK, ARCHIVEなど)を効率的に利 用できる機能  Yahoo! JAPANでもアーカイブディスク(ARCHIVE)に適用している Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 28.
    Provided Storage 28 Storage PolicyBlock Placement Hot (default) DISK: 3 Warm DISK: 1, ARCHIVE: 2 Cold ARCHIVE: 3 Provided PROVIDED: 1, DISK: 2 /logs │ ├── last_week │ │ ├── last_month │ │ └── last_year Hot Warm Cold  Heterogeneous Storageに新しく追加されたストレージポリシー  外部のストレージをマウントできる • 特にオブジェクトストレージをマウントすることを意識して開発された Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 29.
    Hadoopとオブジェクトストレージ 29  すでにいくつかのオブジェクトストレージのHadoopインターフェースはある(s3a://, abfs://,...) がしかし・・・  HDFSとセキュリティの互換性がない • Linuxライクなpermissionが使えない • ケルベロス認証、Ranger/Sentryが使えない • クレデンシャルはクライアント側で管理  HDFSの便利な機能が使えない • クォータ制限ができない • fsckコマンドが使えない  Provided Storageを使うと解決できる! Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 30.
    Provided Storage 30 Remote Store PROVIDED DN PROVIDED DN NameNode AliasMap Block- file URI  他のストレージタイプ(DISK, SSD, ARCHIVE)と同じ立ち位置  外部ストレージがPROVIDEDストレージと してマウントされる  PROVIDEDストレージのブロックと 外部ストレージのファイルURIの マッピング情報がAliasMapに保存される  AliasMapはKVSで現在はLevelDBで実装さ れている metadata Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 31.
    Provided Storage 31  MicrosoftとWesternDigitalが共同で開発中  HDFS-9806: Provided Storage Phase 1 (Resolved 3.1.0) • READのみ対応 • 外部ストレージからNameNodeのメタデータを作成するツール(fs2img)が提 供されている  HDFS-12090: Provided Storage Phase 2 (開発中) • WRITEにも対応 • 今年のHadoop SummitでProvided Storage経由でAzure Blob Storageへの書 き込みと削除のデモが行われていた Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 32.
    SPS: Storage PolicySatisfier 32  Heterogeneous Storageを使っていると設定されているポリシー(温度)と実際にブ ロックが保存されている物理的なストレージの間にズレが生じてくる(COLDポリシーな のにSSDにあるなど)のをどうにかしたい  例 • 後からストレージポリシーを設定・変更した場合 • 違うストレージポリシー配下にmvした場合  Moverというツールを使うとズレを解消することができるが、管理者が手動で行う必要が あり管理も複雑  自動でよしなにやってくれる機能が欲しい Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 33.
    SPS: Storage PolicySatisfier 33  現在のディレクトリ(ファイル)のストレージポリシーに合わせて、自動的にブロックを 適切なストレージに移してくれる機能  SPSは新しいデーモンとして起動 $ hdfs –daemon start sps  指定したパス以下のディレクトリ・ファイルをモニタリング $ hdfs storagepolicies -satisfyStoragePolicy -path <path>  開発状況:  初期の実装完了(v3.2.0)  開発に参加している企業: Intel, Huawei, … Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 34.
    本日詳しく紹介できなかったHDFSの新機能 34  Erasure Coding •DataNodeのストレージ使用量がレプリケーションと比べて半分になる • Hadoopの3系から利用可能(最新のCDHとHDPで利用可能!) • 拙著: HDFS Erasure Codingの紹介とYahoo! JAPANにおける運用事例 https://techblog.yahoo.co.jp/infrastructure/hdfs_erasure_coding/ Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 35.
    本日詳しく紹介できなかったHDFSの新機能 35  Apache Ozone •Hortonworksが開発しているHadoopのオブジェクトストレージ • 大量の小さなファイルも扱うことが可能 • 現在も活発に開発中 • 最近Hadoopのメインブランチにマージされた Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
  • 36.
    HDFSの新機能とHadoopのリリース 36 Copyright (C)2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 RBF 1 EC PROVIDED 1 RBF 2 SPS RBF with Security PROVIDED 2 Consistent Read from Standby Ozone trunk 3.0.0 3.1.0 3.2.0