HBase2.5.4单机模式与伪分布式的安装与配置(Ubuntu系统)
HBase的安装也分为三种,单机模式、伪分布式模式、完全分布式模式;我们先来安装单机版。
一、环境准备
1. 系统要求
-
Ubuntu 20.04/22.04 LTS
-
Java 8(必须,HBase不兼容更高版本)
-
Hadoop(单机模式不需要,伪分布式模式和分布式模式需要)
-
SSH
-
Vim编辑器
如果以上内容没有安装,请回到Hadoop3.3.5的安装参考如何安装。
2. 验证基础环境
java -version # 需显示1.8.xssh localhost # 确保SSH免密登录正常
二、HBase下载安装
1.下载HBase
点击下面的地址下载HBase2.5.4安装文件HBase官网下载地址,找到hbase-2.5.4-bin.tar.gz文件,下载到本地。
2.安装HBase
使用FinalShell工具将hbase-2.5.4-bin.tar.gz文件上传至虚拟机目录:/home/wll/下载
解压安装包hbase-2.5.4-bin.tar.gz至路径 /usr/local,命令如下:
sudo tar -zxf /home/wll/下载/hbase-2.5.4-bin.tar.gz -C /usr/local
下面把hbase目录权限赋予给wll用户:
sudo chown -R wll /usr/local/hbase-2.5.4
3. 配置环境变量
将hbase2.5.4下的bin目录添加到path中,这样启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。
编辑~/.bashrc文件
vim ~/.bashrc
如果没有引入过PATH,请在~/.bashrc文件尾行添加如下内容:
export HBASE_HOME=/usr/local/hbase-2.5.4
export PATH=$PATH:{HBASE_HOME}/bin
如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,“:”是分隔符。如下图:
编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:
source ~/.bashrc
4. 查看HBase版本
确定hbase安装成功,命令如下
/usr/local/hbase-2.5.4/bin/hbase version
三、HBase单机模式的配置
1. 配置文件/usr/local/hbase-2.5.4/conf/hbase-env.sh
配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:
vim /usr/local/hbase2.5.4/conf/hbase-env.sh
在hbase-env.sh 文件头部中添加如下代码:
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_MANAGES_ZK=true #使用HBase内置ZooKeeper
添加完成后:wq命令保存退出即可。
2. 配置文件/usr/local/hbase-2.5.4/conf/hbase-site.xml
用vi命令打开并编辑hbase-site.xml,命令如下:
vim /usr/local/hbase-2.5.4/conf/hbase-site.xml
在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase-2.5.4/hbase-tmp),配置如下:
<configuration><property><name>hbase.rootdir</name><value>file:///usr/local/hbase-2.5.4/hbase-tmp</value></property>
</configuration>
3.启动与验证HBase
首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:
cd /usr/local/hbase-2.5.4
bin/start-hbase.sh
bin/hbase shell
上述三条命令中, bin/start-hbase.sh用于启动HBase,bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库。成功启动HBase,截图如下:
exit退出Hbase shell命令行模式:
若想停止HBase运行,命令如下:
bin/stop-hbase.sh
注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase-2.5.4)下的logs子目录中的日志文件查看错误原因。
四、HBase伪分布模式的配置
1.配置/usr/local/hbase-2.5.4/conf/hbase-env.sh
用命令vim打开并编辑hbase-env.sh,命令如下:
vim /usr/local/hbase-2.5.4/conf/hbase-env.sh
配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK,
HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase-2.5.4/conf)
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_CLASSPATH=/usr/local/hbase-2.5.4/conf
export HBASE_MANAGES_ZK=true
2.配置/usr/local/hbase-2.5.4/conf/hbase-site.xml
用命令vim打开并编辑hbase-site.xml,命令如下:
vim /usr/local/hbase-2.5.4/conf/hbase-site.xml
修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设为true。若当前Hadoop集群运行在伪分布式模式下,在本机上运行,NameNode运行在9000端口。
<configuration><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>
hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式.
另外,上面配置文件中,hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。也就是说,如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误。
3.测试运行HBase
第一步:启动Hadoop集群
启动Hadoop集群的程序在/usr/local/hadoop-3.3.5/sbin/目录下,由于我们配置了HDDOOP环境变量,所以可以在任意目录下输入start-dfs.sh命令启动hadoop集群,jps查看启动进程。
start-dfs.sh
第二步:启动HBase
启动HBase的程序在/usr/local/hbase-2.5.4/bin/目录下,由于我们配置了HBase的环境变量,所以可以在任意目录下输入start-hbase.sh命令启动hadoop集群,jps查看启动进程,hbase-shell启动shell命令行窗口。
start-hbase.sh #启动HBase
jps #查看启动进程
hbase-shell #启动hbase shell
第三步:停止HBase运行
stop-hbase.sh
jps
若出现关闭HBase时,输入stop-hbase.sh命令一直处于等待状态。
解决方法:
首先停止HBase的主进程master,然后再执行停止命令。
hbase-daemon.sh stop masterstop-hbase.sh
注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase-2.5.4)下的logs子目录中的日志文件查看错误原因。
这里启动关闭Hadoop和HBase的顺序一定是:
启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop