HBase > HBase 0.20をHadoop 0.20上で動かす方法

更新日 2012-04-21
広告
HBase 0.20.6を、Hadoop 0.20.2の上で動かす方法を紹介します。古いHBaseを利用する場合、Hadoopとマイナーバージョン(この場合は0.20)を合わせる必要があります。

Hadoopの設定

Hadoopは仮想分散モードで実行します。方法はこちらの記事をご覧ください。
HDFSのデータの保存先は、デフォルトでは /tmp 以下です。/tmp 以下のデータは、マシンを再起動すると消えてしまいます。データ保存先を明示的に指定するためには、例えば hdfs-site.xml を以下のように設定してください。
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
 
  <property>
    <name>dfs.name.dir</name>
    <value>/root/hadoop/name</value>
  </property>
 
  <property>
    <name>dfs.data.dir</name>
    <value>/root/hadoop/data</value>
  </property>
</configuration>
データの保存先を変更したら、フォーマットしてください。
$ ./bin/hadoop namenode -format

localhostに対するsshの設定

こちらの記事をご覧ください。

HBaseの設定

今回は、仮想分散モードで動作させます。つまり、1つのマシン上で、HBaseのマスターサーバと、ZooKeeperサーバが動作することになります。
hbase-0.20.4を適当なディレクトリに解凍し、hbase-site.xmlを編集します。hbase-site.xmlでは、HDFSのネームノードと、HBaseのルートディレクトリを、指定します(今回の場合は、Hadoopも同じマシン上で動かしているので、ネームノードはlocalhostになります)。HBaseのルートディレクトリはhbaseとします。HBaseの「ルートディレクトリ」とは、OSのファイルシステムにおけるディレクトリではなく、HDFS上におけるディレクトリのことです。
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>
</configuration>

ネームノードに対するsshの設定

本来は、HBaseのマスターサーバが動いているマシンから、Hadoopのネームノードが動いているマシンへ、自動ログインするための設定が必要です。今回は、HadoopもHBaseも同一ホストで実行するため、必要ありません。

起動

まずHadoopを起動します。その後に、HBaseを起動します。
./bin/start-hbase.sh
設定にミスがなければ、以下の7つのプロセスが起動するはずです。
$ jps
14065 JobTracker
13989 SecondaryNameNode
13867 DataNode
14599 HMaster
14183 TaskTracker
14530 HQuorumPeer
13727 NameNode
ログファイルを見て、エラーがないことを確認するとよいです。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system