前言
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。本文是在【教程】【环境搭建】大数据伪分布式搭建Hadoop(Win10+ECS+putty+FileZilla)这篇博客的基础环境上继搭建的。
解压缩HBase安装文件
这里选用的HBase的版本是1.1.5。
1.解压缩
(1)进入test用户的主目录
cd ~
(2)解压安装包到/usr/local目录下
sudo tar -zxvf ~/Downloads/hbase-1.1.5-bin.tar.gz -C /usr/local
2.更改名字和权限
(1)进入/usr/local
cd /usr/local
(2)将文件更名,方便操作
sudo mv ./hbase-1.1.5 ./hbase
(3)更改权限,test:123是用户名:密码
sudo chown -R test:123 ./hbase
配置环境变量
1.修改配置文件
(1)打开配置文件
vim ~/.bashrc
(2)如果之前该文件中没有引入过PATH环境变量,请在~/.bashrc文件开头添加一行如下内容:
export PATH=$PATH:/usr/local/hbase/bin
如果此前已经在该文件中引入过PATH,请把“/usr/local/hbase/bin”增加在原来PATH后面,用英文的冒号“:”连接起来。举例如下:
比如,原来的~/.bashrc文件内容可能如下:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
那么,把“/usr/local/hbase/bin”增加在原来PATH后面,用英文的冒号“:”连接起来的效果如下:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:/usr/local/hbase/bin
(因为我是跟着教程安装的,所以我是后面这种情况)
2.验证安装
(1)执行source命令使上述配置在当前终端立即生效
source ~/.bashrc
(2)查看HBase版本,确定HBase是否安装成功
/usr/local/hbase/bin/hbase version
如果能够显示如下信息,就说明单机版HBase安装成功了,注意,单机版HBase使用Ubuntu本地文件系统保存数据,不涉及数据的分布式存储HDFS。
2020-04-02 10:12:16,803 INFO [main] util.VersionInfo: HBase 1.1.5
2020-04-02 10:12:16,804 INFO [main] util.VersionInfo: Source code repository git://diocles.local/Volumes/hbase-1.1.5/hbase revision=239b80456118175b340b2e562a5568b5c744252e
2020-04-02 10:12:16,804 INFO [main] util.VersionInfo: Compiled by ndimiduk on Sun May 8 20:29:26 PDT 2016
2020-04-02 10:12:16,804 INFO [main] util.VersionInfo: From source with checksum7ad8dc6c5daba19e4aab081181a2457d
HBase伪分布式模式配置
1.配置/usr/local/hbase/conf/hbase-env.sh
(1)进入/usr/local/hbase/conf
cd /usr/local/hbase/conf
(2)打开./hbase-env.sh
vim ./hbase-env.sh
(3)配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.
HBASE_CLASSPATH设置为本机Hadoop安装目录下的conf目录(即/usr/local/hadoop/conf),在该文件的最前面,添加如下三行内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=true
2.配置/usr/local/hbase/conf/hbase-site.xml
(1)进入/usr/local/hbase/conf(如果按上面的操作的话,现在应该还在这个目录下)
cd /usr/local/hbase/conf
(2)打开./hbase-site.xml
vim ./hbase-site.xml
(3)打开后,可以看到configuration标签内是空的,没有任何配置信息,请把配置信息写到整个标签里。
修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。因为我们当前ECS实例中的Hadoop是运行在伪分布式模式下,且NameNode运行在9000端口。
configuration标签修改以后的内容如下:(括号及其内容记得替换)
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://(私有IP):9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
上面配置中,hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式。
上面配置中,请替换括号内容,可以登录控制台,查询自己的ECS实例的私网IP地址。
测试运行HBase
1.启动Hadoop(如果已经启动Hadoop请跳过此步骤)
(1)进入/usr/local/hadoop
cd /usr/local/hadoop
(2)启动Hadoop
./sbin/start-dfs.sh
(3)查看是否启动成功
jps
如果显示以下类似的进程信息,则表明启动成功:
992 Jps
647 DataNode
873 SecondaryNameNode
494 NameNode
2.启动HBase
(1)进入/usr/local/hbase
cd /usr/local/hbase
(2)启动HBase
./bin/start-hbase.sh
(3)查看是否启动成功
jps
如果显示一以下类似的进程信息,则表明启动成功:
2579 HMaster
2708 HRegionServer
647 DataNode
3016 Jps
873 SecondaryNameNode
494 NameNode
2510 HQuorumPeer
3.进入HBase Shell交互式执行环境
(1)进入/usr/local/hbase
cd /usr/local/hbase
(2)启动Shell
./bin/hbase shell
启动后的屏幕信息如下:
这里好像有报错的信息,但是目前没有影响操作,我就暂时先放着了,原因是和之前安装的Hadoop的jar包冲突了。
4.停止HBase
(1)进入/usr/local/hbase
cd /usr/local/hbase
(2)停止HBase
./bin/stop-hbase.sh
后记
相比之前搭建Hadoop,HBase搭建明显快多了,因为熟练了,操作都差不多:安装包解压→配置环境→伪分布式配置→测试运行,把Hadoop的生态一个个搭建起来挺有趣的。
参考文章
厦门大学的林子雨老师写过一系列大数据环境搭建的博客教程,可以去看看他的博客,写得很详细。
1.在阿里云中搭建大数据实验环境
2.在ECS实例的Ubuntu系统中安装HBase
3.再附上一篇HBase基础命令的文章:大数据原理与应用 第四章 分布式数据库HBase 学习指南