Your SlideShare is downloading. ×
0
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Hadoop_startup
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Hadoop_startup

689

Published on

内定者勉強会資料

内定者勉強会資料

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
689
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. >voyage14.start_up(Hadoop)@yu_keMonday, May 6, 13
  • 2. 1. Introduction2. What is that?3. extraContentsMonday, May 6, 13
  • 3. IntroductionMonday, May 6, 13
  • 4. 第一話 荒ぶるデータ今日、一日に ⃝⃝⃝ バイトのデータが日々生成されているMonday, May 6, 13
  • 5. 第一話 荒ぶるデータ今日、一日に2.5EBバイトのデータが日々生成されている※ EB= 10^18=百京バイトhttp://www-06.ibm.com/software/jp/data/bigdata/Monday, May 6, 13
  • 6. 第一話 荒ぶるデータ今日、一日に2.5EBバイトのデータが日々生成されている※ EB= 10^18=百京バイトhttp://www-06.ibm.com/software/jp/data/bigdata/既存データの90%がこの2年間に生成されたものMonday, May 6, 13
  • 7. 第一話 荒ぶるデータ今日、一日に2.5EBバイトのデータが日々生成されている※ EB= 10^18=百京バイトhttp://www-06.ibm.com/software/jp/data/bigdata/既存データの90%がこの2年間に生成されたもの「全世界の情報量は、年間で59%増加している」 by ガートナーMonday, May 6, 13
  • 8. データの生成源•ICタグなどのセンサー•ソーシャル・メディアの投稿•インターネット上に保存されたデジタル写真•ビデオ•オンライン購入の処理レコード•携帯電話のGPS信号•etc..Monday, May 6, 13
  • 9. ムーアの法則•Intelの共同創設者、ゴードン・ムーア提唱(1965)•『半導体チップの集積度は、およそ18ヶ月で2倍になる』→  計算機の性能は12ヶ月で2倍強になる→  計算機の高性能化と低コスト化Monday, May 6, 13
  • 10. ムーアの法則•Intelの共同創設者、ゴードン・ムーア提唱(1965)•『半導体チップの集積度は、およそ18ヶ月で2倍になる』→  計算機の性能は12ヶ月で2倍強になる→  計算機の高性能化と低コスト化CPU処理性能の著しい成長Monday, May 6, 13
  • 11. ムーアの法則•Intelの共同創設者、ゴードン・ムーア提唱(1965)•『半導体チップの集積度は、およそ18ヶ月で2倍になる』→  計算機の性能は12ヶ月で2倍強になる→  計算機の高性能化と低コスト化しかし、CMOS技術の成長もそろそろ頭打ち2012年時点のALUのプロセスルールは22nmCPU処理性能の著しい成長Monday, May 6, 13
  • 12. ムーアの法則•Intelの共同創設者、ゴードン・ムーア提唱(1965)•『半導体チップの集積度は、およそ18ヶ月で2倍になる』→  計算機の性能は12ヶ月で2倍強になる→  計算機の高性能化と低コスト化 また、CPUの成長と比べるとディスクIOは伸び悩みボトルネックCPU処理性能の著しい成長しかし、CMOS技術の成長もそろそろ頭打ち2012年時点のALUのプロセスルールは22nmMonday, May 6, 13
  • 13. 処理性能とコスト0204060801005(AMD Athlon Ⅱ X2 240e)10(AMD Phenom Ⅱ X3 705e)20(Intel Core i5 661)40(Intel Core i7 860)80(Intel Core i7 3960X)CPU性能/価格性能価格 http://cpu.pc-users.net/benchmark/cpu_all_2012_1.html???Monday, May 6, 13
  • 14. 処理性能とコスト0204060801005(AMD Athlon Ⅱ X2 240e)10(AMD Phenom Ⅱ X3 705e)20(Intel Core i5 661)40(Intel Core i7 860)80(Intel Core i7 3960X)CPU性能/価格性能価格 http://cpu.pc-users.net/benchmark/cpu_all_2012_1.html???Monday, May 6, 13
  • 15. 処理性能とコスト0204060801005(AMD Athlon Ⅱ X2 240e)10(AMD Phenom Ⅱ X3 705e)20(Intel Core i5 661)40(Intel Core i7 860)80(Intel Core i7 3960X)CPU性能/価格性能価格 http://cpu.pc-users.net/benchmark/cpu_all_2012_1.html???10倍のコスト 10倍のCPU性能Monday, May 6, 13
  • 16. どうしたらペタバイト級のデータを現実的な時間内に処理できるのか?Monday, May 6, 13
  • 17. 一台の計算機のクロック速度、プロセッサ構造の改良、以外の性能向上のためのアプローチMonday, May 6, 13
  • 18. そこでスケールアウト                  ・・・・・・・Monday, May 6, 13
  • 19. Monday, May 6, 13
  • 20. スケールアウトサーバの数を増やすことで、サーバ群全体のパフォーマンスを向上させること - IT用語Monday, May 6, 13
  • 21. 並行?並列?分散?並行(concurrent)並列(parallel)分散(distributed)Monday, May 6, 13
  • 22. 並行?並列?分散?並行(concurrent)- 単一のプロセス内で協調する複数のタスクを実行並列(parallel)- 複数の計算機を用いて複数プロセスを協調的に同時実行分散(distributed)- ネットワークで相互に接続された複数の計算機で並列処理- 地理的に離れている特徴Monday, May 6, 13
  • 23. 分散システムとは”分散システムは、そのユーザにたいして首尾一貫したシステムとして見える独立したコンピュータの集合”- 分散システム~原理とパラダイムMonday, May 6, 13
  • 24. 分散システムの特徴と課題独立した複数の計算機の集まり内部動作の透過性- ユーザからはひとつの一貫したシステムに見えるスケーラビリティ- 計算機の台数を増やすことで、処理性能の向上が図れる耐故障性- 計算機の故障に対処する。処理の継続が可能Monday, May 6, 13
  • 25. 分散透過性•『透過(transparent)』- プロセスやリソースが複数のコンピュータにまたがって、物理的に分散されている事実を隠 すること透過性 説明アクセス データ表現における相違並びにリソースがどのようにアクセスされているかを隠 する位置 リソースがどこに位置するのかを隠 する移動 リソースが他の位置に移動してよいことを隠 する再配置 リソースが使用中に、他の位置に移動するかもしれないことを隠 する複製 リソースが複製されていることを隠 する並行 リソースがいくつかの競合ユーザに共有されていることを隠 する障害 リソースの障害と回復を隠 するMonday, May 6, 13
  • 26. Monday, May 6, 13
  • 27. 分散システムの実装の際の課題メッセージ通信スケーラビリティ透過性耐故障性Monday, May 6, 13
  • 28. 分散システムの実装の際の課題メッセージ通信スケーラビリティ透過性耐故障性Monday, May 6, 13
  • 29. メッセージ通信の実装例)データ送信int MPI_Send(*message, count ,datatype, dest, tag, comm)>> 送信相手dest(ランク)へ向けてメッセージmessage(送信バッファのアドレス)を送る- count=送信バッファの要素数- tag=メッセージタグ- comm=コミュニケータ例)ブロードキャストint MPI_Bcast(*message, count, datatype, root, comm)>> ランクrootのプロセスから全プロセスへメッセージmessageを送るMPI(Message Passing Interface)- メモリ分散型の並列計算をサポートするライブラリMonday, May 6, 13
  • 30. メッセージ通信の実装(続•様々な実装要件- プロセス起動- プロセス監視- プロセス間通信- 耐故障性- 計算機ごとの性能の差の隠- ネットワークの非決定性に対処- etc..Monday, May 6, 13
  • 31. メッセージ通信の実装(続計算機間の通信を意識したプログラムを書こうとすると。。。•様々な実装要件プロセス起動プロセス監視プロセス間通信計算機ごとの性能の差の隠耐故障性ネットワーク上の通信の非決定性の隠etc..Monday, May 6, 13
  • 32. メッセージ通信の実装(続計算機間の通信を意識したプログラムを書こうとすると。。。•様々な実装要件プロセス起動プロセス監視プロセス間通信計算機ごとの、ネットワークなどの環境ごとの性能の差の隠耐故障性ネットワーク上の通信の非決定性の隠etc..分散アルゴリズムや分散システムの理論などの知識が必要Monday, May 6, 13
  • 33. メッセージ通信の実装(続計算機間の通信を意識したプログラムを書こうとすると。。。•様々な実装要件プロセス起動プロセス監視プロセス間通信計算機ごとの、ネットワークなどの環境ごとの性能の差故障時の対応ネットワーク上の通信の非決定性の隠etc..分散アルゴリズムや分散システムの理論などの知識が必要非機能要件の実装におわれておわる^p^;Monday, May 6, 13
  • 34. what’sthat!?Monday, May 6, 13
  • 35. Monday, May 6, 13
  • 36. Monday, May 6, 13
  • 37. Monday, May 6, 13
  • 38. ナンダ!? o(゚Д゚ = ゚Д゚)o ナンダ!?Monday, May 6, 13
  • 39. what’snext!?Monday, May 6, 13
  • 40. Monday, May 6, 13
  • 41. Monday, May 6, 13
  • 42. Monday, May 6, 13
  • 43. Monday, May 6, 13
  • 44. Monday, May 6, 13
  • 45. Monday, May 6, 13
  • 46. HHaaddoooopp!!!!Monday, May 6, 13
  • 47. What s Hadoopビッグデータを扱う為の分散並列処理フレームワーク- Googleの分散処理システムのオープンソースクローンYahoo!のDoug Cutting氏によって開発(2006)- Java実装高いスケールアウト性能コモディティハードウェアで構築可能処理タスク、ファイルのレプリケーションによるフォールトトレラントと高可用性透過性Monday, May 6, 13
  • 48. Hadoop のアーキテクチャ(1.0系)• マスタスレーブ型• Hadoop分散ファイルシステム = NameNode + DataNode- 大規模データを処理するためのプログラミングモデル• Hadoop MapReduce = JobTracker + TaskTracker- 大規模データを扱うために設計された分散ファイルシステムNameNodeJobTrackerReduceMapDataNodeTaskTrackerDataBlocksMasterSlavesReduceMapDataNodeTaskTrackerDataBlocksRPCRPCMonday, May 6, 13
  • 49. Hadoop MapReduce•ロードバランシング•スケーラビリティ•MapReduceというアルゴリズム- MapReduce自体は新しいものではないが、Googleが採用し、こちらの論文 (...) で有名に•シンプルです•スケールアウト可能なプログラムが書きやすかった•大事なのはできる処理とできない処理と、向いている処理と向いていない処理→ 詳細は次回(・ω<)テヘペロ図:Hadoop MapReduce Web UI→Monday, May 6, 13
  • 50. HDFS• 高い入出力処理性能• 耐故障性(複製)• ディスク使用効率化• スケーラビリティ- ブロックサイズ大きい- 適当なレプリケーションポリシー• Unixのファイルシステムライクな操作性• HDFSの再起動時の立ち上げが長い→ 詳細は次回(・ω<)テヘペロMonday, May 6, 13
  • 51. 番外編Monday, May 6, 13
  • 52. 食事をする哲学者•5人の哲学者がいます。•彼らは会話と食事を楽しんでいます。•テーブルには5皿の超大盛りペヤングと5つのフォークがあります。•哲学者がペヤングを食べるには2本のフォークが必要です。•腹が減った人はフォークを手に取りペヤング食べます。•食べたらまた会話に参加します(フォーク戻します)。http://ja.wikipedia.org/wiki/食事する哲学者の問題Monday, May 6, 13
  • 53. 5.2.3分散ハッシュテーブル p.188•分散ハッシュテーブル(DHT)•フィンガーテーブル:FTp[i]  =  succ(p+2^‸(i-­‐1))  •探索の手法-­‐ q  =  FTp[j]  <=  k  <  FTp[j+1]Monday, May 6, 13
  • 54. DHT212018 1411941281 42 43 94 95 18 1 92 93 94 145 201 142 143 184 205 281 112 113 144 185 281 182 183 184 285 11 282 283 284 15 91 212 283 284 285 41 202 203 284 285 41 12 13 14 45 14Monday, May 6, 13
  • 55. 6.  同期Monday, May 6, 13
  • 56. 6.1.1 物理的クロック•ほとんどすべてのコンピュータは時間追跡管理回路(circuit for kepingtrack of time)を持っている。これらの装置を呼ぶのに「クロック(clock)」という用語が広く使用されているにもかかわらず、それらは通常の意味でのクロック(時計)ではない。多分、タイマ(timer)のほうが適切な用語であろう。コンピュータのタイマは通常、精密に機械加工された石英の結晶、すなわち水晶である。圧力(tension)をかけると、水晶は、水晶の種類、切削方法、および圧力の大きさに依存する明確に定義された周波数で発振する。各水晶に2つのレジスタがある、カウンタ(counter)と保持レジスタ(holding register)である。水晶の一回の発振ごとにカウンタを1減じる。カウンタがゼロになると、割り込みが発生し、カウンタは保持レジスタから再設定される。この方法で、1秒間に60回の、あるいは所望の周波数で割り込みを発生するタイマをプログラムすることができる。各割り込みはクロックスティック(clock stick)を呼ばれる。 - 6.1.1物理的クロックhttp://www.amazon.co.jp/分散システム-第二版-アンドリュー・S・タネンバウム/dp/4894714981Monday, May 6, 13
  • 57. 6.2 論理クロック•異なる計算機間でクロックを完全にあわせることは困難- 絶対的な時間における順序ではなく、- 相対的なイベントの発生順序が重要•Lamportの論理クロック•ベクトルクロックMonday, May 6, 13
  • 58. 6.2 論理クロック•異なる計算機間でクロックを完全にあわせることは困難- 絶対的な時間における順序ではなく、- 相対的なイベントの発生順序が重要•Lamportの論理クロック•ベクトルクロックMonday, May 6, 13
  • 59. 6.2.1 Lamportの論理時計•事前発生(happens-before)a  →  b    :事象aは事象b以前に発生する•happens-beforeを用いて、すべてのプロセスが合意する論理時間C(a)を割り当てるa→b  <=>  C(a)  <  C(b)Monday, May 6, 13
  • 60. Lamportの論理時計のアルゴリズム1. イベント(メッセージの送受信、内部イベント)を実行する前に、PiはCi←Ci+1を実行する。2. プロセスPiがPjにメッセージmを送信するとき、先のステップの実行を完了したあとにPiはmのタイムスタンプts(m)をCiに等しくセットする。3. メッセージmを受信すると、プロセスPjは自己のローカルクロックカウンタをCj←mac{Cj, ts(m)}に調整する。その後、第一のステップを実行し、会うリケーションにメッセージを手渡す。m1m2m3m4m1m2m3m4Monday, May 6, 13
  • 61. まとめMonday, May 6, 13
  • 62. まとめ[KEEP]•先の背景より、分散システムに向かう流れは順当•しかし、分散システムの実装には様々な課題が存在する•Hadoopを用いることで大規模な分散システムの構築が比較的容易にでき、ユーザはやりたい処理に集中できる•つまり、Googleすごい•プレゼン者はお酒飲める流れ⃝[PROBLEM]•途中で力尽きた←レベルの違うものを箇条書きにしない。面倒臭がらない•酔った状態でプレゼン作らない←重要•出落ちネタダメ危険[NEXT]•Hadoopの紹介(MapReduce、HDFS、バージョン、エコシステム)•TreasureDataのサービス使ってみる?Monday, May 6, 13
  • 63. Treasure Dataというサービス•TD は MapReduce の実行基盤としての Hadoop、それから SQL 風の言語(HiveQL) で Hadoop 上のデータを操作できる Hive、それらを使って構築されている。•実際には単なる Hadoop + Hive のホスティングではなくデータを受け付ける部分、データを保存するストレージ、マルチテナントのジョブを分配するスケジューラ、あるいは結果を返す各種 API などは TD 社が独自に開発したものでまかない全体を統合し、この「ログをがんがん送りつけておいて好きなときに SQL でMapReduceできる」というユースケースを提供する。http://d.hatena.ne.jp/naoya/20130322/1363946401Monday, May 6, 13
  • 64. www.treasure-data.comMonday, May 6, 13
  • 65. オススメの資料「分散システム 原理とパラダイム 」タネンバウムhttp://www.amazon.co.jp/分散システム-第二版-アンドリュー・S・タネンバウム/dp/4894714981Monday, May 6, 13
  • 66. 参考図書・資料•「Googleを支える技術」西田圭介http://www.amazon.co.jp/exec/obidos/ASIN/4774134325/secodezine-22/•「はじめてのHadoop」 田澤孝之、横井浩、松井一比良http://gihyo.jp/book/2012/978-4-7741-5389-6•阪大の講義資料http://www-higashi.ist.osaka-u.ac.jp/ nakata/mobile-cp/chap-01j.pdf•hexarys: 並列分散処理入門http://www.hexarys.net/oo/pdsi.html•jipdec: 第三章 我が国における研究開発の状況http://www.jipdec.or.jp/archives/icot/FTS/REPORTS/H11-reports/H1203-AITEC-Report3/html/33.htmMonday, May 6, 13
  • 67. Monday, May 6, 13
  • 68. Monday, May 6, 13

×