安装hbase伪分布式,遇到的各种坑。

在大数据课程,安装hbase伪分布式时,遇到的各种坑。

搭建环境:Ubuntu 18.0.4 ,hadoop-3.2.1 , hbase-2.2.4 , zookeeper-3.6.0

详细的安装过程就不写了,本次只分享错误的解决方法哈!

  1. 错误一: 启动hbase出现
    /hadoop/hadoop-3.2.1/libexec/hadoop-functions.sh: 行 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: 错误的替换
    /hadoop/hadoop-3.2.1/libexec/hadoop-functions.sh: 行 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: 错误的替换
    /hadoop/hadoop-3.2.1/libexec/hadoop-functions.sh: 行 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: 错误的替换
    /hadoop/hadoop-3.2.1/libexec/hadoop-functions.sh: 行 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: 错误的替换

    安装hbase伪分布式,遇到的各种坑。
    解决方法:建议换一个较低版本的hbase,就不会出现这个问题。如果不想更换,这个问题可以忽略,因为不影响jps的进程,而hbase shell下的命令也能执行成功。可以看看上图。

  2. 错误二: 启动hadoop,./start-all.sh出现
    SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.;
    安装hbase伪分布式,遇到的各种坑。
    解决方法:
    出现该问题原因是我之前将/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar文件删了,现在再把该文件放回去就没事了
    安装hbase伪分布式,遇到的各种坑。

  3. 错误三: 运行hbase shell 下的list或status出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet;
    安装hbase伪分布式,遇到的各种坑。
    解决方法:这是由于hadoop启动是还处在安全模式造成的
    通过下面名查看 果然处于安全模式开启状态
    hadoop dfsadmin -safemode get
    安装hbase伪分布式,遇到的各种坑。
    hadoop dfsadmin -safemode leave 关闭
    安装hbase伪分布式,遇到的各种坑。

  4. 错误四: 运行status出现ERROR: Can’t get master address from ZooKeeper; znode data == null;
    安装hbase伪分布式,遇到的各种坑。
    解决方法:
    格式化hadoop,到sbin目录下执行hadoop namenode -format(注意:建议先把hadoop存放的临时文件删除,如我的/data/hadoop/tmp下的文件,和/data/hadoop/hdfs/data下的文件,和/data/hadoop/hdfs/name下的文件删除,避免出现DataNode,NameNode节点不能出现)
    安装hbase伪分布式,遇到的各种坑。

  5. 错误五: hbase shell下运行list出现ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing;
    安装hbase伪分布式,遇到的各种坑。
    解决方法:删除zookeeper/logs目录下的文件
    安装hbase伪分布式,遇到的各种坑。

  6. 错误六: 关闭hbase,./stop-hbase.sh提示stopping hbasecat: /tmp/hbase-hadoop-master.pid: 没有那个文件或目录;
    安装hbase伪分布式,遇到的各种坑。
    解决方法:
    在hbase目录下conf文件夹下 hbase-env.sh中修改pid文件的存放路径,看注释,hbase默认注释掉HBASE_PID_DIR,而hbase默认把pid文件放在/tmp目录下,Ubuntu 默认重启自动删除/tmp文件夹中的目录 。删除之后hbase无法找到,在配置中把目录改成不会被删除的目录就行。
    #The directory where pid files are stored. /tmp by default.
    export HBASE_PID_DIR=/data/tmp/zookeeper-hbase
    安装hbase伪分布式,遇到的各种坑。