在這篇blog中,我們將介紹Hbase的單機模式安裝與偽散布式的安裝方式,和通過閱讀器查看Hbase的用戶界面。搭建hbase偽散布式環境的條件是我們已搭建好了hadoop完全散布式環境,搭建hadoop環境請參考:【Hadoop基礎教程】4、Hadoop之完全散布式環境搭建
硬件環境:Centos 6.5 服務器4臺(1臺為Master節點,3臺為Slave節點)
軟件環境:Java 1.7.0_45、Eclipse Juno Service Release 2、hadoop⑴.2.1、hbase-0.94.20。
1) 下載安裝包
hbase-090.3.tar.gz版本與hadoop⑴.2.1良好兼容,從官網下載hbase-090.3.tar.gz安裝包,并將下載的hbase-090.3.tar.gz拷貝到/home/hadoop目錄下。hbase官網下載地址:http://archive.apache.org/dist/hbase/
選擇HBase-0.94.20版本,下載 HBase Releases.
2) 解壓安裝包
[hadoop@K-Master ~]$ cd /usr
[hadoop@K-Master usr]$ sudo tar -xvf /home/hadoop/hbase-090.3.tar.gz #解壓安裝源碼包
[hadoop@K-Master usr]$ mv hbase-090.3 hbase #重命名
[hadoop@K-Master usr]$ cd hbase
[hadoop@K-Master hbase]$ sudo chown -R hadoop:hadoop hbase #賦予hbase安裝目錄下所有文件hadoop權限
3) 配置安裝路徑
#將hbase下的bin目錄添加到系統的path中,在/etc/profile文件尾行添加以下的內容
[hadoop@K-Master usr]$ sudo vim /etc/profile
export PATH=$PATH:/usr/hbase/bin
#履行source命令使上述配置在當前終端立即生效
[hadoop@K-Master usr]$ source /etc/profile
4) 驗證是不是安裝成功
[hadoop@K-Master usr]$ hbase version
14/07/21 18:01:57 INFO util.VersionInfo: HBase 0.94.20
14/07/21 18:01:57 INFO util.VersionInfo: Subversion git://newbunny/home/lars/dev/hbase-0.94 -r 09c60d770f2869ca315910ba0f9a5ee9797b1edc
14/07/21 18:01:57 INFO util.VersionInfo: Compiled by lars on Fri May 23 22:00:41 PDT 2014
看到以上打印消息表示Hbase已安裝成功,接下來將分別進行Hbase單機模式和偽散布式模式的配置。
1) 配置/conf/hbase-env.sh
將JAVA_HOME變量設置為Java安裝的根目錄,配置以下所示:
[hadoop@K-Master hbase]$ vim conf/hbase-env.sh
#對hbase-env.sh文件做以下修改:
export JAVA_HOME=/usr/java/jdk1.7.0_65 #配置本機的java安裝根目錄
export HBASE_MANAGES_ZK=true #配置由hbase自己管理zookeeper,不需要單獨的zookeeper。
2) 配置/conf/hbase-site.xml
在啟動Hbase前需要設置屬性hbase.rootdir,用于指定Hbase數據的存儲位置,此處設置為HBase安裝目錄下的hbase-tmp文件夾即(file:///usr/hbase/hbase-tmp),配置以下:
[hadoop@K-Master hbase]$ vim conf/hbase-site.sh
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/hbase/hbase-tmp</value>
</property>
</configuration>
特別注意:hbase.rootdir默許為/tmp/hbase-${user.name},這意味著每次重啟系統都會丟失數據。
3) 啟動Hbase
[hadoop@K-Master hbase]$ start-hbase.sh
starting master, logging to /usr/hbase/bin/../logs/hbase-hadoop-master-K-Master.localdomain.out
4) 進入shell模式
進入shell模式以后,通過status命令查看Hbase的運行狀態,通過exit命令退出shell。
[hadoop@K-Master hbase]$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.20, r09c60d770f2869ca315910ba0f9a5ee9797b1edc, Fri May 23 22:00:41 PDT 2014
hbase(main):001:0> status
1 servers, 0 dead, 2.0000 average load
hbase(main):002:0> exit
5) 停止HBase
[hadoop@K-Master hbase]$ stop-hbase.sh
stopping hbase.....................
特別注意:如果在操作Hbase的進程中產生毛病,可以通過{HBASE_HOME}目錄(/usr/hbase)下的logs子目錄中的日志文件查看毛病緣由。
1) 配置/conf/hbase-env.sh
添加變量HBASE_CLASSPATH,并將路徑設置為本機Hadoop安裝目錄下的conf目錄(即{HADOOP_HOME}/conf)。修改完成后,hbase-env.sh的配置以下:
[hadoop@K-Master hbase]$ vim conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HBASE_CLASSPATH=/usr/hadoop/conf
export HBASE_MANAGES_ZK=true
2) 配置/conf/hbase-site.xml
修改hbase.rootdir,將其指向K-Master(與hdfs的端口保持1致),并指定HBase在HDFS上的存儲路徑。將屬性hbase.cluter.distributed設置為true。假定當前Hadoop集群運行在偽散布式模式下,且NameNode運行在9000端口;
[hadoop@K-Master hbase]$ vim hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://K-Master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
3) 啟動HBase
完成以上操作后啟動HBase,啟動順序:先啟動Hadoop