Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 2017年1月30日 1 ヤフー株式会社 システム統括本部 サイトオペレーション本部 インフラ技術3部 DCNW1 深澤 開 Network for the Large-scale Hadoop Cluster at Yahoo! JAPAN
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
2017年1月30日
1
ヤフー株式会社 システム統括本部 サイトオペレーション本部
インフラ技術3部 DCNW1 深澤 開
Network for the Large-scale
Hadoop Cluster at Yahoo! JAPAN
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
自己紹介
2
名前
深澤 開 (ふかざわ かい) 所属
データ&サイエンスソリューション統括本部データプラットフォーム本部 開発2部
システム統括本部サイトオペレーション本部 インフラ技術3部 (兼務)
業務
全社Hadoopの設計・構築・運用
データセンター内ネットワークの設計・構築・運用 マイブーム
ジム通い / ランニング
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
アジェンダ
3
Hadoop概要HadoopとNetwork
Yahoo! JAPANのHadoop Network変遷今までのNetworkの障害・問題と解決
今までのNetworkの障害・問題 新クラスタでのNetwork要件
Yahoo! JAPANのIP CLOS Network 構成 Hadoopによるパフォーマンステスト 新たな問題
Future Plan
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop概要
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop 概要
5
オープンソースの大規模な分散処理ミドルウェア
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop 概要
6
オープンソースの大規模な分散処理ミドルウェア
1. HDFS (Hadoop Distributed File System)
2. YARN (Yet-Another-Resource-Negotiator)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop 概要
7
HDFS Hadoop の分散ファイルシステム ファイルをブロック単位に分割して保存 レプリケーションを作成して保存
デフォルトで3レプリケーション デーモン
Master : NameNode
Slave : DataNode
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop 概要
8
HDFS HDFS上のメタデータの管理 DataNodeの状態管理
ブロックデータの保存
“HDFS Architecture“. Apache Hadoop.
http://hadoop.apache.org/docs/current/hadoop-project-
dist/hadoop-hdfs/HdfsDesign.html. (01/17/2017).
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop 概要
9
YARN ジョブスケジューリングおよびクラスタリソース管理のためのフレームワーク
様々な分散処理が実行可能 MapReduce / Tez / Spark
デーモン Master : ResourceManager
Slave : NodeManager
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoop 概要
10
YARN NodeManagar の状態管理アプリケーションの状況把握
処理ノードのリソース管理
アプリケーションの管理
アプリケーションの実行“Apache Hadoop YARN“. Apache Hadoop.
http://hadoop.apache.org/docs/current/hadoop-
yarn/hadoop-yarn-site/YARN.html. (01/17/2017).
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
HDFS
DataNode A NameNode
DataNode A,B,C
DataNode BDataNode C
Block
File
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
HDFS
DataNode A
NameNode
DataNode BDataNode CDataNode D
HeartBeat
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
HDFS
DataNode A
NameNode
DataNode BDataNode CDataNode D
HeartBeat
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
HDFS
DataNodeA
NameNode
DataNodeBDataNodeCDataNodeD
HeartBeat
障害を起こしたノードが持っていたデータ量の分だけトラフィックが発生する(1ノードあたり30TB)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
16
HDFS
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
17
HDFS
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
18
HDFS
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
19
HDFS 1ラック分(30TB*20ノード)のデータの内層トラフィックが発生する
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
20
YARN (リソースに余裕がある場合)
Map
Map
Map
Map
Reduce
Reduce
Shuffle
基本的にデータがあるノードで処理
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
21
YARN (リソースに余裕がある場合)
Map
Map
Map
Map
Reduce
Reduce
Shuffle
基本的にデータがあるノードで処理
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
22
YARN (リソースに余裕がある場合)
Map
Map
Map
Map
Reduce
Reduce
Shuffle
基本的にデータがあるノードで処理
Suffle フェーズでノード間の通信が発生する
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
Map
Map
Map
Reduce
Reduce
Map
YARN (リソースに空きがない場合)
Shuffle
データのないノードで処理が実行されるためデータ転送が発生する
23
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
Map
Map
Map
Reduce
Reduce
Map
YARN (リソースに空きがない場合)
Shuffle
データのないノードで処理が実行されるためデータ転送が発生する
24
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
Map
Map
Map
Reduce
Reduce
Map
YARN (リソースに空きがない場合)
Shuffle
データのないノードで処理が実行されるためデータ転送が発生する
Shuffle フェーズだけでなくMapの段階でもノード間の通信が発生する
25
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
26
High
Low
Hadoop ではデータのレプリケーションや再配置、集計処理の中でデータの転送が多く行われる
North/South (縦方向)ではなくEast/West (横方向) の通信がメイン
大規模なHadoopになるとより多くのラック間通信が発生する
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
HadoopとNetwork
27
“Introduction to Facebook‘s data center fabric”. (11/14/2014). Retrieved
https://www.youtube.com/watch?v=mLEawo6OzFM. (01/17/2017).
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.28
Oversubscription
求められる帯域と実際に利用できる帯域の比率
Oversubscription
40 : 10 = 4 : 1
“Hadoop オペレーション Eric Sammer 著、玉川竜司 訳 (O’Reilly). Copyright 2013 Eric Sammer, 978-4873116525.”
HadoopとNetwork
10Gbps
1Gbps NIC 40Nodes
= 40Gbps
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Yahoo! JAPANの
Hadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.30
0
10
20
30
40
50
60
70
80
Cluster1(Jun. 2011)
Cluster2(Jan. 2013)
Cluster3(Apr. 2014)
Cluster4(Dec. 2015)
Cluster5(Jun. 2016)
PB
Cluster Volume
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.31
20Gbps
Cluster1
Stack 構成Nodes/Rack 90Nodes
Server NIC 1Gbps
UpLink 20Gbps
Oversubscription 4.5 : 1
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.32
20Gbps
Cluster1
Stack 構成Nodes/Rack 90Nodes
Server NIC 1Gbps
UpLink 20Gbps
Oversubscription 4.5 : 1
Yahoo! JAPANのHadoop Network変遷
4スイッチ/Stack
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.33
20Gbps
Cluster1
Stack 構成Nodes/Rack 90Nodes
Server NIC 1Gbps
UpLink 20Gbps
Oversubscription 4.5 : 1
Stack構成を組めるスイッチ数の限界
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.34
…
Cluster2
Spanning Tree Protocol
Nodes/Rack 40Nodes
Server NIC 1Gbps
UpLink 10Gbps
Oversubscription 4 : 110Gbps
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.35
…
Cluster2
Spanning Tree Protocol
Nodes/Rack 40Nodes
Server NIC 1Gbps
UpLink 10Gbps
Oversubscription 4 : 1Blocking
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.36
L2 Fabric/Channel
Nodes/Rack 40Nodes
Server NIC 1Gbps
UpLink 20Gbps
Oversubscription 2 : 1
L2 Fabric
…
Cluster3
20Gbps 20Gbps
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.37
L2 Fabric/Channel
Nodes/Rack 16Nodes
Server NIC 10Gbps
UpLink 80Gbps
Oversubscription 2 : 1
L2 Fabric
…
80Gbps 80Gbps
Cluster4
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.38
Release Volume #Nodes/Switch NIC Oversubscription
Jun. 2011 3PByte 90 1Gbps 4.5:1
Jan. 2013 20PByte 40 1Gbps 4:1
Apr. 2014 38PByte 40 1Gbps 2:1
Dec. 2015 58PByte 16 10Gbps 2:1
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
今までのNetworkの
障害・問題と解決
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
今までのNetworkの障害・問題
40
Stack構成でのスイッチ障害BUM Trafficによるスイッチへの負荷スケールアウトの限界サービスアウト処理の制限
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.41
Stackを組んでいるスイッチのうち1台に障害が発生
一緒にStackを組んでいる他のスイッチにも影響
5ラック分(90台)のノードが通信不能となる
計算リソースが不足し、処理停止に繋がる
Stack構成でのスイッチ障害
今までのNetworkの障害・問題
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.42
L2 Fabric
… …
4400Nodes
今までのNetworkの障害・問題
サーバからのARPによるトラフィックが原因でコアスイッチのCPUが高騰
サーバ側のARPエントリの保持時間を調整
ネットワークアドレスが大きいことで発生した問題
BUM Trafficによるスイッチへの負荷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.43
Stack
最大で10台程度 L2 Fabric
シャーシの数に依存
スケールアウトの限界
今までのNetworkの障害・問題
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.44
今までのNetworkの障害・問題サービスアウト処理の制限
UpLinkの帯域によるDataNodeのサービスアウト処理の制限
ジョブに影響を与えない台数でのサービスアウト作業を実施
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
新クラスタのNetworkの要件
45
要件 (2015年春頃)
120〜200ラック10000台規模までスケールアウト可能1ラックあたりのアップリンク 100~200Gbps
サーバのNICは10Gbps
1ラック20台弱場所はUS DC
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.46
これらの問題を解決するために
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.47
これらの問題を解決するために
IP CLOS Network を採用しました
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
IP CLOS Network の採用
48
Google, Facebook, Amazon, Yahoo…
OTT(Over The Top)が採用しているDCネットワーク構成
“Introducing data center fabric, the next-generation Facebook data center network”. Facebook
Code. https://code.facebook.com/posts/360346274145943/introducing-data-center-fabric-the-
next-generation-facebook-data-center-network/. (10/06/2016).
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.49
East-West Traffic 増大に対応スケーラビリティの向上ボックススイッチのみであればいくらでもスケール可能
可用性の向上Spineやアップリンクなど落ちても問題ない構成に
運用コストの低減OSPF,BGPなど一般的な構成なので、
どんな会社のものでもOK
IP CLOS Network の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Yahoo! JAPAN の
IP CLOS Network
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.51
・・・
・・
・・・
・・
・・・
・・
・・・
・・
・・ ・・ ・・ ・・・・・
Spine
Leaf
ToR
構成ボックススイッチ構成
いくらでもスケールアウト可能 スイッチの数が増大する
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.52
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
構成
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
構成
53
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
・・・
・・Spine
Leaf
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
なぜこうような構成にしたのか? 管理するものを減らす IPアドレス、ケーブル、インターフェース、BGP Neighbor…..
別の物理的制約 フロアが1フロア限定 シャーシ型の構成でも今回の要件は満たせる
シャーシ型のコストの変化 以前よりもポート単価が安くなった
構成
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
ECMP
Spine-Leaf間はBGP
55
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
BGP
構成
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.56
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
/31
/26 /27
構成Spine-Leaf 間は /31
Leaf 配下は /26, /27
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.57
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
/31
/26 /27
構成
BUM Traffic の問題を解消
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.58
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
160Gbps①
②③④
構成Leaf Uplink 40Gbps x 4 = 160Gbps
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.59
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
Leaf Uplink 40Gbps x 4 = 160Gbps
①②③④
構成
10Gbps NIC
20Nodes
160Gbps
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.60
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
Leaf Uplink 40Gbps x 4 = 160Gbps
160G
①②③④
構成
200 : 160 = 1.25 : 1
10Gbps NIC
20Nodes
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.61
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
Leaf Uplink 40Gbps x 4 = 160Gbps
160G
①②③④
構成
200 : 160 = 1.25 : 1
10Gbps NIC
20Nodes
サービスアウト処理の制限の解消
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.62
・・・・・
Internet
Spine
Core
Router
Layer3
Layer2・・・・・Leaf
Leaf Uplink 40Gbps x 4 = 160Gbps
160G
①②③④
構成
200 : 160 = 1.25 : 1
10Gbps NIC
20Nodes
UpLink の冗長化により耐障害性が向上
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
構成
63
Stack構成でのスイッチ障害BUM Trafficによるスイッチへの負荷スケールアウトの限界サービスアウト処理の制限
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
構成
64
Stack構成でのスイッチ障害BUM Trafficによるスイッチへの負荷スケールアウトの限界サービスアウト処理の制限
✔✔✔
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.65
Release Volume #Nodes/Switch NIC Oversubscription
Cluster1 3PByte 90 1Gbps 4.5:1
Cluster2 20PByte 40 1Gbps 4:1
Cluster3 38PByte 40 1Gbps 2:1
Cluster4 58PByte 16 10Gbps 2:1
Cluster5 75PByte 20 10Gbps 1.25:1
Yahoo! JAPANのHadoop Network変遷
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Hadoopによるパフォーマンステスト(5TB Terasort)
66
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.67
Hadoopによるパフォーマンステスト(40TB DistCp)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.68
Hadoopによるパフォーマンステスト(40TB DistCp)
16Nodes/Rack
8Gbps/Node
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.69
Hadoopによるパフォーマンステスト(40TB DistCp)
16Nodes/Rack
8Gbps/Node
30Gbps x 4 = 120Gbps
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.70
Hadoopによるパフォーマンステスト(40TB DistCp)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.71
Hadoopによるパフォーマンステスト(40TB DistCp)
A社 B社
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.72
Hadoopによるパフォーマンステスト(40TB DistCp)
A社 B社メーカーによるパフォーマンス差
はほとんどない
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
新たな問題
73
データ転送遅延 アップリンク4本のうち1本でエラーパケットが発生 この影響でデータ転送が遅延
Slow
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.74
“org.apache.hadoop.hdfs.server.datanode.DataNode: Slow BlockReceiver write packet to mirror”
Slow
新たな問題 データ転送遅延 アップリンク4本のうち1本でエラーパケットが発生 この影響でデータ転送が遅延
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.75
“org.apache.hadoop.hdfs.server.datanode.DataNode: Slow BlockReceiver write packet to mirror”
Slow
新たな問題 データ転送遅延 アップリンク4本のうち1本でエラーパケットが発生 この影響でデータ転送が遅延
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.76
ラックを移動するとIPが変わる ラックごとにネットワークアドレスがついてる アクセスコントロールをIPアドレスでやっている 移設ごとにACLを変更しないといけない
192.168.0.0/26 192.168.0.64/26
192.168.0.10 192.168.0.100
新たな問題
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
78
データ転送に影響に対する対策
Error!
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
79
Error!
Auto Shutdown
データ転送に影響に対する対策
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
80
Erasure Coding の採用
striping64kB
Orig
inal ra
w d
ata
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
81
D6
striping64kB
Orig
inal ra
w d
ata
Raw data
D5D4D3D2D1
Erasure Coding の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
82
D6
striping64kB
Orig
inal ra
w d
ata
Parity
Raw data
D5D4D3D2D1
P3P2P1
Erasure Coding の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
83
D6
striping64kB
Orig
inal ra
w d
ata
Parity
Raw data
D5D4D3D2D1
P3P2P1
D6D5
D4D3
D2D1 P1
P2P3
Erasure Coding の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
84
D6
striping64kB
Orig
inal ra
w d
ata
Parity
Raw data
D5D4D3D2D1
P3P2P1
D6D5
D4D3
D2D1 P1
P2P3
Read
Erasure Coding の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
85
D6
striping64kB
Orig
inal ra
w d
ata
Parity
Raw data
D5D4D3D2D1
P3P2P1
D6D5
D4D3
D2D1 P1
P2P3
Read
Erasure Coding の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
86
D6
striping64kB
Orig
inal ra
w d
ata
Parity
Raw data
D5D4D3D2D1
P3P2P1
D6D5
D4D3
D2D1 P1
P2P3
Low Data Locality
Erasure Coding の採用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
87
・・・・・・・・・・・・
様々なプラットフォームとの相互接続
… …
BOTTLENECK
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Future Plan
88
・・・・・・・・・・・・・・
コンピューティングとストレージの分離
: Storage Machine
: Computing Machine
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
ご清聴ありがとうございました
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Appendix
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Appendix
91
• JANOG38
• http://www.janog.gr.jp/meeting/janog38/program/clos
• Hadoop Summit Tokyo 2016
• http://www.slideshare.net/HadoopSummit/network-for-the-
largescale-hadoop-cluster-at-yahoo-japan