SlideShare a Scribd company logo
1 of 49
Download to read offline
HDFSのスケーラビリティの限界を
突破するためのさまざまな取り組み
〜エクサバイト級の分散ストレージを目指して〜
ヤフー株式会社 浅沼 孝信
2019年3月14日
自己紹介
2 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 名前
– 浅沼 孝信
 業務履歴
– 2012年度新卒入社
– HadoopやNiFiを用いた社内インフラの設計・開発
– Hadoopを中心としたOSS開発
– 2018年7月よりHadoopコミッター
もくじ
3 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 HDFSの復習
 Router-based Federation (RBF)
 Observer NameNode
 Erasure Coding
もくじ
4 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 HDFSの復習
 Router-based Federation (RBF)
 Observer NameNode
 Erasure Coding
HDFS: アーキテクチャー
5
NameNode
DataNode
File
metadata
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
6
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
7
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: アーキテクチャー
8
b1 b1 b1
NameNode
DataNode
b1
b2
b3
128MB
128MB
metadata
Block Report
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Client
HDFS: アーキテクチャー
9
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のメタデータ
10
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のメタデータ
11
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のすごいところ
12 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 強い一貫性
– 1台のマスターが全てのメタデータをメモリ上で管理しているので、
あるユーザーが行なったオペレーションが他のユーザーから見ても
瞬時に反映される
 スケーラビリティ
– 1000台ぐらい(数十PB)までならコモディティなサーバーを追加す
るだけで線形にスケールする
HDFSのスケーラビリティの限界
13 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 数千台の大規模なクラスタやワークロードの重いク
ラスタではスケーラビリティの限界に達してさまざ
まな問題が生じる!
HDFSのスケーラビリティの限界
14 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
b1
b2
b3
128MB
128MB
Client
DataNode
HDFSのスケーラビリティの限界
15 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
b1
b2
b3
128MB
128MB
Client
①メタデータの肥大化
DataNode
HDFSのスケーラビリティの限界
16 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
b1
b2
b3
128MB
128MB
Client
①メタデータの肥大化
②リクエスト量の増大
DataNode
HDFSのスケーラビリティの限界
17 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
b1
b2
b3
128MB
128MB
Client
①メタデータの肥大化
②リクエスト量の増大
③レプリケーションのストレージコストが高い
DataNode
新機能でスケーラビリティ向上!
18 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1
b3
b2 b1 b1b2
b2
b3
b3
NameNode
metadata
NameSpace
Block Map
File -> BlockID BlockID -> DN
b1
b2
b3
128MB
128MB
Client
①メタデータの肥大化
→ Router-based Federation
②リクエスト量の増大
→ Observer NameNode
③レプリケーションのストレージコストが高い → Erasure Coding
DataNode
もくじ
19 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 HDFSの復習
 Router-based Federation (RBF)
 Observer NameNode
 Erasure Coding
問題: メタデータの肥大化
20 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 数千台のクラスタではメタデータがNameNodeのメモリ
サイズの限界に達する
 それ以上のデータを保存する場合は別のNameNodeが必
要なので複数のクラスタができる
 複数のクラスタはユーザーにとって扱いづらい
ユーザーから見て1つの大きなクラスタとして扱えるよう
にして欲しい
Router-based Federation(RBF)とは
21 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Federation Layer
Cluster A
Router
DNDN DN
NN
State Store
Cluster B
Router
DNDN DN
NN
 クライアントのリクエストを
ルーティングするフェデレー
ション層を導入
– Router(プロキシサーバー)
– StateStore(マウント情報管理)
 クライアントからNameNode
が隠蔽されて複数のクラスタを
1つの大きなクラスタのように
扱うことができる
BA
/
/ad /log
/ /
RBFの処理の流れ
22 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Federation Layer
Cluster A
Router
DNDN DN
NN
State Store
Cluster B
Router
DNDN DN
NN
(1)
(2)
(3)
(5)
hadoop fs -get /log/data/file .
(1) クライアントはRouterにリクエストを
送信
(2) RouterはStateStoreに保存されている
マウントテーブルを参照
(3) 適切なNameNodeにルーティングする
(4) NameNodeはRouterを経由しながら
クライアントにレスポンスを返信
(5) クライアントはレスポンスの情報を元
に目的のDataNodeにアクセス
(4)
BA
/
/ad /log
/ /
RBFの開発状況
23 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 開発企業
– Microsoft, Uber, VipShop, Huawei, LinkedIn, Cloudera,
Yahoo! JAPAN...
 現在はセキュリティ機能を開発中(HDFS-13532)
– UberやMicrosoftが中心
– ケルベロス認証のベースの実装が完了
– デリゲーショントークンに対応
– Hadoop-3.3.0に入りそう
もくじ
24 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 HDFSの復習
 Router-based Federation (RBF)
 Observer NameNode
– Consistent Reads from Standby Node
 Erasure Coding
NameNode HAのアーキテクチャ
25 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Active NN Standby NN
Journal nodes
① Read/Write
metadata metadata
EditLog
② Write EditLog ③ Read EditLog
metadatametadatametadata
複数NameNodeの機能(HDFS-6440)
26 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Active NN
Standby NNs
Journal nodes
① Read/Write
metadata
EditLog
② Write EditLog
③ Read EditLog
metadatametadatametadata
問題: Active NameNodeの責任が重い
27 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Active NN
Standby NNs
Journal nodes
① Read/Write
metadata
EditLog
② Write EditLog
③ Read EditLog
metadatametadatametadata
Observer NameNodeの登場
28 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Active NN
Standby
Journal nodes
① Read/Write
metadata
EditLog
② Write EditLog
③ Read EditLog
ObserverObserver
Read
Read処理はObserver
NameNodeから可能!!
Read
READリクエストの分散
29 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 READリクエストの分散は効果的である
– 一般的なユースケースではREAD/WRITEのリクエストのうち
約9割がREADリクエスト
 ObserverからのREADを優先する機能
– Hadoopクライアントの機能(ObserverReadProxyProvider)
– ObserverからREADできなかったらActiveからREADする
Observer NameNodeの状態遷移
30 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Active Standby
Observer
Active-Observer間は直接遷移できない
Stale Read 問題
31 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
① write x
② Write EditLog
metadata metadata
EditLog
③ read x
-> doesn’t exist!
stale!
Active NN Observer NN
Stale Read 問題の解決: state IDの導入
32 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
Stale Read 問題の解決: state IDの導入
33 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
Stale Read 問題の解決: state IDの導入
34 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
transaction ID
② Write EditLog
Stale Read 問題の解決: state IDの導入
35 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
transaction ID
② Write EditLog
Stale Read 問題の解決: state IDの導入
36 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
transaction ID
② Write EditLog
state ID
transaction ID
④transaction IDからstate IDを作成
Stale Read 問題の解決: state IDの導入
37 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
transaction ID
② Write EditLog
state ID
transaction ID
④transaction IDからstate IDを作成
Stale Read 問題の解決: state IDの導入
38 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
transaction ID
② Write EditLog
state ID
transaction ID
④transaction IDからstate IDを作成
⑥state IDに含まれたtransaction IDの
EditLogを読み込んでから処理を行う
transaction ID
Stale Read 問題の解決: state IDの導入
39 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
transaction ID
Journal nodes
metadata metadata
EditLog
Active NN Observer NN
state ID
transaction ID
⑥state IDに含まれたtransaction IDの
EditLogを読み込んでから処理を行う
② Write EditLog transaction ID
④transaction IDからstate IDを作成
シングルクライアントに関しては
Read-After-Write一貫性を保つ!
開発状況
40 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 開発企業: LinkedIn, Uber, PayPal, Cloudera...
 マスターブランチにマージ完了!(2018/12/24)
– Hadoop-3.3.0でリリースされる
– Hadoop2系にもバックポートされそう(HDFS-14204)
もくじ
41 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 HDFSの復習
 Router-based Federation (RBF)
 Observer NameNode
 Erasure Coding
問題: ストレージコストが高い
42 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 通常の3レプリケーションでは冗長性を保つために
元データの3倍のストレージコストがかかる
b1
b3
b2 b1 b1b2
b2
b3
b3
DataNode
 6個のデータブロックから3個のパリティブロックを生成
 9個のブロックうち任意の6個ブロックから元データを復元可能
 レプリケーションの半分のストレージコストで同等の冗長性を実現!
Erasure Coding(EC)とは
43 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1 b3 b4 b6 b7 b8b2 b5 b9
Replication Erasure Coding (6, 3)
損失の許容できるブロック数 2 3
元データに対するストレージコスト 3倍 1.5倍
encode
データ量が多いほど顕著な差が出る
44 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
レプリケーション EC 元データ
ストレージコスト
データ量
ECブロックの実装の詳細
45 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
1MB
1MB
b1 b2 b3 b4 b5 b6 b7 b8 b9
ECブロックの実装の詳細
46 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
b1 b2 b3 b4 b5 b6 b7 b8 b9
開発状況など
47 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 開発自体はだいぶ前に完了
– 新機能の開発はしばらく無し
– 細かい改善・バグ修正が行われている
 利用できるのはHadoop3系から
– ユーザーが増えるのはこれから
 解説記事(拙著)
– HDFS Erasure Codingの紹介とYahoo! JAPANにおける運用事例
https://techblog.yahoo.co.jp/infrastructure/hdfs_erasure_coding
番外編: Ozone
48 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
 Hadoopのオブジェクトストア
 HDFSのアーキテクチャを刷新
 マスターのメタデータ肥大化問題を根本的に解決
HDFSの新機能のリリースプラン
49 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Router-based
Federation
Erasure Coding
RBF with Security
Observer NameNode
Ozone
trunk
~ 3.2.0 (2019/01) 3.3.0

More Related Content

What's hot

Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Takayuki Shimizukawa
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜Takahiro Inoue
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
ただいまHadoop勉強中
ただいまHadoop勉強中ただいまHadoop勉強中
ただいまHadoop勉強中Satoshi Noto
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 
HDFSネームノードのHAについて #hcj13w
HDFSネームノードのHAについて #hcj13wHDFSネームノードのHAについて #hcj13w
HDFSネームノードのHAについて #hcj13wCloudera Japan
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsYoshiyasu SAEKI
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Sotaro Kimura
 

What's hot (20)

Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DMUpgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
 
ただいまHadoop勉強中
ただいまHadoop勉強中ただいまHadoop勉強中
ただいまHadoop勉強中
 
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
HDFSネームノードのHAについて #hcj13w
HDFSネームノードのHAについて #hcj13wHDFSネームノードのHAについて #hcj13w
HDFSネームノードのHAについて #hcj13w
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
 

Similar to HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hcj2019

デジタル化への第一歩 「エンタープライズデータレイク構築事例のご紹介」
デジタル化への第一歩  「エンタープライズデータレイク構築事例のご紹介」デジタル化への第一歩  「エンタープライズデータレイク構築事例のご紹介」
デジタル化への第一歩 「エンタープライズデータレイク構築事例のご紹介」BeeX.inc
 
ビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBgriddb
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopDataWorks Summit
 
Search engineering tech talk 2019 summer
Search engineering tech talk 2019 summerSearch engineering tech talk 2019 summer
Search engineering tech talk 2019 summerHiroki Moriyama
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...Insight Technology, Inc.
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 
AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。
AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。
AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。株式会社クライム
 
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...Insight Technology, Inc.
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMKoichi Sakata
 
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...Yahoo!デベロッパーネットワーク
 
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネスオラクルエンジニア通信
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたDrecom Co., Ltd.
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也Insight Technology, Inc.
 
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日IBM Analytics Japan
 
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話Kamonohashi
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!デベロッパーネットワーク
 
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...オラクルエンジニア通信
 

Similar to HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hcj2019 (20)

デジタル化への第一歩 「エンタープライズデータレイク構築事例のご紹介」
デジタル化への第一歩  「エンタープライズデータレイク構築事例のご紹介」デジタル化への第一歩  「エンタープライズデータレイク構築事例のご紹介」
デジタル化への第一歩 「エンタープライズデータレイク構築事例のご紹介」
 
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
 
ビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDBビッグIoTデータに対応したデータベース GridDB
ビッグIoTデータに対応したデータベース GridDB
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
Search engineering tech talk 2019 summer
Search engineering tech talk 2019 summerSearch engineering tech talk 2019 summer
Search engineering tech talk 2019 summer
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~
 
AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。
AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。
AS/400のデータをクラウドで活用! 事例を交えながら『DBMoto』をご紹介。
 
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
[db tech showcase Tokyo 2014] D15:日立ストレージと国産DBMS HiRDBで実現する『ワンランク上』のディザスタリカバリ...
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
 
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
 
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみた
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
Db2 & Db2 Warehouse v11.5.4 最新情報アップデート2020年8月25日
 
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
 
ヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtechヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtech
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
 
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
 

More from Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

More from Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hcj2019

  • 2. 自己紹介 2 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  名前 – 浅沼 孝信  業務履歴 – 2012年度新卒入社 – HadoopやNiFiを用いた社内インフラの設計・開発 – Hadoopを中心としたOSS開発 – 2018年7月よりHadoopコミッター
  • 3. もくじ 3 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  HDFSの復習  Router-based Federation (RBF)  Observer NameNode  Erasure Coding
  • 4. もくじ 4 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  HDFSの復習  Router-based Federation (RBF)  Observer NameNode  Erasure Coding
  • 5. HDFS: アーキテクチャー 5 NameNode DataNode File metadata Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 6. HDFS: アーキテクチャー 6 NameNode DataNode b1 b2 b3 128MB 128MB metadata Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 7. HDFS: アーキテクチャー 7 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
  • 8. HDFS: アーキテクチャー 8 b1 b1 b1 NameNode DataNode b1 b2 b3 128MB 128MB metadata Block Report Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Client
  • 9. HDFS: アーキテクチャー 9 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
  • 10. HDFS: NameNodeのメタデータ 10 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
  • 11. 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 EditLog Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 persist Client
  • 12. HDFSのすごいところ 12 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  強い一貫性 – 1台のマスターが全てのメタデータをメモリ上で管理しているので、 あるユーザーが行なったオペレーションが他のユーザーから見ても 瞬時に反映される  スケーラビリティ – 1000台ぐらい(数十PB)までならコモディティなサーバーを追加す るだけで線形にスケールする
  • 13. HDFSのスケーラビリティの限界 13 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  数千台の大規模なクラスタやワークロードの重いク ラスタではスケーラビリティの限界に達してさまざ まな問題が生じる!
  • 14. HDFSのスケーラビリティの限界 14 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b3 b2 b1 b1b2 b2 b3 b3 NameNode metadata NameSpace Block Map File -> BlockID BlockID -> DN b1 b2 b3 128MB 128MB Client DataNode
  • 15. HDFSのスケーラビリティの限界 15 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b3 b2 b1 b1b2 b2 b3 b3 NameNode metadata NameSpace Block Map File -> BlockID BlockID -> DN b1 b2 b3 128MB 128MB Client ①メタデータの肥大化 DataNode
  • 16. HDFSのスケーラビリティの限界 16 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b3 b2 b1 b1b2 b2 b3 b3 NameNode metadata NameSpace Block Map File -> BlockID BlockID -> DN b1 b2 b3 128MB 128MB Client ①メタデータの肥大化 ②リクエスト量の増大 DataNode
  • 17. HDFSのスケーラビリティの限界 17 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b3 b2 b1 b1b2 b2 b3 b3 NameNode metadata NameSpace Block Map File -> BlockID BlockID -> DN b1 b2 b3 128MB 128MB Client ①メタデータの肥大化 ②リクエスト量の増大 ③レプリケーションのストレージコストが高い DataNode
  • 18. 新機能でスケーラビリティ向上! 18 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b3 b2 b1 b1b2 b2 b3 b3 NameNode metadata NameSpace Block Map File -> BlockID BlockID -> DN b1 b2 b3 128MB 128MB Client ①メタデータの肥大化 → Router-based Federation ②リクエスト量の増大 → Observer NameNode ③レプリケーションのストレージコストが高い → Erasure Coding DataNode
  • 19. もくじ 19 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  HDFSの復習  Router-based Federation (RBF)  Observer NameNode  Erasure Coding
  • 20. 問題: メタデータの肥大化 20 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  数千台のクラスタではメタデータがNameNodeのメモリ サイズの限界に達する  それ以上のデータを保存する場合は別のNameNodeが必 要なので複数のクラスタができる  複数のクラスタはユーザーにとって扱いづらい ユーザーから見て1つの大きなクラスタとして扱えるよう にして欲しい
  • 21. Router-based Federation(RBF)とは 21 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Federation Layer Cluster A Router DNDN DN NN State Store Cluster B Router DNDN DN NN  クライアントのリクエストを ルーティングするフェデレー ション層を導入 – Router(プロキシサーバー) – StateStore(マウント情報管理)  クライアントからNameNode が隠蔽されて複数のクラスタを 1つの大きなクラスタのように 扱うことができる BA / /ad /log / /
  • 22. RBFの処理の流れ 22 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Federation Layer Cluster A Router DNDN DN NN State Store Cluster B Router DNDN DN NN (1) (2) (3) (5) hadoop fs -get /log/data/file . (1) クライアントはRouterにリクエストを 送信 (2) RouterはStateStoreに保存されている マウントテーブルを参照 (3) 適切なNameNodeにルーティングする (4) NameNodeはRouterを経由しながら クライアントにレスポンスを返信 (5) クライアントはレスポンスの情報を元 に目的のDataNodeにアクセス (4) BA / /ad /log / /
  • 23. RBFの開発状況 23 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  開発企業 – Microsoft, Uber, VipShop, Huawei, LinkedIn, Cloudera, Yahoo! JAPAN...  現在はセキュリティ機能を開発中(HDFS-13532) – UberやMicrosoftが中心 – ケルベロス認証のベースの実装が完了 – デリゲーショントークンに対応 – Hadoop-3.3.0に入りそう
  • 24. もくじ 24 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  HDFSの復習  Router-based Federation (RBF)  Observer NameNode – Consistent Reads from Standby Node  Erasure Coding
  • 25. NameNode HAのアーキテクチャ 25 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Active NN Standby NN Journal nodes ① Read/Write metadata metadata EditLog ② Write EditLog ③ Read EditLog
  • 26. metadatametadatametadata 複数NameNodeの機能(HDFS-6440) 26 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Active NN Standby NNs Journal nodes ① Read/Write metadata EditLog ② Write EditLog ③ Read EditLog
  • 27. metadatametadatametadata 問題: Active NameNodeの責任が重い 27 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Active NN Standby NNs Journal nodes ① Read/Write metadata EditLog ② Write EditLog ③ Read EditLog
  • 28. metadatametadatametadata Observer NameNodeの登場 28 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Active NN Standby Journal nodes ① Read/Write metadata EditLog ② Write EditLog ③ Read EditLog ObserverObserver Read Read処理はObserver NameNodeから可能!! Read
  • 29. READリクエストの分散 29 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  READリクエストの分散は効果的である – 一般的なユースケースではREAD/WRITEのリクエストのうち 約9割がREADリクエスト  ObserverからのREADを優先する機能 – Hadoopクライアントの機能(ObserverReadProxyProvider) – ObserverからREADできなかったらActiveからREADする
  • 30. Observer NameNodeの状態遷移 30 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Active Standby Observer Active-Observer間は直接遷移できない
  • 31. Stale Read 問題 31 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes ① write x ② Write EditLog metadata metadata EditLog ③ read x -> doesn’t exist! stale! Active NN Observer NN
  • 32. Stale Read 問題の解決: state IDの導入 32 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN
  • 33. Stale Read 問題の解決: state IDの導入 33 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN
  • 34. Stale Read 問題の解決: state IDの導入 34 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN transaction ID ② Write EditLog
  • 35. Stale Read 問題の解決: state IDの導入 35 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN transaction ID ② Write EditLog
  • 36. Stale Read 問題の解決: state IDの導入 36 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN transaction ID ② Write EditLog state ID transaction ID ④transaction IDからstate IDを作成
  • 37. Stale Read 問題の解決: state IDの導入 37 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN transaction ID ② Write EditLog state ID transaction ID ④transaction IDからstate IDを作成
  • 38. Stale Read 問題の解決: state IDの導入 38 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Journal nodes metadata metadata EditLog Active NN Observer NN transaction ID ② Write EditLog state ID transaction ID ④transaction IDからstate IDを作成 ⑥state IDに含まれたtransaction IDの EditLogを読み込んでから処理を行う transaction ID
  • 39. Stale Read 問題の解決: state IDの導入 39 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 transaction ID Journal nodes metadata metadata EditLog Active NN Observer NN state ID transaction ID ⑥state IDに含まれたtransaction IDの EditLogを読み込んでから処理を行う ② Write EditLog transaction ID ④transaction IDからstate IDを作成 シングルクライアントに関しては Read-After-Write一貫性を保つ!
  • 40. 開発状況 40 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  開発企業: LinkedIn, Uber, PayPal, Cloudera...  マスターブランチにマージ完了!(2018/12/24) – Hadoop-3.3.0でリリースされる – Hadoop2系にもバックポートされそう(HDFS-14204)
  • 41. もくじ 41 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  HDFSの復習  Router-based Federation (RBF)  Observer NameNode  Erasure Coding
  • 42. 問題: ストレージコストが高い 42 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  通常の3レプリケーションでは冗長性を保つために 元データの3倍のストレージコストがかかる b1 b3 b2 b1 b1b2 b2 b3 b3 DataNode
  • 43.  6個のデータブロックから3個のパリティブロックを生成  9個のブロックうち任意の6個ブロックから元データを復元可能  レプリケーションの半分のストレージコストで同等の冗長性を実現! Erasure Coding(EC)とは 43 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b3 b4 b6 b7 b8b2 b5 b9 Replication Erasure Coding (6, 3) 損失の許容できるブロック数 2 3 元データに対するストレージコスト 3倍 1.5倍 encode
  • 44. データ量が多いほど顕著な差が出る 44 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 レプリケーション EC 元データ ストレージコスト データ量
  • 45. ECブロックの実装の詳細 45 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 1MB 1MB b1 b2 b3 b4 b5 b6 b7 b8 b9
  • 46. ECブロックの実装の詳細 46 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 b1 b2 b3 b4 b5 b6 b7 b8 b9
  • 47. 開発状況など 47 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  開発自体はだいぶ前に完了 – 新機能の開発はしばらく無し – 細かい改善・バグ修正が行われている  利用できるのはHadoop3系から – ユーザーが増えるのはこれから  解説記事(拙著) – HDFS Erasure Codingの紹介とYahoo! JAPANにおける運用事例 https://techblog.yahoo.co.jp/infrastructure/hdfs_erasure_coding
  • 48. 番外編: Ozone 48 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止  Hadoopのオブジェクトストア  HDFSのアーキテクチャを刷新  マスターのメタデータ肥大化問題を根本的に解決
  • 49. HDFSの新機能のリリースプラン 49 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Router-based Federation Erasure Coding RBF with Security Observer NameNode Ozone trunk ~ 3.2.0 (2019/01) 3.3.0