Cloudera配布VMwareパッケージで簡単Hadoop学習環境構築のつづき

引き続いて利用方法についてメモしておきます。
基本的に、ホストOSからゲストOSへsshでログインして利用しています。

まず、VMwareのcloudera-demo-vmを起動。
そして、cloudera-demo-vm内のターミナル起動して、ipアドレス確認。

[cloudera@localhost ~]$ ifconfig

その後、macのターミナル起動。
sshでclouderaユーザとしてログイン

hiveの起動・実行

今度は、macのWebブラウザからhadoopのWebUIとHueを見てみます。

NameNode   : http://${cloudera-demo-vmのipアドレス}:50070/dfshealth.jsp
JobTracker : http://${cloudera-demo-vmのipアドレス}:50030/jobtracker.jsp
Hue        : http://${cloudera-demo-vmのipアドレス}:8088/

Hueを開いて、ログインしてみます。

Beeswax for Hiveで、サンプルデータのテーブルをインポートできます。
インポートが完了すると、sample_07,sample_08テーブルが表示されています。

テーブルを選択すると、テーブルデータを見ることができたり、
CSVやXLSファイルとしてダウンロードすることができます。
Beeswax for Hiveでブラウザ上からHiveクエリを投げたりすることも可能です。

この他にもHueでは、
Job Designer、Job BrowserでMapReduceの操作・管理ができたり、
File BrowserでHDFS上のデータの中身を見れたり、
PigやHBaseのコンソールも用意されているようです。


ターミナルに戻って、Hadoopの設定ファイルを見てみます。
ちなみに、設定ファイルは/etc/hadoop/confにあります。

[cloudera@localhost hadoop-0.20-conf]$ ls -ltr /etc/hadoop/conf/
total 76
-rwxr-xr-x 1 root root  321 Jul 18 11:08 README
-rwxr-xr-x 1 root root  582 Jul 18 11:08 mapred-site.xml
-rwxr-xr-x 1 root root 1065 Jul 18 11:08 hdfs-site.xml
-rwxr-xr-x 1 root root 2108 Jul 18 11:08 hadoop-metrics.properties
-rwxr-xr-x 1 root root  565 Jul 18 11:08 core-site.xml
-rwxr-xr-x 1 root root  382 Jul 18 12:42 taskcontroller.cfg
-rwxr-xr-x 1 root root 1195 Jul 18 12:42 ssl-server.xml.example
-rwxr-xr-x 1 root root 1243 Jul 18 12:42 ssl-client.xml.example
-rwxr-xr-x 1 root root   10 Jul 18 12:42 slaves
-rwxr-xr-x 1 root root   10 Jul 18 12:42 masters
-rwxr-xr-x 1 root root 2033 Jul 18 12:42 mapred-queue-acls.xml
-rwxr-xr-x 1 root root 3850 Jul 18 12:42 log4j.properties
-rwxr-xr-x 1 root root 4644 Jul 18 12:42 hadoop-policy.xml
-rwxr-xr-x 1 root root 2340 Jul 18 12:42 hadoop-env.sh
-rwxr-xr-x 1 root root 3032 Jul 18 12:42 fair-scheduler.xml
-rwxr-xr-x 1 root root  535 Jul 18 12:42 configuration.xsl
-rwxr-xr-x 1 root root 5041 Jul 18 12:42 capacity-scheduler.xml

主要設定ファイルである下記3ファイルを見ていくと、
疑似分散モードだということがわかります。
設定ファイルにはHue利用のための設定も記述されています。

・core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:8020</value>
  </property>

  <property>
     <name>hadoop.tmp.dir</name>
     <value>/var/lib/hadoop-0.20/cache/${user.name}</value>
  </property>

  <!-- OOZIE proxy user setting -->
  <property>
    <name>hadoop.proxyuser.oozie.hosts</name>
    <value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.oozie.groups</name>
    <value>*</value>
  </property>

</configuration>

・hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
     <name>dfs.permissions</name>
     <value>false</value>
  </property>
  <property>
     <!-- specify this so that running 'hadoop namenode -format' formats the right dir -->
     <name>dfs.name.dir</name>
     <value>/var/lib/hadoop-0.20/cache/hadoop/dfs/name</value>
  </property>

  <!-- Enable Hue Plugins -->
  <property>
    <name>dfs.namenode.plugins</name>
    <value>org.apache.hadoop.thriftfs.NamenodePlugin</value>
    <description>Comma-separated list of namenode plug-ins to be activated.
    </description>
  </property>
  <property>
    <name>dfs.datanode.plugins</name>
    <value>org.apache.hadoop.thriftfs.DatanodePlugin</value>
    <description>Comma-separated list of datanode plug-ins to be activated.
    </description>
  </property>
  <property>
    <name>dfs.thrift.address</name>
    <value>0.0.0.0:10090</value>
  </property>
</configuration>

・mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:8021</value>
  </property>

  <!-- Enable Hue plugins -->
  <property>
    <name>mapred.jobtracker.plugins</name>
    <value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>
    <description>Comma-separated list of jobtracker plug-ins to be activated.
    </description>
  </property>
  <property>
    <name>jobtracker.thrift.address</name>
    <value>0.0.0.0:9290</value>
  </property>
</configuration>

※おまけ※
こちらはClouderaの動画。
http://vimeo.com/26169353
Service and Configuration Managerというツールで、
複数ホストへの設定作業がGUIから簡単に行えることがわかります。
特に何百台、何千台クラスの巨大なクラスタを扱うことになると、
恩恵を強く実感しそうです。
動画の後半ではHueの利用方法についても説明されています。