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にユーザーの一覧を示します。
ユーザー | グループ | 用途 |
---|---|---|
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.