介绍
当您需要对大数据进行随机、实时的读写访问时,请使用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就安装成功了!