环境
目录
1、下载并上传安装文件至Linux服务器上
2、解压安装文件,并配置regionservers
文件
3、配置hbase-env.sh.xml
文件
4、配置hbase-site.xml
文件
5、创建临时tmp目录
6、复制Hbase包到其他节点,并配置和加载环境变量
7、启动和验证HBase,并在web上查看
正文
Hadoop集群所有节点【主+从 节点】都要安装HBase
HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。
HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。
它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。
使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。
官方下载包括历史各版本
HBase依赖于Hadoop版本,具体可看官网Hadoop version support matrix
利用SecureCRT的SFTP功能上传至master节点指定目录下:
sftp> put E:\share\hbase-1.3.1-bin.tar.gz
Uploading hbase-1.3.1-bin.tar.gz to /opt/bigdata/hbase-1.3.1-bin.tar.gz
100% 103240KB 51620KB/s 00:00:02
E:/share/hbase-1.3.1-bin.tar.gz: 105718722 bytes transferred in 2 seconds (51620 KB/s)
sftp>
regionservers
文件首先在master节点上操作:
[root@master bigdata]# pwd
/opt/bigdata
[root@master bigdata]# ls *.gz
hbase-1.3.1-bin.tar.gz
[root@master bigdata]# tar zxvf hbase-1.3.1-bin.tar.gz
...
配置regionservers主机名【区域服务器】,内容如下:
[root@master conf]# pwd
/opt/bigdata/hbase-1.3.1/conf
[root@master conf]# cat regionservers
master
slave1
slave2
localhost
hbase-env.sh
文件配置/conf/hbase-env.sh
文件:
1)JDK
export JAVA_HOME=/opt/bigdata/jdk1.8.0_211
2)关闭HBase自带的Zookeeper,使用Zookeeper集群
export HBASE_MANAGES_ZK=false
3)设置HBASE_PID_DIR目录
export HBASE_PID_DIR=/var/hadoop/pids
4)注释掉下方两行:因为这两个配置是用于jdk1.7的,我用的是jdk1.8,所以去掉这两个配置项
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=12
8m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:Ma
xPermSize=128m"
5)修改Hbase堆设置,将其设置成4G
export HBASE_HEAPSIZE=4G
hbase-site.xml
文件配置HBase核心参数:/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/bigdata/hbase-1.3.1/tmp/hbase</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/bigdata/zookeeper-3.4.5/tmp/zookeeper</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>120000</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
创建临时目录
[root@master ~]# mkdir -p /opt/bigdata/hbase-1.3.1/tmp/hbase
[root@master ~]# mkdir -p /opt/bigdata/zookeeper-3.4.5/tmp/zookeeper
复制HBase包到其他节点(slave1、slave2)【在master节点操作】
[root@master ~]# scp -r /opt/bigdata/hbase-1.3.1 root@slave1:/opt/bigdata/hbase-1.3.1
[root@master ~]# scp -r /opt/bigdata/hbase-1.3.1 root@slave2:/opt/bigdata/hbase-1.3.1
3个节点都配置环境变量,并重新加载环境变量
vi /etc/profile
增加内容如下:
export HBASE_HOME=/opt/bigdata/hbase-1.3.1
export PATH=$HBASE_HOME/bin:$PATH
重新加载环境变量
source /etc/profile
在master节点启动HBase:
[root@master hbase-1.3.1]# pwd
/opt/bigdata/hbase-1.3.1
[root@master hbase-1.3.1]# bin/start-hbase.sh
...
[root@master hbase-1.3.1]# jps
102275 HRegionServer
102370 Jps
21829 NameNode
22198 ResourceManager
43338 Master
22031 SecondaryNameNode
43583 Worker
其中主、从节点是:
HMaster
、 HRegionServer
;HRegionServer
。在浏览器http://master:60010
可查看HBase监控信息
在任何节点上都可以:
[root@master ~]# source /etc/profile
[root@master ~]# /opt/bigdata/hbase-1.3.1/bin/hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr 6 19:36:54 PDT 2017
hbase(main):002:0> version
1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr 6 19:36:54 PDT 2017
hbase(main):003:0>
关闭HBase:
[root@master hbase-1.3.1]# bin/stop-hbase.sh
参考链接
CentOS7 安装 hbase1.3.3:讲的非常好,包括时间同步、HBase与hadoop版本依赖关系