启动hive报错no hbase in

时间:2023-01-24 17:52:30

启动hive报错no hbase in

hdfs和yarn都启动成功之后,启动hive,如下所示:

[atguigu@hadoop102 conf]$ cd /opt/module/hive/
[atguigu@hadoop102 hive]$ bin/hive

报错信息如下

which: no hbase in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/module/jdk/bin:/opt/module/hadoop/bin:/opt/module/hadoop/sbin:/opt/module/jdk/bin:/home/atguigu/.local/bin:/home/atguigu/bin:/opt/module/jdk/bin:/opt/module/hadoop/bin:/opt/module/hadoop/sbin:/opt/module/hive/bin:/opt/module/jdk/bin)

没有安装hbase,通过finals hell把hbase-2.0.5-bin.tar.gz上传到/opt/software目录下并解压到/opt/module/目录下进行安装

解决方法:安装hbase

安装hbase前提1)Zookeeper集群正常部署,并启动; 2)Hadoop集群正常部署,并启动

1) Zookeeper正常部署

首先保证Zookeeper集群的正常部署,并启动之:

[atguigu@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start
[atguigu@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start
[atguigu@hadoop104 zookeeper-3.5.7]$ bin/zkServer.sh star

2) Hadoop正常部署

Hadoop集群的正常部署并启动:

[atguigu@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
[atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh
[atguigu@hadoop102 software]$ tar -zxvf hbase-2.0.5-bin.tar.gz -C/opt/module

安装Hbase

解压Hbase到指定目录:

[atguigu@hadoop102 software]$ tar -zxvf hbase-2.0.5-bin.tar.gz -C/opt/module
[atguigu@hadoop102 software]$ mv /opt/module/hbase-2.0.5/opt/module/hbase

配置环境变量

[atguigu@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
添加
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin

环境变量配置完成最好source一下(集群环境,在所有机器上source或者在Hadoop102

上source然后同步分发),让其生效

[atguigu@hadoop102 module]$ source /etc/profile.d/my_env.sh
[atguigu@hadoop103 module]$ source /etc/profile.d/my_env.sh
[atguigu@hadoop104 module]$ source /etc/profile.d/my_env.sh

HBase的配置文件

修改HBase对应的配置文件。

1. 修改conf/hbase-env.sh修改内容:

export HBASE_MANAGES_ZK=false# HBase启动后,为了避免HBase启动ZooKeeper
 
export HBASE_PID_DIR=/opt/module/hbase/pids #修改hbase的进程PID存储目录
  1. 修改conf/hbase-site.xml修改内容:

<configuration>
    <property>
       <name>hbase.rootdir</name>
       <value>hdfs://hadoop102:8020/hbase</value>
    </property>
 
    <property>
       <name>hbase.cluster.distributed</name>
       <value>true</value>
    </property>
 
    <property>
       <name>hbase.zookeeper.quorum</name>
       <value>hadoop102,hadoop103,hadoop104</value>
    </property>
     
    <property>
       <name>hbase.wal.provider</name>
       <value>filesystem</value>
    </property>
     
    #控制HBase是否检查流功能(hflush / hsync)如果您打算在rootdir表示的LocalFileSystem上运行,那就禁用此选项
    <property>
            <name>hbase.unsafe.stream.capability.enforce</name>
            <value>false</value>
    </property>
</configuration>

3.修改conf下regionservers文件:

hadoop102
hadoop103
hadoop104

HBase远程发送到其他集群

[atguigu@hadoop102 module]$ xsync hbase/

HBase服务的启动

1.单点启动

[atguigu@hadoop102 hbase]$ bin/hbase-daemon.sh start master
[atguigu@hadoop102 hbase]$ bin/hbase-daemon.sh start regionserver

2.群启

[atguigu@hadoop102 hbase]$ bin/start-hbase.sh

对应的停止服务:

[atguigu@hadoop102 hbase]$ bin/stop-hbase.sh

再次启动hive无报错

启动hive报错no hbase in