SlideShare a Scribd company logo
Hadoopコース攻略のヒント
佐々木邦暢 (@ksasakims)
日本マイクロソフト株式会社
2
 Apache Hadoop
 HDInsight 登場
 クラスターの作成と管理
 競技ルールの説明とチューニングのポイント
 結果の提出方法
本日の内容
Tuning maniax 2014 Hadoop編
4
突然ですが
いま、1 TB の Web アクセスログファイルが目の前にあります。
URI 毎にアクセス数を集計しなければなりません。
どうしますか?
grep sort uniq| | > output
5
分散処理の必要性
いずれにせよ、数多くのコンピューターで生成されるデータを、
たった一台で分析するのは無理があります。
一人じゃムリ…
複数のコンピューターによる分散処理が必要です
手分けしよう!
6
そこで Apache Hadoop です
Apache の分散コンピューティングフレームワーク
Google の論文が
契機となって誕生!
多数のサーバーで
分散並列処理
Yahoo や Facebook
で使われている 高スケーラビリティ
7
HDFS
Hadoop の提供するもの
その 1. 分散ファイルシステム “HDFS” (Hadoop Distributed File System)
 複数のコンピューターを束ねて、
一つの仮想的なファイルシステムを提供。
 Hadoop クラスタに属する全ての
ノードが同じ名前空間を共有。
 各ファイルは 64 MB ~ 256 MB 程度の
ブロックに分割されて、複数ノードに分散。
 ブロックサイズが大きいのは、シーケン
シャルアクセスに特化しているため
 各断片は最低 3 ノードに複製され、
ノード障害への耐性を持つ。
 一つのファイルの複数の部分を、複数の
コンピューターで同時に処理することで、
処理を高速化することができる。
断片 1 断片 2 断片 3 断片 4
断片 1 断片 2 断片 3 断片 4
ファイル 1 断片 1 断片 2 断片 3 断片 4
ファイル 4 断片 1 断片 2 断片 3 断片 4
8
Hadoop の提供するもの
その 2. 分散プログラミングモデル “MapReduce”
2013-08-26 23:59:03 W3SVC1 192.168.0.1 GET /…
2013-08-26 23:59:05 W3SVC1 192.168.0.1 GET /…
2013-08-26 23:59:25 W3SVC1 192.168.0.1 GET /…
2013-08-27 00:01:02 W3SVC1 192.168.0.1 GET /…
2013-08-27 00:02:04 W3SVC1 192.168.0.1 GET /…
 名前は一見難しげですが、実際には単純です。
(だからこそスケーラビリティがあります)
 例えば右のような Web のアクセスログがあるとして、
 伝統的なテキスト処理ツールによる集計はこのようなものですが、
$ cat access_log | grep /Login.aspx | sort | uniq –c > output.txt
対象ファイルの全行を頭から舐めて
何らかの処理をする(この場合は検索)
中間結果を集計の
ためにソートする
ソートされたデータを
数え上げて結果を得る
MapReduce はこういった処理をクラスター上で分散並列実行する仕組みです
Map Reduce
9
Hadoop クラスターの構成要素
Hadoop クラスター
MapReduce 層
HDFS 層
ファイルの
登録情報を
一元管理
ジョブ
トラッカー
タスク
トラッカー
タスク
トラッカー
タスク
トラッカー
タスク
トラッカー
Map タスク Map タスクジョブと
タスクの
状態を管理
Map タスク Map タスク Reduce
タスク
タスク
トラッカー
Tuning maniax 2014 Hadoop編
11
Microsoft Azure HDInsight
Hortonworks と協業し、Windows 環境で Hadoop を提供します
 元々 Java で書かれたオープンソースプロジェクトである
Hadoop ですが、 Windows 環境でスムーズに動かすた
めにはいくつか工夫が必要でした。
 マイクロソフトは Hortonworks 社と協業し、 Hadoop
の Windows 環境への移植と最適化を行っています。
 Hortonworks は Yahoo! で Apache Hadoop の
開発に携わっていたチームが独立して設立された企業。
 “Hortonworks Data Platform” (HDP) という
Hadoop ディストリビューションを開発しており、
その Windows 版が HDInsight のコア部分です。
http://hortonworks.com/products/hdp-windows/
12
Microsoft Azure HDInsight Service
すぐに使えるクラウド上の Hadoop です。
 2013年10月正式リリース済み
 利用可能なリージョンは以下の 5 箇所
 東南アジア (AsiaPacific Southeast)
 北ヨーロッパ (Europe North)
 西ヨーロッパ (Europe West)
 米国東部 (US East)
 米国西部 (US West)
 インスタンスサイズ
 ヘッドノード(ネームノード)は XL
 データノードは L サイズ
 OS
 Windows Server 2012 R2
 バージョンは以下の3種から選択可能
 HDInsight-1.6 (Hadoop 1.0.3)
 HDInsight-2.1 (Hadoop 1.2.0)
 HDInsight-3.0 (Hadoop 2.2.0)
13
HDInsight に含まれる Hadoop のコンポーネント
Hcatalog
主要な関連
プロジェクト
14
HDInsight Service システム構成
データ ノードネーム ノード BLOB ストレージ
Microsoft Azure の PaaS 機能と BLOB ストレージを活用します。
 ネームノード、データノードは
どちらも Worker ロールの
インスタンスです。
 多数のノードを素早く
デプロイできます。
 また、Microsoft Azure の
「BLOB ストレージ」を、
デフォルトのファイルシステム
として利用します。
 もちろん HDFS も
利用可能です。
15
なぜ BLOB ストレージ?
HDFS の代わりに BLOB ストレージを使うメリット
 BLOB ストレージは、大容量・低価格・高信頼性と
三拍子そろった Microsoft Azure の主要サービスです。
 Azure 上で稼働する多くのアプリケーションが、
BLOB ストレージにデータを保存しています。
 また、“Azure Diagnostics” 機能で Azure 上の
サーバーから IIS ログ等のログファイルを BLOB
ストレージへ自動転送することも一般的です。
 BLOB をデフォルトのファイルシステムとすることで、
これら BLOB 上のデータを HDFS へ一旦コピーする
ことなく、直接分析することができます。
データはそこにある! クラスターを消してもデータは残る
 Hadoop クラスターの稼働中は、ジョブを実行して
いない時間も CPU コア数に応じた課金が発生します。
 クラスターを削除してしまえば、課金は止まりますが、
HDFS は各ノードのローカルディスクであるため、
内容が失われてしまいます。
 BLOB ストレージは、クラスターとは切り離されて
いますから、クラスターを削除してもデータは残ります。
様々なツールが利用可能
 BLOB ストレージにアクセスする既存のツールで、
Hadoop クラスターとデータのやり取りができます。
 CloudBerry Explorer for Windows Azure や
CloudXplorer, AzCopy 等。
16
NativeAzureFileSystem
どういう仕組みで BLOB を Hadoop のファイルシステムにしているのか
そもそも Hadoop のファイルシステムは可換
 様々なファイルシステムを扱えるように、 Hadoop はファイルシステムの抽象化層を持っています。
 マイクロソフトは NativeAzureFileSystem クラスを作成し、 Azure BLOB をサポートできるようにしました。
種類 URI
スキーム
Java の実装クラス
(org.apache.Hadoop)
説明
Local file fs.LocalFileSystem
ローカル
ファイルシステム
HDFS hdfs hdfs.DistributedFileSystem これがデフォルト
FTP ftp fs.ftp.FTPFileSystem FTP サイト用
S3 s3n fs.s3native.NativeS3FileSystem Amazon S3 用
Azure
BLOB
wasb fs.azurenative.NativeAzureFileSystem Azure BLOB 用
主なファイルシステム
17
BLOBストレージの登録と利用
wasb://コンテナ名@アカウント名.blob.core.windows.net/パス名
core-site.xml で、 BLOB ストレージがデフォルトファイルシステムに設定されています。
Tuning maniax 2014 Hadoop編
19
管理ポータルからクラスター作成
「簡易作成」であっという間に 32 ノードまでのクラスタが作れます
「簡易作成」画面にはリージョンの指定欄が
ありませんが、ここで選択したストレージ
アカウントと同じリージョンに、
HDInsight クラスターが作成されます。
20
マスターノードへのRDP許可
21
使い終わったら削除
 マスターとスレーブの
全ノードが削除されます。
 課金も止まります。
 BLOBストレージは残ります。
 作成したスクリプトや
結果データなどは、Hadoopの
ファイルシステムに置いて
おけば、クラスタを消しても
残ります。
Tuning maniax 2014 Hadoop編
23
課題設定
 総容量1TBほどの
「Webアクセスログを模したタブ区切りのテキストファイル」を、
事務局が用意する「東南アジアのストーレジアカウント」に公開します。
 具体的なURLは後日。
 そのログファイル(群)を自分のストレージアカウントにコピーして、
以下の解析結果を出力してください。
 アクセス数の多いURL: 上位10件
 多く利用されているユーザーエージェント: 上位10件
 URI毎の平均レスポンスタイム: 下位10件
「Webアクセスログの解析ごっこ」
24
ログファイルのフォーマット
解析しやすいように単純化してあります
2014-04-01 02:52:48 192.168.47.74 user734 100.77.60.35
/javadocs/r0.11.0/api/org/apache/hadoop/hive/ql/io/BucketizedHiveInputFormat.html 759
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) Gecko/20130328 Firefox/22.0
2014-04-01 03:07:12 192.168.208.45 user647 100.77.60.35
/docs/current/api/org/apache/hadoop/filecache/class-use/DistributedCache.html 818
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0
2014-04-01 03:21:36 192.168.149.135 user781 100.77.60.35
/docs/r0.12.0/api/org/apache/pig/scripting/jruby/JrubyAlgebraicEvalFunc.Final.html 734
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) Gecko/20130328 Firefox/22.0
datetime t clientip t user t serverip t uri t timetaken t useragent
25
プログラムの作成方法
HDInsight を使う限り、解析プログラムの作成方法は自由です。
 JavaでMapReduceプログラムを書く 。(普通のやり方)
 Hadoop Streamingを使ってC# (や、その他の言語) で書く。
 Hiveで華麗にクエリを発行する。
 PIGですらすらとスクリプトを書く。
26
チューニングのポイント
HDInsightという同じ環境ですが、差は付きます。
 ノード数!
(これは「チューニング」というわけではありませんが、
結果に大きな影響を及ぼす要素であることは間違いありません)
 シャッフル/ソートフェーズの負荷軽減 (Combinerの作成など)
 HadoopやJVMに渡す各種パラメータの設定
27
参考になる情報
 「Hadoopを使いこなす(1)」
 http://techblog.yahoo.co.jp/architecture/_footnote/
 「How to manually compile and create your own jar file to execute on HDInsight」
 http://blogs.msdn.com/b/bigdatasupport/archive/2014/01/21/how-to-manually-
compile-and-create-your-own-jar-file-to-execute-on-hdinsight.aspx
 「How to pass Hadoop configuration values for a job on HDInsight」
 http://blogs.msdn.com/b/bigdatasupport/archive/2014/02/13/how-to-pass-
hadoop-configuration-values-for-a-job-via-hdinsight-powershell-and-net-sdk.aspx
 「Customizing HDInsight Cluster provisioning」
 http://blogs.msdn.com/b/bigdatasupport/archive/2014/04/15/customizing-
hdinsight-cluster-provisioning-via-powershell-and-net-sdk.aspx
Tuning maniax 2014 Hadoop編
29
ご提出いただくもの
基本的に皆様の「スポーツマンシップ」に依存しております!
 Hadoopからの出力ファイル。
 ジョブの実行に要した時間を示すログ。
 再現試験を可能にするための環境情報。
 ノード数、jarファイル、Hiveのクエリ、PIGのスクリプト等
30
出力ファイルの様式
デフォルトのOutputFormatでReducerが出力するファイル
User: admin
Name: word count
Application Type: MAPREDUCE
State: FINISHED
FinalStatus: SUCCEEDED
Started: 24-Mar-2014 17:01:11
Elapsed: 1hrs, 7mins, 53sec
31
詳細はThink ITで
出力ファイルの形式や個数、提出方法などの詳細は、
Think ITのTuning Maniax 2014 Hadoop編 第2回記事で
説明します!
Tuning maniax 2014 Hadoop編

More Related Content

PDF
FukuokaCloud_Azure
PDF
Windows Azure HDInsight サービスの紹介
PDF
OSC2014 Tokyo/Spring Hadoop
PPTX
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
PDF
オライリーセミナー Hive入門 #oreilly0724
PPTX
Amazon Redshift ことはじめ
PDF
introduction of WalB
PPTX
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
FukuokaCloud_Azure
Windows Azure HDInsight サービスの紹介
OSC2014 Tokyo/Spring Hadoop
Amazon Redshiftの開発者がこれだけは知っておきたい10のTIPS / 第18回 AWS User Group - Japan
オライリーセミナー Hive入門 #oreilly0724
Amazon Redshift ことはじめ
introduction of WalB
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...

What's hot (20)

PDF
TokyoWebminig カジュアルなHadoop
PDF
MapReduceプログラミング入門
PDF
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
PPT
Webアプリケーションから見たCassandra
 
PDF
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
PPTX
事例で学ぶApache Cassandra
PDF
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
PDF
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
PPTX
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
PDF
AWS Casual 02: ふつうのRedshiftパフォーマンスチューニング
PPTX
RDB開発者のためのApache Cassandra データモデリング入門
PDF
Hadoop 基礎
PDF
Hadoopを用いた大規模ログ解析
PDF
PHP開発者のためのNoSQL入門
PDF
Infinispan - Open Source Data Grid
PDF
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
PPTX
The rethinkingofrepair
PDF
DB Tech showcase Tokyo 2015 Works Applications
 
PPT
インフラエンジニアのためのcassandra入門
TokyoWebminig カジュアルなHadoop
MapReduceプログラミング入門
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Webアプリケーションから見たCassandra
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
事例で学ぶApache Cassandra
[db tech showcase Tokyo 2016] D27: Next Generation Apache Cassandra by ヤフー株式会...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
AWS Casual 02: ふつうのRedshiftパフォーマンスチューニング
RDB開発者のためのApache Cassandra データモデリング入門
Hadoop 基礎
Hadoopを用いた大規模ログ解析
PHP開発者のためのNoSQL入門
Infinispan - Open Source Data Grid
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
The rethinkingofrepair
DB Tech showcase Tokyo 2015 Works Applications
 
インフラエンジニアのためのcassandra入門
Ad

Viewers also liked (20)

PDF
Hadoop Conference Japan 2009 - NTT Data
PDF
Hadoop Operations #cwt2013
PDF
OpenStack, Hadoop -- OSSクラウドの最新動向
PDF
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
PPT
はやわかりHadoop
PDF
Sparkを用いたビッグデータ解析 〜 前編 〜
PPT
Yahoo! JAPANでのHadoop利用について
PDF
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
PDF
オラクルのHadoopソリューションご紹介
PDF
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
PDF
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
PDF
Amazon Redshiftによるリアルタイム分析サービスの構築
PDF
Hadoopのシステム設計・運用のポイント
PDF
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
PDF
日々進化するHadoopの 「いま」
PDF
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
PDF
Apache Spark の紹介(前半:Sparkのキホン)
PDF
Hadoopの概念と基本的知識
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
PDF
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
Hadoop Conference Japan 2009 - NTT Data
Hadoop Operations #cwt2013
OpenStack, Hadoop -- OSSクラウドの最新動向
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
はやわかりHadoop
Sparkを用いたビッグデータ解析 〜 前編 〜
Yahoo! JAPANでのHadoop利用について
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
オラクルのHadoopソリューションご紹介
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
Amazon Redshiftによるリアルタイム分析サービスの構築
Hadoopのシステム設計・運用のポイント
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
日々進化するHadoopの 「いま」
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
Apache Spark の紹介(前半:Sparkのキホン)
Hadoopの概念と基本的知識
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
Ad

Similar to Tuning maniax 2014 Hadoop編 (20)

PDF
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
PDF
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
PPTX
Cloudera大阪セミナー 20130219
PDF
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
PPTX
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
PDF
2014-07-26 Exploration into HDInsight Tuning Maniax 2014 Hadoopコース参戦記
PPTX
Azure Datalake 大全
PDF
20120913 nosql@hikarie(okuyama fuse)
PDF
Hadoopデータプラットフォーム #cwt2013
PDF
Windows Azure 概要
PDF
OSSとクラウドによるコンピューティングモデルの変化
PPTX
PHP on Cloud
PDF
OpenStack Object Storage; Usage
PDF
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
PDF
Hadoop事始め
PDF
Azure上の データベース 機能の選び方。KVSからDWHまで
PDF
HBaseCon 2012 参加レポート
PPT
Hadoopの紹介
PPTX
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
PPTX
ゾウ使いへの第一歩
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
Cloudera大阪セミナー 20130219
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
2014-07-26 Exploration into HDInsight Tuning Maniax 2014 Hadoopコース参戦記
Azure Datalake 大全
20120913 nosql@hikarie(okuyama fuse)
Hadoopデータプラットフォーム #cwt2013
Windows Azure 概要
OSSとクラウドによるコンピューティングモデルの変化
PHP on Cloud
OpenStack Object Storage; Usage
【ウェブセミナー】マネージドな 100% OSS アナリティクス プラットフォーム HDInsight の最新事情
Hadoop事始め
Azure上の データベース 機能の選び方。KVSからDWHまで
HBaseCon 2012 参加レポート
Hadoopの紹介
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
ゾウ使いへの第一歩

More from ThinkIT_impress (12)

PDF
あんちゃ(二上 杏奈)氏「勢いで会社辞めた私が、なぜ本を出版するまでになったのか?」
PDF
染谷昌利氏「フリーランスとして生き残るための心構え」
PDF
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
PDF
Docker国内外本番環境サービス事例のご紹介
PDF
オープン・クラウド・プラットフォーム構築の秘訣
PDF
エンタープライズクラスのOpenStackとは
PDF
ハイブリッドコンテンツプラットホームAlfrescoが開く文書管理と共有のパラダイムシフト
PDF
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
PPTX
Tuning maniax 2014 2nd stage linux編
PPTX
Tuning maniax 2014 2nd stage windows編
PPTX
Tuning maniax 2014 1st stage webサイト編
PPTX
Tuning maniax 2014 ルール紹介
あんちゃ(二上 杏奈)氏「勢いで会社辞めた私が、なぜ本を出版するまでになったのか?」
染谷昌利氏「フリーランスとして生き残るための心構え」
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
Docker国内外本番環境サービス事例のご紹介
オープン・クラウド・プラットフォーム構築の秘訣
エンタープライズクラスのOpenStackとは
ハイブリッドコンテンツプラットホームAlfrescoが開く文書管理と共有のパラダイムシフト
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage windows編
Tuning maniax 2014 1st stage webサイト編
Tuning maniax 2014 ルール紹介

Tuning maniax 2014 Hadoop編