下面說明Hbase ubuntu12.04上的安裝,假設在安裝Hbase前你已經正确安裝了Hadoop(可以參見以前的博文).
1.1下載下傳解壓最新版本
選擇一個 Apache 下載下傳鏡像:http://www.apache.org/dyn/closer.cgi/hbase/,下載下傳 HBase Releases. 點選 stable目錄,然後下載下傳字尾為 .tar.gz 的檔案; 例如 hbase-0.94.8.tar.gz.
tar -zxvf hbase-0.94.8.tar.gz
cd hbase-0.94.8
現在你已經可以啟動Hbase了。但是你可能需要先編輯 conf/hbase-site.xml 去配置hbase.rootdir,來選擇Hbase将資料寫到哪個目錄 .
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl" target="_blank" rel="external nofollow" ?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///DIRECTORY/hbase</value>
</property>
</configuration>
将 DIRECTORY 替換成你期望寫檔案的目錄. 預設 hbase.rootdir 是指向 /tmp/hbase-${user.name} ,也就說你會在重新開機後丢失資料(重新開機的時
候作業系統會清理/tmp目錄)
1.2. 啟動 HBase
現在啟動Hbase:
$ ./bin/start-hbase.sh
starting Master, logging to logs/hbase-user-master-example.org.out
現在你運作的是單機模式的Hbaes。是以的服務都運作在一個JVM上,包括Hbase和Zookeeper。Hbase的日志放在
logs
目錄,當你啟動出問題的時候,
可以檢查這個日志。
安裝過程出現的錯誤:
1,ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times
很明顯,日志中說RPC協定不一緻所造成的,恍然見明白因為我在hbase的配置檔案中将rootdir設定為hdfs,如果這兩者的RPC協定不一緻就會導緻這個問題。
解決方法:
将hbase/lib目錄下的hadoop-core的jar檔案删除,将hadoop目錄下的hadoop-****-core.jar拷貝到hbase/lib下面,然後重新啟動hbase即可。
2,ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.
解決方法:
如果系統是Ubuntu的話,要注意
/etc/hosts裡面的127.0.0.1是否是127.0.1.1,如果是的話,把他改過來就可以了。
1.3 測試,hbase shell
用shell 連接配接Hbase
hbase(main):003:0> create 'test', 'c1'
0 row(s) in 1.2200 seconds
hbase(main):003:0> list 'table'
test
1 row(s) in 0.0550 seconds
hbase(main):004:0> put 'test', 'row1', 'c1:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'test', 'row2', 'c1:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'test', 'row3', 'c1:c', 'value3'
0 row(s) in 0.0450 seconds
以上我們分别插入了3行。第一個行key為
row1
, 列為
c1:a
, 值是
value1
。Hbase中的列是由 column family字首和列的名字組成的,以冒号間隔。
例如這一行的列名就是
a
.
檢查插入情況:Scan這個表,操作如下:
hbase(main):007:0> scan 'test'
zookeeper安裝
(1): 從http://mirror.bjtu.edu.cn/apache/zookeeper/stable/下載下傳。
我下載下傳的是zookeeper-3.4.4
(2):解壓到: /home/zack/hadoop/zookeeper-3.4.4
(3):把conf下的zoo_sample.cfg copy一份後重命名為: zoo.cfg.
檔案中内容如下:
syncLimit=5
initLimit=10
tickTime=2000
clientPort=2181
dataDir=/home/zack/hadoop/zookeeper/data
dataLogDir=/home/zack/hadoop/zookeeper/log
(4): 建立zookeeper下的data,log目錄,将chmod 777 -R zookeeper一把
(5): 增加環境變量:
vim ~/.bashrc
export ZOOKEEPER_INSTALL=/home/zack/hadoop/zookeeper-3.4.4
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
source ~/.bashrc 使之生效.
(6): zkServer.sh start 啟動
eclipse 示例見:
http://blog.csdn.net/challenchenzhipeng/article/details/7887109
注意: 要是以前用過eclipse 配置過操作Hadoop,那麼你需要重新找個沒有配置過的eclipse來進行Hbase上的程式設計。