hbaseインストールしたときのメモ
■インストール
brew install hbase # Homebrewで楽しちゃいました vi /usr/local/Cellar/hbase/0.92.0/libexec/conf/hbase-site.xml# 起動 start-hbase.sh # 停止 # stop-hbase.sh # Rest I/F起動 hbase rest start # ブラウザ確認 http://localhost:8080/ # → テーブルがないので白画面 # rubyでテーブル作成 gem install json gem install hbase-stargate require 'rubygems' require 'stargate' client = Stargate::Client.new("http://localhost:8080") p client.list_tables client.create_table('cats', 'profile', 'status') p client.list_tables # → create文なので、2回目からはコメントアウトすること hbase.rootdir file:///usr/local/Cellar/hbase/databases/hbase-${user.name}/hbase The directory shared by region servers and into which HBase persists. The URL should be 'fully-qualified' to include the filesystem scheme. For example, to specify the HDFS directory '/hbase' where the HDFS instance's namenode is running at namenode.example.org on port 9000, set this value to: hdfs://namenode.example.org:9000/hbase. By default HBase writes into /tmp. Change this configuration else all data will be lost on machine restart.
■パフォーマンスどれくらいか見てみよう
#!/usr/bin/ruby
# -*- encoding: utf-8 -*-
require 'rubygems'
require 'stargate'
require 'benchmark'
# 接続
client = Stargate::Client.new("http://localhost:8080")
# ---------------------------------------
# Insert / Select 性能
# ---------------------------------------
count = 100000
p 'count:' + count.to_s
# ---------------------------------------
# hbase
Benchmark.bm { |rep|
rep.report("hbase insert ") {
for num in 1..count
name = 'name' + num.to_s
# 登録
client.create_row('cats', num.to_s, Time.now.to_i,
[{:name => 'profile:name', :value => name}])
end
}
}
Benchmark.bm { |rep|
rep.report("hbase select") {
for num in 1..count
id = rand(count).to_i + 1
row = client.show_row('cats', id.to_s)
end
}
}
■結果
"count:100000"
user system total real
hbase insert 45.120000 5.880000 51.000000 (223.785493)
user system total real
hbase select 51.610000 6.440000 58.050000 (273.129300)
# 前提として、1台のmacで行っているため、スケールアウトのメリットを享受できていません。
# そのため、Cassandra やhbaseでは期待する効果が出ていません!!
■参考サイト
Getting Hbase and Thrift Running on a Mac
hbase-stargateを使ってHBaseのCRUD
0 件のコメント:
コメントを投稿