Tag Archives: HBase

[お役立ちリンク]Hadoop→HBaseのインストール

先日、HadoopとHBaseをインストールしていた時に
今まで見た中で一番分かりやすい解説ページがあったので紹介する。

■Hadoop/Hbase Clusterの構築
http://lunarium.info/arc/index.php/Hadoop/Hbase_Cluster%E3%81%AE%E6%A7%8B%E7%AF%89

これで簡単に「話題のクラウド化」へ!?

Apache Hadoopのデータベース「HBase」を設定してみた

Hadoop 0.15.0」や「Hbase/10Minutes」を見てなんだか簡易データベースが

使用できるそうなのでやってみた。



■今回の環境

サーバ環境は以下のような感じ。
SERVERS(計3台) :

   MASTER : 192.168.0.5

   SLAVE1 : 192.168.0.8

   SLAVE2 : 192.168.0.10

HADOOP_HOME(全サーバ共通) : /home/hadoop/hadoop/hadoop-0.15.3/

DATA_DIR(全サーバ共通) : /home/hadoop/hadoop/filesystem/

JAVA_HOME(全サーバ共通) : /usr/java/j2sdk/



■パッケージの解凍と設置(マスターで作業)

$ tar -xvzf hadoop-0.15.3.tar.gz
$ mv hadoop-0.15.3 /home/hadoop/hadoop/



■全般設定1(マスターで作業)

いつものように設定を行なう。hadoop-env.shを開いてJAVA_HOMEを設定。

$ cd /home/hadoop/hadoop/
vi conf/hadoop-env.sh
export JAVA_HOME=/usr/java/j2sdk



■全般設定2(マスターで作業)

これもいつものように設定を行なう。

今回はデータベースだけを使うので、mapredは設定しない。

$ vi conf/hadoop-site.xml
<configuration>
	<property>
		<name>fs.default.name</name>
		<value>localhost:9000</value>
	</property>
	<property>
		<name>dfs.name.dir</name>
		<value>/home/hadoop/hadoop/filesystem/dfs/name</value>
	</property>
	<property>
		<name>dfs.data.dir</name>
		<value>/home/hadoop/hadoop/filesystem/dfs/data</value>
	</property>
</configuration>



■全般設定3(マスターで作業)

スレーブサーバは2台存在するので、そのIPを入力する。

$ conf/slaves
192.168.0.8
192.168.0.10



■パッケージのコピー

それぞれのスレーブサーバにパッケージをまるごとコピー

$ cd /home/hadoop/hadoop/
$ tar -cvzf hadoop-0.15.3.tar.gz hadoop-0.15.3
$ scp hadoop-0.15.3.tar.gz hadoop@192.168.0.8:/home/hadoop/hadoop/
$ scp hadoop-0.15.3.tar.gz hadoop@192.168.0.10:/home/hadoop/hadoop/

$ ssh hadoop@192.168.0.8
$ cd /home/hadoop/hadoop
$ tar -xvzf hadoop-0.15.3.tar.gz
$ exit

$ ssh hadoop@192.168.0.10
$ cd /home/hadoop/hadoop
$ tar -xvzf hadoop-0.15.3.tar.gz
$ exit



■初期化(マスターで作業)

ハードディスクをフォーマットするかのように初期化。

$ cd /home/hadoop/hadoop/hadoop-0.15.3
$ ./bin/hadoop namenode -format
08/02/08 01:09:59 INFO dfs.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = localhost/127.0.0.1
STARTUP_MSG:   args = [-format]
************************************************************/
08/02/08 01:09:59 INFO dfs.Storage: Storage directory /home/ha...
08/02/08 01:09:59 INFO dfs.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/



■Distributed File System(DFS)の起動(マスターで作業)

$ ./bin/start-dfs.sh
starting namenode, logging to /home/hadoop/hadoop/hadoop-0.15.3/bi...
192.168.0.8: starting datanode, logging to /home/hadoop/hadoop/had...
192.168.0.10: starting datanode, logging to /home/hadoop/hadoop/ha...
localhost: starting secondarynamenode, logging to /home/hadoop/had...



■データベースの設定(マスターで作業)

データベースは、マニアックな場所に存在する。

この下には「eclipse-plugin」とか「ec2」とかあるので、他にもソフトがあるみたい。

Amazon EC2でMapReduceとかいう訳のわからんサイトがいろいろあったのはこれか?

$ cd /home/hadoop/hadoop/hadoop-0.15.3/src/contrib/hbase/
$ vi conf/hbase-site.xml
<configuration>
	<property>
		<name>hbase.master</name>
		<value>localhost:60000</value>
		<description>The host and port that the HBase master runs at</description>
	</property>
	<property>
		<name>hbase.rootdir</name>
		<value>/hbase</value>
		<description>location of HBase instance in dfs</description>
	</property>
</configuration>



■権限変更・データベース起動(マスターで作業)

HBASEの実行ファイルに権限がないので実行権限を与える。

$ chmod 755 ./bin/*

そんでデータベース起動。

$ ./bin/start-hbase.sh
Safe mode is OFF
starting master, logging to /home/hadoop/hadoop/hadoop-0.15.3/src/co...
localhost: starting regionserver, logging to /home/hadoop/hadoop/had...



■データベースへつなげて完了(マスターで作業)

データベースに接続してみた。

PostgreSQLやMySQLのように普通にクエリを打てるっぽい。

$ ./bin/hbase shell
Hbase Shell, 0.0.2 version.
Copyright (c) 2007 by udanax, licensed to Apache Software Foundation.
Type 'help;' for usage.

Hbase>



「help;」を打てば多少説明がでる。

やっとHadoopを触ってる感じになってきてる?



ちなみにSQLについては、Hbase/HbaseShell – Hadoop Wikiを参考に。