注意事項
HBase配置必須使用主機名,不支持直接配置IP地址。我嘗試過,如果不使用主機名直接用IP,會導致HBase連接zk超時。
> 設置主機名
hostnamectl set-hostname HM107
> 修改hosts添加主機名和IP的映射關系
vim /etc/hosts
192.168.1.100 hm107
注意:如果是集群其他節點和使用的Client也要添加該host映射關系。
>選擇版本
我選擇:HBase1.0.3 & Hadoop 2.5.2。
安裝HBase需要考慮和Hadoop版本的兼容性。
HBase與Hadoop版本的兼容情況,可參考:
《HBase各版本對Hadoop版本的支持情況》:http://blog.csdn.net/sunny05296/article/details/54089194
Hadoop對JDK的版本要求,參考:http://blog.csdn.net/sunny05296/article/details/54346500
>下載HBase安裝包
HBase官方下載鏡像:http://www.apache.org/dyn/closer.cgi/hbase/
我下載HBase-1.0.3:http://mirrors.cnnic.cn/apache/hbase/hbase-1.0.3/hbase-1.0.3-bin.tar.gz
>下載Hadoop安裝包
Hadoop官方資料:http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/SingleCluster.html
Hadoop官方下載鏡像:http://www.apache.org/dyn/closer.cgi/hadoop/common/
我下載Hadoop-2.5.2:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
>JDK安裝
>Hadoop-2.5.2安裝
參考:《Centos7上Hadoop的安裝和配置》文中的JDK安裝和Hadoop安裝
http://blog.csdn.net/sunny05296/article/details/54292593
>HBase-1.0.3安裝
1.解壓
cd /opt/
tar -zxvf hbase-1.0.3-bin.tar.gz
2.創建tmp文件夾作為hbase的數據目錄
cd hbase-1.0.3/
mkdir tmp
3.修改配置文件hbase-site.xml,單機只需如下配置:
vim /opt/hbase-1.0.3/conf/hbase-site.xml
使用本地文件系統:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///opt/hbase-1.0.3/tmp/hbase</value>
</property>
</configuration>
或使用hdfs文件系統:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://HM107:9000/hbase</value>
</property>
</configuration>
使用hdfs文件系統時,必須配置主機名,不支持IP。如果配置IP,無法遠程訪問。我親測過,最初使用的IP 192.168.1.100,遠程無法訪問,后來還是給服務器配置了主機名HM107,並在這里配置上主機名。
配置hbase.rootdir來指定Hbase將數據寫到哪個目錄。默認hbase.rootdir是指向/tmp/hbase-${user.name},會在重啟后丟失數據(重啟系統會清理/tmp),所以推薦修改該配置。
4.修改配置文件conf/hbase-env.sh
vim /opt/hbase-1.0.3/conf/hbase-env.sh
export HBASE_MANAGES_ZK=true
說明:BASE_MANAGES_ZK 來切換zookeeper。如果未true,是讓Hbase啟動的時候同時也啟動zookeeper。如果自己安裝了zookeeper,則這里要配置成false。
我直接配置單機版,默認使用內部的zookeeper,未單獨安裝,所以配置成了true。
5.啟動HBase之前,先確認hadoop已經啟動
hadoop dfsadmin -report
6.HBase的啟動和停止,集群的啟動和停止則在Master節點上執行命令
bin/start-hbase.sh
bin/stop-hbase.sh