前回、Hadoopをインストールしました。あとは、これでHBaseのデータをHDFS上に保存するようにしてみたいと思います。
ZooKeeperも入れた方がいいのかなぁ?と思ったのですが、擬似分散環境ではZooKeeperは使われないようなので、対象外に。う〜ん、ちょっと残念。
それでは、HBaseの設定をします。
$HBASE_HOME/conf/hbase-site.xml
<configuration> </configuration>
最初は、このように中身がほぼ空だった設定ファイルを
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:8020/hbase</value> </property> <property> <name>dfs.replication</name> <property>1</property> </property> </configuration>
と修正。
それでは、Hadoopを起動します。
$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh start namenode $ $HADOOP_PREFIX/sbin/hadoop-daemon.sh start datanode $ $HADOOP_PREFIX/sbin/hadoop-daemon.sh start secondarynamenode $ $HADOOP_PREFIX/sbin/yarn-daemon.sh start resourcemanager $ $HADOOP_PREFIX/sbin/yarn-daemon.sh start nodemanager $ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh start historyserver
YARNは要らない気がしますが…。
続いて、HBaseを起動。
$ start-hbase.sh
起動したら、HBase Shellを起動してみましょう。
$ hbase shell 2013-09-06 23:58:17,356 WARN [main] conf.Configuration: hadoop.native.lib is deprecated. Instead, use io.native.lib.available HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.95.2-hadoop2, rUnknown, Thu Aug 15 13:22:42 PDT 2013
テーブルを作成してみます。
hbase(main):001:0> create 'test', 'cf'
それから、データをいくつか登録。
hbase(main):002:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.1030 seconds hbase(main):003:0> put 'test', 'row2', 'cf:b', 'value2' 0 row(s) in 0.0340 seconds hbase(main):004:0> put 'test', 'row3', 'cf:c', 'value3' 0 row(s) in 0.0350 seconds
HDFSを確認してみます。
$ hadoop fs -ls /hbase 13/09/07 00:01:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Found 6 items drwxr-xr-x - xxxxx supergroup 0 2013-09-06 23:57 /hbase/.tmp drwxr-xr-x - xxxxx supergroup 0 2013-09-06 23:57 /hbase/WALs drwxr-xr-x - xxxxx supergroup 0 2013-09-06 23:57 /hbase/data -rw-r--r-- 3 xxxxx supergroup 42 2013-09-06 23:57 /hbase/hbase.id -rw-r--r-- 3 xxxxx supergroup 7 2013-09-06 23:57 /hbase/hbase.version drwxr-xr-x - xxxxx supergroup 0 2013-09-06 23:57 /hbase/oldWALs
無事、HDFSにデータが入りました。