Cygwinを利用してWindowsにHBaseをインストール
HBaseは列指向DBMSで大規模分散処理に特化しているDBMSです。
大規模なデータ容量になってもパフォーマンスの劣化がおきにくいのが特徴で、
次世代のデータベースとして注目されています。
ここではHBaseをWindowsXPマシンにインストールする方法について記述します。
RDBMSとHBaseの違いをお手軽に?確認したいという方にお勧めです。
環境
HBaseをWindowsで利用するにはJDK6/Cygwin/SSHサービスが必要となります。
環境は2010-02-01時点の最新バイナリを利用しました。
- WindowsXP Professional SP2
- HBase-0.20.3
- JDK 6 Update 18
- Cygwin 1.7.1,OpenSSH_5.3p1
Cygwinインストール
ここではCygwinのRootとLocal Packageを以下のように設定する前提で書きます。
それではCygwinをインストールしてみます。
- Local Packageディレクトリ(C:\cygwin\setup)を作成します。
- http://cygwin.com/setup.exeをC:\cygwin\setupディレクトリへダウンロードします。
- Administrator権限を持つユーザでsetup.exeをダブルクリックしインストールを開始します。
- "Choose A Download Source"ではInstall from Intarnetを選択します。
- "Select Root Install Directory"のRoot DirectoryではC:\cygwin\rootを設定します。
- "Select Local Package Directory"のLocal Package DirectoryではC:\cygwin\setupを設定します。
- "Select Your Internet Connection"ではDirect Connectionを選択します。
- "Choose A Download Site"ではjpドメインのサイトを選択します。
- "Select Packages"では追加パッケージを選択せずにインストールを行います。
- "Create Icons"では必要に応じてチェックを行いインストールを完了します。
- システム環境変数CYGWIN_HOMEを作成しC:\cygwin\rootを設定します。
- システム環境変数PATHに%CYGWIN_HOME%\binを追加します。
- Cygwinのインストールを完了するためにOSをリブートします。
SSH設定
- Cygwinを起動します。
- Cygwinで以下コマンドを実行し環境の適正化を行います。
- chmod +r /etc/passwd
- chmod u+w /etc/passwd
- chmod +r /etc/group
- chmod u+w /etc/group
- chmod 755 /var
- Cygwinで以下コマンドを実行しsshdの設定ファイルを作成します。
- ssh-host-config -y
- Cygwinで以下コマンドを実行しsshサービスを起動します。
- cygrunsrv -S sshd
- Cygwinで以下コマンドを実行しWindowsのアカウントをCygwinに同期します。
- mkpasswd -cl > /etc/passwd
- mkgroup -local > /etc/group
- Cygwinで必要に応じて以下コマンドを実行しノーパスワードで接続できるようにします。
- 念のため以下コマンドで動作確認します。
Javaインストール
http://java.sun.com/javase/ja/6/download.htmlからJDK1.6をダウンロードしてインストールします。
ここではJavaを以下のディレクトリにインストールします。
Java設定
HBaseインストール
- http://www.apache.org/dyn/closer.cgi/hadoop/hbase/からHBaseをダウンロードします。
- hbase-0.20.3.tar.gzを解凍ソフトを使って解凍します。
- 解凍したファイルをC:\cygwin\root\usr\local\以下に配置し、Cygwinから/usr/local/hbase-
で接続できるようにします。
HBase設定
- /uar/local/hbase-0.20.3/conf/hbase-env.shに追記します。
- export JAVA_HOME=/usr/local/jdk1.6.0_18
- export HBASE_IDENT_STRING=$HOSTNAME
- /usr/local/hbase-0.20.3/conf/hbase-default.xmlを編集します。
- Cygwinで以下コマンドを実行しhbase.rootdirとhbase.tmp.dirのディレクトリを作成します。
- mkdir -p /tmp/hbase/data
- mkdir -p /tmp/hbase/tmp
- chmod 777 /tmp/hbase/data
- chmod 777 /tmp/hbase/tmp
HBase動作テスト
- Cygwinを起動します。
- Cygwinで以下コマンドを実行しHBaseを起動します。
- cd /usr/local/hbase-0.20.3/
- ./bin/start-hbase.sh
- Cygwinで以下コマンドを実行しhbase shellを起動します。
- ./bin/hbase shell
- hbase shellで以下コマンドを実行しコマンドを確認します。
- help
- hbase shellで以下コマンドを実行しテーブルを作成します。
- create 'test', 'data'
- hbase shellで以下コマンドを実行しテーブルを確認します。
- list
- hbase shellで以下コマンドを実行しデータを挿入します。
- put 'test', 'row1', 'data:1', 'value1'
- put 'test', 'row2', 'data:2', 'value2'
- put 'test', 'row3', 'data:3', 'value3'
- hbase shellで以下コマンドを実行しデータが表示されればテスト成功です。
- scan 'test'
- hbase shellで以下コマンドを実行しテーブルを削除します。
- disable 'test'
- drop 'test'
- hbase shellで以下コマンドを実行しhbase shellを終了します。
- exit
- Cygwinで以下コマンドを実行しHBaseを停止します。
- cd /usr/local/hbase-0.20.3/
- ./bin/stop-hbase.sh
HBase REST動作テスト
- Cygwinを起動します。
- Cygwinで以下コマンドを実行しHBaseを起動します。
- cd /usr/local/hbase-0.20.3/
- ./bin/start-hbase.sh
- Cygwinで以下コマンドを実行しhbase shellを起動します。
- ./bin/hbase shell
- hbase shellで以下コマンドを実行しテーブルを作成します。
- create 'test', 'data'
- hbase shellで以下コマンドを実行しデータを挿入します。
- put 'test', 'row1', 'data:1', 'value1'
- put 'test', 'row2', 'data:2', 'value2'
- put 'test', 'row3', 'data:3', 'value3'
- hbase shellで以下コマンドを実行しhbase shellを終了します。
- exit
- Cygwinで以下コマンドを実行しHBaseのRESTサービスを起動します。
- ./bin/hbase-daemon.sh start rest
- ブラウザで以下のURLに接続し作成したtestテーブルが表示されればテスト成功です。
- CygwinでC以下コマンドを実行しHBaseのRESTサービスを停止します。
- ./bin/hbase-daemon.sh stop rest
- Cygwinで以下コマンドを実行しHBaseを停止します。
- ./bin/stop-hbase.sh