SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

HadoopでTwitterを分析してみた

導入編~Hadoopクラスタを構築するまで

001

「全てのDBコア技術を知りたいなら!これしかない!」10月に開催されるdb tech showcaseでは、数々のコアな話が飛び出します。筆者もそれに参戦すべく、R&D専用の高速クラスタマシン「Insight Qube PYTHON」を使ってHadoopをぐりぐり動かし、Twitterを分析しちゃいます!

Hadoopを気持ちよく使っていますか?

 突然ですが、DBエンジニアのみなさま、Hadoopは使っていますか?バリバリ使っているよ!という方がいらっしゃる一方で、そろそろ新しい技術にも触れなければと焦って手元の環境にHadoopをインストールしたものの、特に使い道が思い浮かばずHDFSにファイルをアップロードしたりベンチマークを動かしたりしただけであとは放置、という方も多いのではないでしょうか。かくいう私もそうでした。しかも、もっさりとしか動かない仮想環境にこぢんまりと1台クラスタ(ってクラスタではないですね)を作ってデータ量を気にしながらちまちまと動かしていたので、使っていてもちっとも気持ちよくない!使っていて気持ちがよくなければいい発想も生まれませんね。

 そんな折、10月に開催される「db tech showcase」の発表のために「Insight Qube PYTHON」でHadoopクラスタを組んでみることにしました。実際に組んでみると、速い!サクサク動く!クラスタの各ノードが一斉にジョブを実行する様が壮観!と、すっかり気持ちよくなってしまいました。そこで、一丁このHadoopクラスタでバリバリ分析してやろうか!と、勢いに任せてHadoopのジョブをぐりぐり動かしてTwitterのデータを分析した、その過程を今回の連載でお見せします。第1回は導入編として、今回使ったHadoopクラスタを構築するまでをご紹介します。

 ※「Insight Qube PYTHON」とは
 たった8台。でも100台分のパワー。HadoopのR&Dを誰にでも可能にしたマシンです。詳しくはこちら

Hadoopクラスタを作ってみよう

 ではさっそくHadoopのクラスタを作ってみましょう。今回は以下の構成のマシンを8台用意しました。

図1:今回活躍するマシンのスペックと雄姿。去年のdb tech showcaseではOracle RACが動いていました
図1:今回活躍するマシンのスペックと雄姿。去年のdb tech showcaseではOracle RACが動いていました

 CPUはコア数が多いものを用意し、かつSSDを使用してI/O待ちを排除することでHadoopの並列処理がフルに生かされるようにします。また、ノード間通信にはInfiniBandを使用し、ネットワークI/O待ちも排除しています。今回はIPoIB(IP over InfiniBand)というプロトコルを使うことで、Gigabit Ethernet使用時と変わらない使い勝手としています。

 次に、Hadoopの各サービスをクラスタ内のどのノードに配置するかを設計します。HadoopはHDFSと呼ばれるファイルシステムとMapReduceと呼ばれるデータ処理のための仕組みを持ち、それぞれ全体を管理するサービス(HDFSはNameNode、MapReduceはJobTracker)と、それを受けて実際にデータを保存したり加工したりといった仕事をするサービス(HDFSはDataNode、MapReduceはTaskTracker)があります。

図2:HDFSのサービスの仕組み
図2:HDFSのサービスの仕組み
図3:MapReduceのサービスの仕組み
図3:MapReduceのサービスの仕組み

 一般にNameNodeとJobTrackerをマスタ、DataNodeとTaskTrackerをスレーブと呼び、大規模なクラスタではリソース消費の観点からマスタとスレーブは別のノードに置いた方がよいとされています。具体的には、NameNodeはHDFS上のファイル数や使用ブロック数が増えるほどメモリを消費し、JobTrackerはMapReduceジョブが同時に大量に実行されるほどCPUリソースを消費します。

 しかしながら、今回用意したのはわずか8台のマシンで、しかも利用者は筆者のみ。よってマスタとスレーブは同居させてしまいます。

 また、実運用では可用性もしっかりと考慮する必要があります。特にマスタノードは今回使用するバージョンのHadoopでは単一障害点(SPOF)となる部分です。よって環境によっては別途PacemakerやDRBDといったプロダクトを用いてHA構成をとることが望ましい場合があります。しかし今回はR&Dということで、このあたりは一切考慮せずHA構成はとらないこととします。壊れたら潔く作り直しです。

 以上の方針で図4の通りにHadoopの各サービスを割り当て、クラスタを構成します。

図4:Hadoop各サービスのクラスタ内での割り当て
図4:Hadoop各サービスのクラスタ内での割り当て

次のページ
ここがポイント!Hadoop導入時に注意すべきOS設定

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
HadoopでTwitterを分析してみた連載記事一覧

もっと読む

この記事の著者

平間大輔(ヒラマダイスケ)

株式会社インサイトテクノロジー 
ビッグデータ・ソリューション開発部 外資系ITアウトソーシング会社を経て2011年にインサイトテクノロジー入社。
Oracle大好き、SQLのコーディング大好き人間だったが、気づけばSSD, InfiniBand, Hadoopといった旬のハー...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/4254 2012/10/09 00:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング