SlideShare una empresa de Scribd logo
1 de 12
Copyright © 2016 NTT DATA Corporation
Hadoop/Spark Conference Japan 2016
ライトニングトーク
2016年2月8日
株式会社NTTデータ
山下 真一
本当にあったHadoopの恐い話
Blockはどこへきえた?
2Copyright © 2016 NTT DATA Corporation
トラブルはいつも金曜日
夏の暑い日、いつもどおり出社した私に一本の電話が...
ははーん。またサーバが多数故障したの?と質問すると...
なんと!問題は深刻だった。。。
HDFSに保存していたブロックが消えました…
特にサーバは故障していませんし
DataNodeも切り離されていません
3Copyright © 2016 NTT DATA Corporation
何はともあれ、まずはログ
消えたブロックの一覧はNameNodeのWeb画面で確認できる。
この情報からNameNodeのログを調べた。消えたブロックを追いかけて追いかけて。。。
(調査対象 : トラブル発生日から直近1か月分のHDFS関連のログ)
すると分かったことは3点。
1. 事象発生前に、メンテ中だったDataNodeを組み込んだ。組み込んだDataNodeはメ
ンテ前のブロックを保持していた。
2. DataNodeのログには、NameNodeからのブロック削除指示の後、再度ブロックを追
加するようなメッセージが出力されている。特にNameNodeから追加指示は飛んで
いないので、何故?
3. DataNodeでの当該ブロックの削除は、指示を受けた2時間後に完了している、何
故?
矛盾を抱えつつも、ログの出力内容+Hadoopソースコードから事象を組み立てた。
4Copyright © 2016 NTT DATA Corporation
おさらい : HDFSのレプリケーションについて
 HDFSのブロックは、設定されたレプリケーション数を維持する
ように動作する
1. 設定されているレプリケーション数よりも少ない状態の場合
→ レプリケーション数に達するまで作成
2. 設定されているレプリケーション数よりも多い状態の場合
→ レプリケーション数に達するまでレプリカ削除
今回の動作は、2. に関連する動作に着目。
5Copyright © 2016 NTT DATA Corporation
Hadoop内部の動作 - DataNodeのブロックを削除する流れ1
DataNode
deleteBlock
ブロック
管理情報
対象ブロック情報を
ブロック管理情報
から除去
DataNodeが扱っている
ブロック一覧をメモリ上
で記録
remove
ブロック削除
用スレッド
対象ブロックの
実データ削除指示
Block
×
削除
非同期で削除
6Copyright © 2016 NTT DATA Corporation
Hadoop内部の動作 - DataNodeの定期的なタスク
DataNode
deleteBlock
ブロック
管理情報
remove remove
ブロック削除
用スレッド
対象ブロックの
実データ削除指示
Block
×
削除
削除に時間が掛かる
(処理・IOネックなどが原因)
実データ
チェックスレッド
check
再登録再登録
定期的に実行
(別名: DirectoryScanner)
消したはずのブ
ロック情報が再
び管理される
7Copyright © 2016 NTT DATA Corporation
Hadoop内部の動作 - DataNodeの定期的なタスク
DataNode
ブロック
管理情報
remove remove
ブロック削除
用スレッド
対象ブロックの
実データ削除指示
Block
×
削除
Directory
Scanner
check
再登録再登録
ブロック情報
報告スレッド
定期的に実行
(別名: BlockReport)
管理情報
チェック
ブロック情報を
NameNodeに送信
消したはずのブ
ロック情報が
NameNodeに
送信される
8Copyright © 2016 NTT DATA Corporation
誤ったブロック情報がHadoopクラスタ全体に伝播する
NameNodeイベント
(ブロック管理情報)
DataNode1 DataNode2 DataNode3 DataNode4
実体
管理
情報
実体
管理
情報
実体
管理
情報
実体
管理
情報
1
超過レプリカにより
DataNode4に削除指示
○ ○ ○ ○ ○ ○ ○ ○
2
DN4で問題発生、再度超過レ
プリカ、DN2に削除指示 ○ ○ ○ ○ ○ ○ × ○
3
DN2で問題発生、3度超過レ
プリカ、DN1に削除指示 ○ ○ × ○ ○ ○ × ○
4
DN1で問題発生、4度超過レ
プリカ、DN3に削除指示 × ○ × ○ ○ ○ × ○
5
DN3で問題発生、5度超過レ
プリカ、DN4に削除指示 × ○ × ○ × ○ × ○
6 DN4 BlockReport × ○ × ○ × ○ × ×
7 DN1 BlockReport × ○ × × × ○ × ×
8 DN3 BlockReport × × × × × ○ × ×
9 DN2 BlockReport × × × × × × × ×
10 MissingBlock状態 × × × × × × × ×
9Copyright © 2016 NTT DATA Corporation
Hadoopの非同期処理の不十分な実装が引き起こした問題…
レプリカが全消失
↓
高負荷状態(CPU・ディスク)が
長時間続いていたため発生しやすかった
(ブロック削除に2時間掛かった点はまさにこれ)
(※ この事象起因でレプリカ全消失までいかなくても、一時的にレプリカ
数が不足したブロックもある)
10Copyright © 2016 NTT DATA Corporation
安心してください
はいってますよ!
ではこの問題は未だに発生するのか?
HDFS-6833
Apache Hadoop
2.7.1~
HDP
2.3~
CDH
5.5~
※ベースは2.6系だがBackport済
※ Hadoop1系(例: CDH3など)では発生しません。
11Copyright © 2016 NTT DATA Corporation
まとめ
 Hadoop = サーバのリソースを使い倒すことが前提の構成
• でも、高負荷状態は、いろいろな問題を引き起こしやすい
• でも、大量データを扱うと、いろいろな問題を引き起こしやすい
 問題は発生することを前提とした、運用スタイルを整えること
• HDFS上データが欠損しても再生成できる仕組み(、または割り切ること)
• ログ精査、リソース情報の取得
 あまり、サーバをいじめないでくださいね。
• サーバスペックに応じた、やさしい設定・リソース割り当て
• 無邪気なアプリケーションは、まずは手元の環境&少量データで確認してね!
 バージョン選定は大切
• 問題の改修は、新しいバージョン優先
• 根が深い問題は中々改修されづらい&バックポートされにくい
Copyright © 2011 NTT DATA Corporation
Copyright © 2016 NTT DATA Corporation

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
Apache Sparkを使った感情極性分析
Apache Sparkを使った感情極性分析Apache Sparkを使った感情極性分析
Apache Sparkを使った感情極性分析
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
 
Hadoop2.6の最新機能+
Hadoop2.6の最新機能+Hadoop2.6の最新機能+
Hadoop2.6の最新機能+
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
ビッグデータ関連Oss動向調査とニーズ分析
ビッグデータ関連Oss動向調査とニーズ分析ビッグデータ関連Oss動向調査とニーズ分析
ビッグデータ関連Oss動向調査とニーズ分析
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォームApache cassandraと apache sparkで作るデータ解析プラットフォーム
Apache cassandraと apache sparkで作るデータ解析プラットフォーム
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
ストリームデータ分散処理基盤Storm
ストリームデータ分散処理基盤Stormストリームデータ分散処理基盤Storm
ストリームデータ分散処理基盤Storm
 
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
SparkとJupyterNotebookを使った分析処理 [Html5 conference]SparkとJupyterNotebookを使った分析処理 [Html5 conference]
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
 

Destacado

Destacado (20)

Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016
いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016
いろいろなストリーム処理プロダクトをベンチマークしてみた #hcj2016
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めHadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
 
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
Apache Sparkを用いたスケーラブルな時系列データの異常検知モデル学習ソフトウェアの開発
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
やっとでた! OpenStack Manila
やっとでた! OpenStack Manilaやっとでた! OpenStack Manila
やっとでた! OpenStack Manila
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
 
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
 
About OpenStack DBaas (trove)
About OpenStack DBaas (trove)About OpenStack DBaas (trove)
About OpenStack DBaas (trove)
 
Incorporating the Data Lake into Your Analytic Architecture
Incorporating the Data Lake into Your Analytic ArchitectureIncorporating the Data Lake into Your Analytic Architecture
Incorporating the Data Lake into Your Analytic Architecture
 
Maintainable cloud architecture_of_hadoop
Maintainable cloud architecture_of_hadoopMaintainable cloud architecture_of_hadoop
Maintainable cloud architecture_of_hadoop
 

Similar a 本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトーク発表資料)

Similar a 本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトーク発表資料) (8)

ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
Rancher で Docker 利用!
Rancher で Docker 利用!Rancher で Docker 利用!
Rancher で Docker 利用!
 
Splunk 壊してマジあせった. Otto! I have crashed my splunk!
Splunk 壊してマジあせった. Otto! I have crashed my splunk!Splunk 壊してマジあせった. Otto! I have crashed my splunk!
Splunk 壊してマジあせった. Otto! I have crashed my splunk!
 
Opa - Cloud Language
Opa - Cloud LanguageOpa - Cloud Language
Opa - Cloud Language
 
4th tokushimaapp
4th tokushimaapp4th tokushimaapp
4th tokushimaapp
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 

Más de NTT DATA OSS Professional Services

Más de NTT DATA OSS Professional Services (13)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 

Último

Último (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

本当にあったHadoopの恐い話 Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトーク発表資料)

  • 1. Copyright © 2016 NTT DATA Corporation Hadoop/Spark Conference Japan 2016 ライトニングトーク 2016年2月8日 株式会社NTTデータ 山下 真一 本当にあったHadoopの恐い話 Blockはどこへきえた?
  • 2. 2Copyright © 2016 NTT DATA Corporation トラブルはいつも金曜日 夏の暑い日、いつもどおり出社した私に一本の電話が... ははーん。またサーバが多数故障したの?と質問すると... なんと!問題は深刻だった。。。 HDFSに保存していたブロックが消えました… 特にサーバは故障していませんし DataNodeも切り離されていません
  • 3. 3Copyright © 2016 NTT DATA Corporation 何はともあれ、まずはログ 消えたブロックの一覧はNameNodeのWeb画面で確認できる。 この情報からNameNodeのログを調べた。消えたブロックを追いかけて追いかけて。。。 (調査対象 : トラブル発生日から直近1か月分のHDFS関連のログ) すると分かったことは3点。 1. 事象発生前に、メンテ中だったDataNodeを組み込んだ。組み込んだDataNodeはメ ンテ前のブロックを保持していた。 2. DataNodeのログには、NameNodeからのブロック削除指示の後、再度ブロックを追 加するようなメッセージが出力されている。特にNameNodeから追加指示は飛んで いないので、何故? 3. DataNodeでの当該ブロックの削除は、指示を受けた2時間後に完了している、何 故? 矛盾を抱えつつも、ログの出力内容+Hadoopソースコードから事象を組み立てた。
  • 4. 4Copyright © 2016 NTT DATA Corporation おさらい : HDFSのレプリケーションについて  HDFSのブロックは、設定されたレプリケーション数を維持する ように動作する 1. 設定されているレプリケーション数よりも少ない状態の場合 → レプリケーション数に達するまで作成 2. 設定されているレプリケーション数よりも多い状態の場合 → レプリケーション数に達するまでレプリカ削除 今回の動作は、2. に関連する動作に着目。
  • 5. 5Copyright © 2016 NTT DATA Corporation Hadoop内部の動作 - DataNodeのブロックを削除する流れ1 DataNode deleteBlock ブロック 管理情報 対象ブロック情報を ブロック管理情報 から除去 DataNodeが扱っている ブロック一覧をメモリ上 で記録 remove ブロック削除 用スレッド 対象ブロックの 実データ削除指示 Block × 削除 非同期で削除
  • 6. 6Copyright © 2016 NTT DATA Corporation Hadoop内部の動作 - DataNodeの定期的なタスク DataNode deleteBlock ブロック 管理情報 remove remove ブロック削除 用スレッド 対象ブロックの 実データ削除指示 Block × 削除 削除に時間が掛かる (処理・IOネックなどが原因) 実データ チェックスレッド check 再登録再登録 定期的に実行 (別名: DirectoryScanner) 消したはずのブ ロック情報が再 び管理される
  • 7. 7Copyright © 2016 NTT DATA Corporation Hadoop内部の動作 - DataNodeの定期的なタスク DataNode ブロック 管理情報 remove remove ブロック削除 用スレッド 対象ブロックの 実データ削除指示 Block × 削除 Directory Scanner check 再登録再登録 ブロック情報 報告スレッド 定期的に実行 (別名: BlockReport) 管理情報 チェック ブロック情報を NameNodeに送信 消したはずのブ ロック情報が NameNodeに 送信される
  • 8. 8Copyright © 2016 NTT DATA Corporation 誤ったブロック情報がHadoopクラスタ全体に伝播する NameNodeイベント (ブロック管理情報) DataNode1 DataNode2 DataNode3 DataNode4 実体 管理 情報 実体 管理 情報 実体 管理 情報 実体 管理 情報 1 超過レプリカにより DataNode4に削除指示 ○ ○ ○ ○ ○ ○ ○ ○ 2 DN4で問題発生、再度超過レ プリカ、DN2に削除指示 ○ ○ ○ ○ ○ ○ × ○ 3 DN2で問題発生、3度超過レ プリカ、DN1に削除指示 ○ ○ × ○ ○ ○ × ○ 4 DN1で問題発生、4度超過レ プリカ、DN3に削除指示 × ○ × ○ ○ ○ × ○ 5 DN3で問題発生、5度超過レ プリカ、DN4に削除指示 × ○ × ○ × ○ × ○ 6 DN4 BlockReport × ○ × ○ × ○ × × 7 DN1 BlockReport × ○ × × × ○ × × 8 DN3 BlockReport × × × × × ○ × × 9 DN2 BlockReport × × × × × × × × 10 MissingBlock状態 × × × × × × × ×
  • 9. 9Copyright © 2016 NTT DATA Corporation Hadoopの非同期処理の不十分な実装が引き起こした問題… レプリカが全消失 ↓ 高負荷状態(CPU・ディスク)が 長時間続いていたため発生しやすかった (ブロック削除に2時間掛かった点はまさにこれ) (※ この事象起因でレプリカ全消失までいかなくても、一時的にレプリカ 数が不足したブロックもある)
  • 10. 10Copyright © 2016 NTT DATA Corporation 安心してください はいってますよ! ではこの問題は未だに発生するのか? HDFS-6833 Apache Hadoop 2.7.1~ HDP 2.3~ CDH 5.5~ ※ベースは2.6系だがBackport済 ※ Hadoop1系(例: CDH3など)では発生しません。
  • 11. 11Copyright © 2016 NTT DATA Corporation まとめ  Hadoop = サーバのリソースを使い倒すことが前提の構成 • でも、高負荷状態は、いろいろな問題を引き起こしやすい • でも、大量データを扱うと、いろいろな問題を引き起こしやすい  問題は発生することを前提とした、運用スタイルを整えること • HDFS上データが欠損しても再生成できる仕組み(、または割り切ること) • ログ精査、リソース情報の取得  あまり、サーバをいじめないでくださいね。 • サーバスペックに応じた、やさしい設定・リソース割り当て • 無邪気なアプリケーションは、まずは手元の環境&少量データで確認してね!  バージョン選定は大切 • 問題の改修は、新しいバージョン優先 • 根が深い問題は中々改修されづらい&バックポートされにくい
  • 12. Copyright © 2011 NTT DATA Corporation Copyright © 2016 NTT DATA Corporation