HBase2.5.3安装

下载bin版本hbase-2.5.3-bin.tar.gz

http://archive.apache.org/dist/hbase/http://archive.apache.org/dist/hbase/

1. HBase2.5.3安装

   1.1 解压安装包hbase-2.5.3-bin.tar.gz至路径 /usr/local,命令如下:

 cd ~          #进入主目录

 cd Downloads     # 进入Downloads文件夹

    sudo tar -zxf ./hbase-2.5.3-bin.tar.gz -C /usr/local

   1.2 将解压的文件名hbase-1.1.2改为hbase,以方便使用,命令如下:

    sudo mv /usr/local/hbase-2.5.3 /usr/local/hbase

   1.3 配置环境变量
       将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。

     vi ~/.bashrc

      没有引入过PATH请在尾行添加如下内容  (输入字母a(或i):编辑;Esc:退出编辑):

      export PATH=$PATH:/usr/local/hbase/bin(退出编辑后输入:wq 保存退出)

      如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,这里的“:”是分隔符

编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:

    source ~/.bashrc

扩展阅读: 设置Linux环境变量的方法和区别

     1.4 添加HBase权限

    cd /usr/local
    sudo chown -R hadoop ./hbase    
 

    #将hbase下的所有文件的所有者改为hadoop,hadoop是当前用户的用户名

     1.5 查看HBase版本,确定hbase安装成功,命令如下:

    /usr/local/hbase/bin/hbase version

  看到输出版本消息表示HBase已经安装成功

2. HBase配置

     HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。作为学习,我们重点讨论单机模式和伪分布式模式。以下先决条件很重要,比如没有配置JAVA_HOME环境变量,就会报错。
- jdk
- Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)
- SSH

以上三者如果没有安装,请回到Hadoop3.1.3的安装参考如何安装。

2.1单机模式配置

1. 配置/usr/local/hbase/conf/hbase-env.sh 。配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:

vim /usr/local/hbase/conf/hbase-env.sh

配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。hbase-env.sh中本来就存在这些变量的配置,大家只需要删除前面的#并修改配置内容即可(#代表注释):

export JAVA_HOME=/usr/lib/jvm/java
export HBASE_MANAGES_ZK=true 

添加完成后保存退出即可。

2. 配置/usr/local/hbase/conf/hbase-site.xml
打开并编辑hbase-site.xml,命令如下:

vi /usr/local/hbase/conf/hbase-site.xml

在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase/hbase-tmp),添加配置如下:


       
                hbase.rootdir
                file:///usr/local/hbase/hbase-tmp
       

3. 接下来测试运行。首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:

cd /usr/local/hbase
bin/start-hbase.sh
bin/hbase shell

上述三条命令中,sudo bin/start-hbase.sh用于启动HBase,bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库。

停止HBase运行,命令如下(先exit退出):

bin/stop-hbase.sh

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase)下的logs子目录中的日志文件查看错误原因。

2.2伪分布式模式

1.对于启动文件进行配置:sudo gedit /usr/local/hbase/conf/hbase-env.sh

配置JAVA_HOMEHBASE_CLASSPATHHBASE_MANAGES_ZKHBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase/conf)

export JAVA_HOME=/usr/lib/jvm/java

export HBASE_CLASSPATH=/usr/local/hbase/conf

export HBASE_MANAGES_ZK=true

2.配置hbase-site.xml配置文件:sudo gedit /usr/local/hbase/conf/hbase-site.xml

修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。假设当前Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口。


       
                hbase.rootdir
                hdfs://localhost:9000/hbase
       

       
                hbase.cluster.distributed
                true
       

3. 接下来测试运行HBase。

第一步:首先登陆ssh,之前设置了无密码登陆,因此这里不需要密码;再切换目录至/usr/local/hadoop ;再启动hadoop,如果已经启动hadoop请跳过此步骤。命令如下:

cd /usr/local/hadoop
./sbin/start-dfs.sh

输入命令jps,能看到NameNode,DataNode和SecondaryNameNode都已经成功启动,表示hadoop启动成功

若没有显示Datanode,可能是多次进行格式化format出现的值不对位。

[解决方案] 选择jps未出现的datanode的虚拟机,进行如下操作:

1. 停止hadoop:stop-all.sh

2. 删除tmp下的文件:cd ./tmp/

                                   ll
                                   rm -rf dfs/

3.格式化HDFS:hdfs namenode -format

4.重启hadoop:start-all.sh

第二步:切换目录至/usr/local/hbase;再启动HBase.命令如下:

cd /usr/local/hbase
bin/start-hbase.sh

此时jps指令返回内容应在NameNode,DataNodeSecondaryNameNode以外新增HMaster,HQuorumPeerHRegionServer

执行:bin/hbase shell # 打开shell命令行模式

成功则出现:HBase2.5.3安装_第1张图片

4.停止HBase运行,命令如下:bin/stop-hbase.sh

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase)下的logs子目录中的日志文件查看错误原因。
这里启动关闭Hadoop和HBase的顺序一定是:
启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop

错误处理 

来自 HBase安装(基于Ubuntu 22.04, Hadoop3.3.4的HBase2.5.3安装)

如果遇到如下报错:

ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet

其是因为HBaseHadoop的库冲突或Hadoop当前处于安全模式导致的。可以以如下方法解决:

  1. Hadoop安全模式检查和解除

    未正常关闭集群Hadoop进入安装模式,导致外部无法访问,关闭安全模式即可访问。

    先启动Hadoop然后

    1. hdfs dfsadmin -safemode get #查看安全模式
    2. hdfs dfsadmin -safemode leave #关闭安全模式

    也可以通过Hadoop web页面查看。

  2. 库冲突
    库冲突常在启动HBase时报错:

    1. SLF4J: Class path contains multiple SLF4J bindings.

    HBasehbase-env.sh中将 export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true" 注释去掉,也可以把 引号也删除,若配置文件没有这个信息则直接插入即可,该配置表示,启动时告诉HBase是否应该包含Hadooplib, 默认值为false,表示包含Hadooplib

建议同时查验1和2,并在完成后关闭HBase重启。

你可能感兴趣的:(linux,hadoop,hbase)