HBase
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-[[HBaseとはどんなNoSQLデータベースなのか? 日本語で読め...
-[[KeyValueストア:http://lunarium.info/arc/index.php/KeyV...
-[[HBaseの利用:http://lunarium.info/arc/index.php/HBase%E...
--[[SQLとHBaseの操作比較:http://lunarium.info/arc/index.p...
-[[HBase 基礎文法最速マスター:http://d.hatena.ne.jp/Takao...
-[[HBase v.s. MySQL:http://d.hatena.ne.jp/scinfaxi/201006...
-[[HBaseメモ:http://www.ne.jp/asahi/hishidama/home/tech/a...
-[[第1回HBaseとCassandraの討論会のメモ:http://blog.goo.ne...
-[[Key-Value Store (KVS) 入門 [PDF]:http://www-06.ibm.com...
-[[HBasics An Introduction to Hadoop HBase HUGUK, April 1...
* 概要 [#kd223fb1]
-HadoopのHDFS上に構築されたデータベース
-ランダムアクセス、シーケンシャルアクセス共に低レイテンシ...
-テーブルはリージョンに自動的に分割され、リージョンはワー...
-テーブル構造は柔軟で、行を書き込むときに自由にカラムを追...
-データ型はByte配列
-カラム指向
-リアルタイム、MapReduce処理の両方に対応可能
-自動シャーディング
-インデックスは持たない
-レコードはキー順に格納される
-SQLはサポートされない
-強い一貫性
--更新前の古いデータが見えることはない
--レコードに関する操作はアトミック
* HBaseの構成要素 [#s5cdb55e]
** テーブル・ファイル [#jde9d85d]
-名前の付いたTableに、Rowと呼ばれる従来のRDBでいうレコー...
-各データはKeyと任意の数のColumnを持っており、Key順に並べ...
-同一のTableでも保持するColumnの数が大きく変化する為にTab...
-Columnの名称は"<Family>:<Label>"という形式になっており、...
-実File上ではColumnFamilies毎に分かれて保存されている
-HBaseのTableはRowKeyの昇順、Column名の昇順、Timestampの...
-Regionは先頭Key(実ファイル含む)から末尾Key(実ファイル含...
-Regionファイルの内部で各ColumnFamilyはHStoreとして保存さ...
** サーバ [#oca0b17f]
-HBaseMaster (HM)
--リージョンファイルのロードバランシング
-HRegionServer (RS)
--リージョンファイルの保持
--読み込み、書き込み
-ZooKeeper (ZK)
--Rootテーブルの位置情報保持
--HBaseMasterの情報保持
-HDFS
--分散ファイルシステム
--データの複製を保存
* 使い方 on Mac OS X [#fce913a5]
-[[HBase/Hadoop on Mac OS X:http://blog.ibd.com/howto/hba...
-[[Cygwin で Hadoop 0.20.1 を動かす:http://blog.livedoor....
-[[HBase Clusterの作り方:http://lunarium.info/arc/index.p...
** Hadoopのインストール・起動/停止 [#lf2d37a7]
-Hadoop の[[ダウンロード:http://www.apache.org/dyn/closer...
-HBase の[[ダウンロード:http://www.apache.org/dyn/closer....
-展開してできたフォルダを /usr/local/ に移動し、シンボリ...
$ cd /usr/local
$ sudo ln -s hadoop-0.20.2 hadoop
$ sudo ln -s hbase-0.20.6 hbase
-/usr/local/hadoop/conf/hadoop-env.sh の JAVA_HOME を編集
export JAVA_HOME=/System/Library/Frameworks/JavaVM.frame...
-Hadoop用にSSHのキーファイルを生成
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa_for_hadoop
$ cat ~/.ssh/id_dsa_for_hadoop.pub >> ~/.ssh/authorized_...
-/usr/local/hadoop/conf/hadoop-env.sh の HADOOP_SSH_OPTS ...
export HADOOP_SSH_OPTS="-i /Users/$USER/.ssh/id_dsa_for_...
-設定ファイル(/usr/local/hadoop/conf/*.xml)の編集
--core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
--hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
--mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
-初回だけ以下を実行
$ /usr/local/hadoop/bin/hadoop namenode -format
-起動
$ /usr/local/hadoop/bin/start-all.sh
-プロセス確認
$ ps ax | grep hadoop
org.apache.hadoop.mapred.JobTracker
org.apache.hadoop.hdfs.server.namenode.NameNode
org.apache.hadoop.mapred.TaskTracker
org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
org.apache.hadoop.hdfs.server.datanode.DataNode
-停止
$ /usr/local/hadoop/bin/stop-all.sh
-管理画面
--[[NameNode:http://localhost:50070/]]
--[[JobTracker:http://localhost:50030/]]
** HBaseのインストール・起動/停止 [#c22e3450]
-/usr/local/hbase/conf/hbase-env.sh の JAVA_HOME を編集
export JAVA_HOME=/System/Library/Frameworks/JavaVM.frame...
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_SSH_OPTS="-i /Users/$USER/.ssh/id_dsa_for_h...
-テスト
$ /usr/local/hbase/bin/hbase shell
-起動
$ /usr/local/hbase/bin/start-hbase.sh
-停止
$ /usr/local/hbase/bin/stop-hbase.sh
** HBase shell でテスト [#j7bac66f]
$ /usr/local/hbase/bin/hbase shell
hbase(main):001:0> help
hbase(main):002:0> create "mylittletable", "mylittlecolu...
hbase(main):003:0> describe "mylittletable"
hbase(main):004:0> put "mylittletable", "myrow", "mylitt...
hbase(main):005:0> get "mylittletable", "myrow"
hbase(main):006:0> scan "mylittletable"
* パフォーマンス [#a512978a]
-[[Cassandra versus HBase performance study:http://www.ma...
--[[High level summary:http://www.brianfrankcooper.net/pu...
--[[Detailed paper:http://www.brianfrankcooper.net/pubs/y...
** チューニング [#l0e48d78]
-[[HBase:Java VM の GC とメモリー関連の設定:http://jp.hm...
-HBase を安定稼動させるためには、Java VM のレスポンス悪化...
-サーバーには十分な RAM を搭載し、Java VM のヒープサイズ...
--HBase の一般的な構成、Region Server、HDFS Data Node、Ha...
-[[Facebook の HDFS クラスターは 21 PB !!!:http://agil...
--21 PB of storage in a single HDFS cluster
--2000 machines
--12 TB per machine (a few machines have 24 TB each)
--1200 machines with 8 cores each + 800 machines with 16 ...
--32 GB of RAM per machine
--15 map-reduce tasks per machine
* 運用 [#rd64a0c2]
-[[私たちがHBaseを使い続ける理由 Part 1:http://groups.goo...
* 各言語での使用 [#f2f1b7d7]
** Scala [#vb72c650]
-[[Hbase/Scala:http://wiki.apache.org/hadoop/Hbase/Scala]]
-[[HBase MapReduce in Scala:http://happy-camper.st/lang/j...
-[[ScalaからHBaseを使ってみる(0.20.6):http://www.mwsoft...
* 事例 [#nfda5f45]
-[[Facebook の HBase は、毎月 1350億 メッセージを処理する...
終了行:
-[[HBaseとはどんなNoSQLデータベースなのか? 日本語で読め...
-[[KeyValueストア:http://lunarium.info/arc/index.php/KeyV...
-[[HBaseの利用:http://lunarium.info/arc/index.php/HBase%E...
--[[SQLとHBaseの操作比較:http://lunarium.info/arc/index.p...
-[[HBase 基礎文法最速マスター:http://d.hatena.ne.jp/Takao...
-[[HBase v.s. MySQL:http://d.hatena.ne.jp/scinfaxi/201006...
-[[HBaseメモ:http://www.ne.jp/asahi/hishidama/home/tech/a...
-[[第1回HBaseとCassandraの討論会のメモ:http://blog.goo.ne...
-[[Key-Value Store (KVS) 入門 [PDF]:http://www-06.ibm.com...
-[[HBasics An Introduction to Hadoop HBase HUGUK, April 1...
* 概要 [#kd223fb1]
-HadoopのHDFS上に構築されたデータベース
-ランダムアクセス、シーケンシャルアクセス共に低レイテンシ...
-テーブルはリージョンに自動的に分割され、リージョンはワー...
-テーブル構造は柔軟で、行を書き込むときに自由にカラムを追...
-データ型はByte配列
-カラム指向
-リアルタイム、MapReduce処理の両方に対応可能
-自動シャーディング
-インデックスは持たない
-レコードはキー順に格納される
-SQLはサポートされない
-強い一貫性
--更新前の古いデータが見えることはない
--レコードに関する操作はアトミック
* HBaseの構成要素 [#s5cdb55e]
** テーブル・ファイル [#jde9d85d]
-名前の付いたTableに、Rowと呼ばれる従来のRDBでいうレコー...
-各データはKeyと任意の数のColumnを持っており、Key順に並べ...
-同一のTableでも保持するColumnの数が大きく変化する為にTab...
-Columnの名称は"<Family>:<Label>"という形式になっており、...
-実File上ではColumnFamilies毎に分かれて保存されている
-HBaseのTableはRowKeyの昇順、Column名の昇順、Timestampの...
-Regionは先頭Key(実ファイル含む)から末尾Key(実ファイル含...
-Regionファイルの内部で各ColumnFamilyはHStoreとして保存さ...
** サーバ [#oca0b17f]
-HBaseMaster (HM)
--リージョンファイルのロードバランシング
-HRegionServer (RS)
--リージョンファイルの保持
--読み込み、書き込み
-ZooKeeper (ZK)
--Rootテーブルの位置情報保持
--HBaseMasterの情報保持
-HDFS
--分散ファイルシステム
--データの複製を保存
* 使い方 on Mac OS X [#fce913a5]
-[[HBase/Hadoop on Mac OS X:http://blog.ibd.com/howto/hba...
-[[Cygwin で Hadoop 0.20.1 を動かす:http://blog.livedoor....
-[[HBase Clusterの作り方:http://lunarium.info/arc/index.p...
** Hadoopのインストール・起動/停止 [#lf2d37a7]
-Hadoop の[[ダウンロード:http://www.apache.org/dyn/closer...
-HBase の[[ダウンロード:http://www.apache.org/dyn/closer....
-展開してできたフォルダを /usr/local/ に移動し、シンボリ...
$ cd /usr/local
$ sudo ln -s hadoop-0.20.2 hadoop
$ sudo ln -s hbase-0.20.6 hbase
-/usr/local/hadoop/conf/hadoop-env.sh の JAVA_HOME を編集
export JAVA_HOME=/System/Library/Frameworks/JavaVM.frame...
-Hadoop用にSSHのキーファイルを生成
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa_for_hadoop
$ cat ~/.ssh/id_dsa_for_hadoop.pub >> ~/.ssh/authorized_...
-/usr/local/hadoop/conf/hadoop-env.sh の HADOOP_SSH_OPTS ...
export HADOOP_SSH_OPTS="-i /Users/$USER/.ssh/id_dsa_for_...
-設定ファイル(/usr/local/hadoop/conf/*.xml)の編集
--core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
--hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
--mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
-初回だけ以下を実行
$ /usr/local/hadoop/bin/hadoop namenode -format
-起動
$ /usr/local/hadoop/bin/start-all.sh
-プロセス確認
$ ps ax | grep hadoop
org.apache.hadoop.mapred.JobTracker
org.apache.hadoop.hdfs.server.namenode.NameNode
org.apache.hadoop.mapred.TaskTracker
org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
org.apache.hadoop.hdfs.server.datanode.DataNode
-停止
$ /usr/local/hadoop/bin/stop-all.sh
-管理画面
--[[NameNode:http://localhost:50070/]]
--[[JobTracker:http://localhost:50030/]]
** HBaseのインストール・起動/停止 [#c22e3450]
-/usr/local/hbase/conf/hbase-env.sh の JAVA_HOME を編集
export JAVA_HOME=/System/Library/Frameworks/JavaVM.frame...
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_SSH_OPTS="-i /Users/$USER/.ssh/id_dsa_for_h...
-テスト
$ /usr/local/hbase/bin/hbase shell
-起動
$ /usr/local/hbase/bin/start-hbase.sh
-停止
$ /usr/local/hbase/bin/stop-hbase.sh
** HBase shell でテスト [#j7bac66f]
$ /usr/local/hbase/bin/hbase shell
hbase(main):001:0> help
hbase(main):002:0> create "mylittletable", "mylittlecolu...
hbase(main):003:0> describe "mylittletable"
hbase(main):004:0> put "mylittletable", "myrow", "mylitt...
hbase(main):005:0> get "mylittletable", "myrow"
hbase(main):006:0> scan "mylittletable"
* パフォーマンス [#a512978a]
-[[Cassandra versus HBase performance study:http://www.ma...
--[[High level summary:http://www.brianfrankcooper.net/pu...
--[[Detailed paper:http://www.brianfrankcooper.net/pubs/y...
** チューニング [#l0e48d78]
-[[HBase:Java VM の GC とメモリー関連の設定:http://jp.hm...
-HBase を安定稼動させるためには、Java VM のレスポンス悪化...
-サーバーには十分な RAM を搭載し、Java VM のヒープサイズ...
--HBase の一般的な構成、Region Server、HDFS Data Node、Ha...
-[[Facebook の HDFS クラスターは 21 PB !!!:http://agil...
--21 PB of storage in a single HDFS cluster
--2000 machines
--12 TB per machine (a few machines have 24 TB each)
--1200 machines with 8 cores each + 800 machines with 16 ...
--32 GB of RAM per machine
--15 map-reduce tasks per machine
* 運用 [#rd64a0c2]
-[[私たちがHBaseを使い続ける理由 Part 1:http://groups.goo...
* 各言語での使用 [#f2f1b7d7]
** Scala [#vb72c650]
-[[Hbase/Scala:http://wiki.apache.org/hadoop/Hbase/Scala]]
-[[HBase MapReduce in Scala:http://happy-camper.st/lang/j...
-[[ScalaからHBaseを使ってみる(0.20.6):http://www.mwsoft...
* 事例 [#nfda5f45]
-[[Facebook の HBase は、毎月 1350億 メッセージを処理する...
ページ名: