Hadoopの疑似分散モードと完全分散モードを試す:きょうから試せる Hadoop“スモールスタート”ガイド(4)(1/4 ページ)
実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「Hadoopの疑似分散モード」「完全分散モードでHadoopクラスタを構築する手順」を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『Hadoopファーストガイド(2012年9月20日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
疑似分散モードと完全分散モードでHadoopを動かしてみる
前回体験したHadoopのスタンドアロンモードに続き、今回はHadoopを疑似分散モードと完全分散モードで動かしてみます。Hadoopの疑似分散モードと完全分散モードではスタンドアロンモードと違い、ジョブトラッカーやタスクトラッカー、ネームノード、データノードなどがデーモンとして起動します。そのため、Hadoopを複数のノードで稼働させる場合はそれぞれのノードで適切なデーモンを稼働させる必要があります。といっても難しいことはなく、Hadoopに付属しているスクリプトをマスターノード上で実行するだけで各サーバで必要とされるデーモンを自動的に起動させることができます。
このスクリプトは内部的に、SSH(Secure SHell)通信を使って対象マシンにリモートログインして、Hadoopのデーモンを立ち上げる、という仕組みになっています。その中ではSSHのパスフレーズなしでログインする設定になっているため、あらかじめHadoopのデーモンを起動するにはパスフレーズなしでSSHログインできるように設定しておく必要があります。
鍵が出来たことも確認しておきましょう。.sshフォルダを見れば秘密鍵と公開鍵が作成されていることがわかります。
続いて、生成された鍵ペアのうち、公開鍵(~/.ssh/id_dsa.pub)の内容をauthorized_keysファイル(~/.ssh/authorized_keys)に追加します。
完全分散モードでは、SSHで別のノードにログインしてそのサーバ上にタスクトラッカーやデータノードを起動します。一方の疑似分散モードでは1台で(疑似的に)すべてを動かすために、localhostに対してSSHでログインする形でタスクトラッカーやデータノードを起動していきます。そのため、localhostに対してパスワード無しでSSHログインできるようにしておく必要があります。
これでlocalhostに対してパスワード無しでSSHログインできるようになりました。初回のみ確認のメッセージが表示されますが、2回目以降は表示されません。
さらに、疑似分散モードで動かすための設定を行っていきます。$HADOOP_INSTALL/confディレクトリの中にあるcore-site.xml、mapred-site.xml、hdfs-site.xmlという3つの設定ファイルにパラメータを追加してください。いずれも<configuration></configuration>内に<property>...</property>の4行を追加するだけです。
HDFSのフォーマット
疑似分散モードでHadoopを起動する前に、最初に一度だけHadoopの分散ファイルシステムであるHDFSのフォーマットが必要です。以下のコマンドを実行してください。
これで、HDFSの管理ファイルが/tmp/hadoop-hadoop/dfs/name以下に作られました※7。
※7 /tmp/hadoop-[ユーザ名]/dfs/nameです
デーモンの起動
では、デーモンを起動してみましょう。Hadoopのパッケージに付属しているシェルスクリプト「start-all.sh」を使います。
表示されたメッセージから、ネームノード、データノード、セカンダリーネームノード、ジョブトラッカー、タスクトラッカーと、5つのデーモンが起動している様子がわかると思います。実際の運用時(完全分散モード)ではデータノード、タスクトラッカーは通常別ノードで起動しますが、今回は疑似分散モードなのでネームノードやジョブトラッカーも含めてすべてlocalhost上で(1台で)起動しました。
起動中のJavaアプリケーションのプロセスIDだけを表示する「jps」コマンドを使うとプロセスがきちんと起動しているかが簡単に確認できます。
ここからも、すべてのプロセスが存在していることがわかります。なお、ネームノードとジョブトラッカーに対してはWebインタフェースも提供されていますので、それぞれ以下のURLでアクセスできます。
- http://localhost:50070/
- http://localhost:50030/
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。 - Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する
ブームだったHadoop。でも実際にはアーリーアダプター以外には、扱いにくくて普及が進まないのが現状だ。その課題に幾つかの解決策が出てきた。転換期を迎えるHadoopをめぐる状況を整理しよう。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。