2012年に入って、多くの製品ベンダーが「ビッグデータ」を意識したイベントやセミナーを開催しています。Hadoopのほかに、データベース、DWH(データ・ウエアハウス)製品、サーチエンジン、ファイルシステムなど様々な製品と結びつけたソリューション展開をしています。

 筆者もHadoopだけが「ビッグデータ」ソリューションのコア製品とは考えていません。受け止める側は製品ベンダーからのメッセージをうのみにするのではなく、本当に革新的なビッグデータソリューションはどれなのか、ご自身で考え、確認してみることが大切ではないでしょうか。

 実りの秋10月に入り、今年も残り3カ月となりました。各製品が成熟度を増し、幾つかの製品がアップデートされました。本連載はCDH(Cloudera's Distribution Including Apache Hadoop) 4.0.1で進めていますが、10月2日にマイナーバージョンアップしCDH 4.1としてリリースされています。ベースは2.0.0のままであり、既知の不具合を確認するとYARNにはまだその一部の問題が残っているようです。

 Hortonworks Data Platform (HDP)も同じく10月にバージョン 1.1.1としてリリースされています。こちらは1.0.3ベースです。いくつかのバグフィックスと性能向上がされています。

 いずれの製品も幾つかのアップデートが入っていますので、詳細を知りたい場合はリリースノート確認をしてみるとよいでしょう。

 さて、前回ではhadoop-conf-pseudoパッケージをyumコマンドでインストールしました。今回はすべてのデーモンプロセス(UNIXにおける常駐型プログラム)を起動します。

CDHのユーザー作成状況の確認

 前回のインストールで関連するパッケージもすべてインストールされました。CDHでは、そのパッケージのインストールスクリプト内で3つのユーザーを作成しています。例えばhadoop-hdfsインストールパッケージのインストールスクリプトを確認してみましょう。

$ rpm -q --scripts hadoop-hdfs
preinstall scriptlet (using /bin/sh):
getent group hdfs >/dev/null   || groupadd -r hdfs (1)
getent passwd hdfs >/dev/null || /usr/sbin/useradd --comment "Hadoop HDFS" --shell /bin/bash -M -r -g hdfs -G hadoop --home /var/lib/hadoop-hdfs hdfs (2)

 (1)でグループを追加し、(2)でユーザーを追加していることが確認できます。では次に、catコマンドで/etc/passwdファイルを確認してみます。

$ cat /etc/passwd | grep Hadoop
yarn:x:494:488:Hadoop Yarn:/var/lib/hadoop-yarn:/bin/bash
mapred:x:493:487:Hadoop MapReduce:/var/lib/hadoop-mapreduce:/bin/bash
hdfs:x:492:486:Hadoop HDFS:/var/lib/hadoop-hdfs:/bin/bash

 「yarn」「mapred」「hdfs」の3つのユーザーが作成されていることが確認できます。それぞれのユーザーを用いてHadoopを操作していきます。表1にユーザーの一覧を示します。

表1●CDHのユーザーと用途
ユーザー グループ 用途
yarm yarm YARNの実行
mapred mapred MapReduceの実行
hdfs hdfs HDFSの操作

HDFSの初期化

 それでは、次にHDFSの初期化を、hdfsコマンドで行います。hdfsコマンドを引数無しで実行すると利用できるコマンド一覧が表示されます。

$ hdfs
Usage: hdfs [--config confdir] COMMAND
       where COMMAND is one of:
  dfs                  run a filesystem command on the file systems supported in Hadoop.
  namenode -format     format the DFS filesystem
  secondarynamenode    run the DFS secondary namenode
  namenode             run the DFS namenode
  zkfc                 run the ZK Failover Controller daemon
  datanode             run a DFS datanode
  dfsadmin             run a DFS admin client
  haadmin              run a DFS HA admin client
  fsck                 run a DFS filesystem checking utility
  balancer             run a cluster balancing utility
  jmxget               get JMX exported values from NameNode or DataNode.
  oiv                  apply the offline fsimage viewer to an fsimage
  oev                  apply the offline edits viewer to an edits file
  fetchdt              fetch a delegation token from the NameNode
  getconf              get config values from configuration
  groups               get the groups which users belong to
						Use -help to see options

Most commands print help when invoked w/o parameters.