HBase的安装
封面画师:画师JW 封面ID:79206020
前提
下载地址:HBase下载地址
安装参考地址:厦门大学数据库实验室
本次安装建立在虚拟机(或服务器)已成功安装Hadoop和JDK8的前提下!!
建议配置SSH免密码登录。
版本选择:
Hadoop:3.2.1
JDK:1.8.0_231
HBase:2.2.2
Hadoop和HBase有强烈的版本依赖性,请勿随意选择版本!!
版本依赖查看方式:
在官网使用浏览器搜索(Ctrl + F)关键词Hadoop version support matrix
,查看二维版本支持表。
我的选择:
我在学习Hadoop选取了当时最新的Hadoop版本(3.2.1),但是在本次学习HBase时,发现官网并没有匹配我的Hadoop版本的HBase版本。但我并不想丢弃我已配置好的Hadoop版本,因此在搜索引擎搜索关键词,试图找寻匹配的HBase版本:
然后发现有这样的结果,因此就选择了HBase 2.2.2 的版本。
但是安装时也是抱着试试的态度,如果能成功就太好了,经过几小时的折腾,最终还是成功了。
安装前须知:
Linux环境下,我当前的用户名:mofan,我的主机名:db06。
配置环境时,你需要将这两处改成你自己的名称!!
HBase安装
- 进入管理员权限:
1 | [mofan@db06 ~]$ su |
- 切换至根目录,并创建文件夹HBase用于放置HBase安装包,同时修改HBase文件夹权限使我们能够成功复制Windows下的安装包到这个目录下:
1 | [root@db06 ~]# cd / |
- 将Windows下的安装包复制到Linux下的HBase目录下(复制时不建议使用直接拖拽的方式);
- 解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local,并查看是否解压成功 :
1 | [root@db06 HBase]# tar -zxf hbase-2.2.2-bin.tar.gz -C /usr/local |
- 将解压文件名hbase-2.2.2修改为hbase(方便以后操作),并查看是否修改成功:
1 | [root@db06 local]# mv ./hbase-2.2.2 ./hbase |
- 把hbase目录权限赋予给mofan(这是我的用户名,你可以赋予你自己的用户)用户:
1 | [root@db06 local]# chown -R mofan ./hbase |
- 切换目录至/etc,编辑profile文件:
1 | [root@db06 local]# cd /etc |
- 在你以前配置Java和Hadoop环境变量的位置配置HBase的环境变量:
按下键盘 i 键进入编辑模式,配置完环境变量后,按下esc键退出编辑模式,之后输入命令 :wq 退出编辑。
1 | export HBASE_HOME=/usr/local/hbase |
注意:“=” 前后不能有空格,否则会报错!
- 退出编辑后,我们需要 让我们的配置生效:
1 | [root@db06 etc]# source profile |
注意:如果不进行该操作环境变量可能会不生效,导致在运行HBase输入 start-hbase 命令时显示未找到命令:
- 修改hbase的配置文件${HBASE_HOME}/conf/hbase-env.sh:
1 | export JAVA_HOME=/home/mofan/jdk1.8.0_231 |
这里的JAVA_HOME就是你JDK的安装目录,而HBASE_MANAGES_ZK我们需要将其配置为true。为什么?
注意:HBASE_MANAGES_ZK为true,表示HBase自己管理zookeeper,为false表示需要单独的zookepper。但我们并没有安装单独的zookeeper,如果该配置项选择了false,以后启动HBase后查看进程(命令 jps)时,就会导致HMaster进程会出现又消失的问题。
- 编辑.xml配置文件 ${HBASE_HOME}/conf/hbase-site.xml:(此处并没有配置完,这样的配置会导致一些问题,问题与解决方式在下文“问题”处给出并解决)
1 | <configuration> |
注意:hbase.rootdir的主机和端口号与hadoop的配置文件core-site.xml的fs.default.name的主机和端口号一致。hbase.zookeeper.quorum的值为主机号。
hadoop的配置文件core-site.xml位置:${HADOOP_HOME}/etc/hadoop/core-site.xml
问题
- 启动HBase后,执行jps命令,出现HMaster进程,但是过几秒又消失,查看日志:
解决:
在配置文件 hbase-site.xml中添加:
1 | <property> |
- 启动Hbase,并输入 jps 命令,进程HMaster、HRegionServer、HQuorumPeer都有,但是无法访问60010端口:
解决:
原因是HBase 1.0 之后的版本都需要在hbase-site.xml中配置端口,配置如下:
1 | <property> |
启动测试
- 先启动Hadoop,输入以下命令:
1 | start-all.sh |
- 再启动HBase,(进入HBase下的bin目录)输入以下命令:
1 | start-hbase.sh |
- 检查进程是否已运行,输入命令:
1 | jps |
- 进程情况:
- 在浏览器访问60010端口进行查看:
此处的地址是输入自己配置的IP地址,我在此处配置了静态IP(192.168.32.123),方便在Windows环境下访问,因此是这样的IP地址,如果你没有配置静态IP,那么使用localhost:60010就可以访问。
- 关闭环境:先关闭HBase再关闭Hadoop。