介紹
當您需要對大數據進行隨機、實時的讀寫訪問時,請使用Apache HBase™。該項目的目標是在普通硬件集羣上託管非常大的表(數十億行X數百萬列)。Apache HBase是一個開源的、分佈式的、版本化的、非關係型數據庫,它模仿了谷歌的Bigtable:一個用於結構化數據的分佈式存儲系統。正如Bigtable利用谷歌文件系統提供的分佈式數據存儲一樣,Apache HBase在Hadoop和HDFS之上提供了類似Bigtable的功能。
版本
HBase與Java版本,我們使用JDK8
HBase與Hadoop版本,Hadoop版本是2.7.7所以HBase選擇1.4.12
編譯
HBase源碼編譯:https://blog.csdn.net/DataIntel_XiAn/article/details/99874230
安裝
修改hbase-env.sh中的Java目錄
export JAVA_HOME=/opt/java
export HBASE_MANAGES_ZK=false
修改hbase-site.xml
<!-- 指定 hbase 在 HDFS 上存儲的路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:9000/user/hbase</value>
</property>
<!-- 指定 hbase 是分佈式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
修改regionservers
echo hadoop > regionservers
啓動
start-hbase.sh
警告:在JDK1.8之後是不存在PermSize
running master, logging to /home/hadoop/hbase/logs/hbase-hadoop-master-hadoop.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
hadoop: running regionserver, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-regionserver-hadoop.out
hadoop: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
hadoop: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
在配置文件中將以下兩個屬性註釋掉
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
測試
登錄:http://hadoop:16010/master-status
至此,HBase就安裝成功了!