0.95版本hbase 單機模式下所有的服務都運行在一個JVM上,包括HBase和zookeeper。使用的是本地文件系統(tǒng)
日志默認放在目錄下logs文件夾中
基本命令:create 'table','cf' //創(chuàng)建一個table名字的表,cloumn family為cfput 'table','row1','cf:a','value1' //插入table表中一條數(shù)據(jù),row1為key值,a為列名,value1為值list ‘table’ //列出所有的表。table不是表名scan ‘table’ //查看表中所有數(shù)據(jù)get ‘table’,‘row1’ //取數(shù)據(jù)disable ‘table’ //?drop ‘table’;//刪除表
hbase 分默認配置文件和用戶自定義配置文件
hbase要求本地換回地址必須是127.0.0.1,不能是127.0.1.1等。Ubuntu默認是127.0.1.1
常用的linux最大文件句柄不能滿足hbase的要求,默認1024,設置到10K
sync 持久化同步
hbase的hadoop.jar必須和hadoop的hadoop.jar保持一致
hadoop hdfs有一個同時處理文件數(shù)的上限,這個上限至少要為4096,dfs.datanode.max.xcievers
hbase 分單機、偽分布式、完全分布式。和hadoop相同
hbase的數(shù)據(jù)目錄hbase.rootdir要讓它自己創(chuàng)建,不要自己創(chuàng)建
使用完全分布式模式,要把hbase.cluster.distributed 設置為true
hbase的conf/regionservers相當于hadoop的conf/slaves或者etc/slaves
一個分布式的hbase依賴一個zookeeper集群
hbase默認master端口 60000
hbase判斷宕機默認為失聯(lián)3分鐘
hbase的表是按key排序的
使用HBase的時候要讓HBase的版本和hadoop的對應才行,不然會出很多問題。方法有兩種,一種是用hadoop的jar包替換HBase里面的hadoop jar包,強迫它們對應起來;另一種就是找到原配,根據(jù)hadoop的版本去選擇HBase的版本;
我更傾向于第二種。查看方法是看HBase 的lib中hadoop相關的jar包的版本。

在穩(wěn)定版本中它們大概的對應關系為:




可以看到,在一些過渡版本比如0.96.2、0.98.7有hadoop1.x和2.x的不同版本。
至于HBase與hadoop其他組件之間的關系,我讀到一個帖子,感覺非常受用(雖然它的題目是HBase簡介,但是我覺得它的題目更適合叫HBase與其他hadoop子項目之間的關系)
引用自:http://www.aboutyun.com/thread-6138-1-1.html

其中HBase位于結構化存儲層,Hadoop HDFS為HBase提供了高可靠性的底層存儲支持,Hadoop MaPReduce為HBase提供了高性能的計算能力,Zookeeper為HBase提供了穩(wěn)定服務和failover機制。此外,Pig和Hive還為HBase提供了高層語言支持,使得在HBase上進行數(shù)據(jù)統(tǒng)計處理變的非常簡單。 Sqoop則為HBase提供了方便的RDBMS數(shù)據(jù)導入功能,使得傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)向HBase中遷移變的非常方便。
(才知道RDBMS是這么個東西)
HBase通過row和column確定一份數(shù)據(jù),這份數(shù)據(jù)的值可能有多個版本,為什么會存在多個版本?查詢的時候會顯示那個版本?保證數(shù)據(jù)不被修改,查詢時總是顯示最新版本
存儲類型
TableName 是字符串RowKey 和 ColumnName 是二進制值(java 類型 byte[])Timestamp 是一個 64 位整數(shù)(Java 類型 long)value 是一個字節(jié)數(shù)組(Java類型 byte[])。
可以簡單的將HTable的存儲結構理解為
Hbase的優(yōu)點 1 列的可以動態(tài)增加,并且列為空就不存儲數(shù)據(jù),節(jié)省存儲空間.2 Hbase自動切分數(shù)據(jù),使得數(shù)據(jù)存儲自動具有水平scalability.3 Hbase可以提供高并發(fā)讀寫操作的支持Hbase的缺點:1 不能支持條件查詢,只支持按照Row key來查詢.2 暫時不能支持Master server的故障切換,當Master宕機后,整個存儲系統(tǒng)就會掛掉.
HBase和傳統(tǒng)型數(shù)據(jù)庫的區(qū)別(http://www.aboutyun.com/thread-7804-1-1.html)
新聞熱點
疑難解答