• 安装HBase-2.4.12 (hadoop3.3.1)


    1. 下载

    https://www.apache.org/dyn/closer.lua/hbase/2.4.12/hbase-2.4.12-bin.tar.gz
    在这里插入图片描述
    节点角色配置

    节点MasterZooKeeperRegionServer
    node001yesyesyes
    node002backupyesyes
    node003noyesyes

    2. 解压下载的文件,并切换到新创建的目录。

    (base) [root@node001 bao]# tar -zxvf hbase-2.4.12-bin.tar.gz -C ../src
    (base) [root@node001 bao]# cd ../src/hbase-2.4.12/conf
    
    • 1
    • 2

    3. 配置hbase-env.sh

    (base) [root@node001 conf]# $JAVA_HOME
    -bash: /usr/local/java: 是一个目录
    (base) [root@node001 conf]# vim hbase-env.sh
    
    export JAVA_HOME=/usr/local/java/
    export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
    export HBASE_CLASSPATH=/opt/src/hadoop-3.3.1/etc/hadoop/
    export HBASE_MANAGES_ZK=false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4. 配置hbase-site.xml

      <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
      </property>
      <property>
        <name>hbase.rootdir</name>
        <value>hdfs://node001:8020/hbase</value>
      </property>
      <property>
        <name>hbase.zookeeper.quorum</name>
        <value>node001,node002,node003</value>
      </property>
      <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/tmp/zookeeper/data</value>
      </property>
       <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
      </property>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    5. 配置regionservers

    (base) [root@node001 conf]# vim regionservers
    (base) [root@node001 conf]# cat regionservers
    node001.djin.com
    node002.djin.com
    node003.djin.com
    
    • 1
    • 2
    • 3
    • 4
    • 5

    6 配置备主节点

    (base) [root@node001 conf]# pwd
    /opt/src/hbase-2.4.12/conf
    (base) [root@node001 conf]# touch backup-masters
    (base) [root@node001 conf]# echo node002> backup-masters
    
    • 1
    • 2
    • 3
    • 4

    7. 配置环境变量

    (base) [root@node001 hbase-2.4.12]# vim ~/.bashrc
    #set HBASE_HOME
    export HBASE_HOME=/opt/src/hbase-2.4.12
    export PATH= $PATH:$HBASE_HOME/bin
    
    • 1
    • 2
    • 3
    • 4

    8. 链接hadoop配置

    (base) [root@node001 ~]# ln -s $HADOOP_HOME/etc/hadoop/core-site.xml $HBASE_HOME/conf/core-site.xml
    (base) [root@node001 ~]# ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf/hdfs-site.xml
    
    • 1
    • 2

    9. 同步配置到其他节点

    9.1 同步环境变量

    (base) [root@node001 hbase-2.4.12]# pscp -h /node.list ~/.bashrc ~/
    
    • 1

    在这里插入图片描述
    到各节点激活配置

    source ~/.bashrc
    
    • 1

    9.2 同步包及配置

    (base) [root@node001 src]# pscp -h /node.list -r /opt/src/hbase-2.4.12 /opt/src/
    
    • 1

    在这里插入图片描述

    10. 启动

    10.1 启动 hadoop

    (base) [root@node001 bin]# cat myhadoop.sh
    #!/bin/bash
    
    if [$# -lt 1]
    then
            echo "No Args Input..."
            exit;
    fi
    
    case $1 in
    "start")
            echo "=================启动Hadoop集群==============="
            echo "-----------------启动hdfs----------------"
            ssh node001 "/opt/src/hadoop-3.3.1/sbin/start-dfs.sh"
            sleep 5
            echo "-----------------启动yarn----------------"
            ssh node002 "/opt/src/hadoop-3.3.1/sbin/start-yarn.sh"
            sleep 5
            echo "-----------------启动historyserver----------------"
            ssh node001 "/opt/src/hadoop-3.3.1/bin/mapred --daemon start historyserver"
            sleep 5
    ;;
    "stop")
            echo "=================关闭Hadoop集群==============="
            echo "-----------------关闭historyserver----------------"
            ssh node001 "/opt/src/hadoop-3.3.1/bin/mapred --daemon stop historyserver"
            sleep 5
            echo "-----------------关闭yarn----------------"
            ssh node002 "/opt/src/hadoop-3.3.1/sbin/stop-yarn.sh"
            sleep 5
            echo "-----------------关闭hdfs----------------"
            ssh node001 "/opt/src/hadoop-3.3.1/sbin/stop-dfs.sh"
            sleep 5
    ;;
    *)
            echo "Input Args Error.."
    ;;
    esac
    (base) [root@node001 bin]# myhadoop.sh start
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    10.2 启动zookeeper

    (base) [root@node001 data]# cat /home/djin/bin/start-zk-all
    #! /bin/bash
    for host in node001 node002 node003
    do
    ssh $host "/opt/src/zookeeper-3.6.3/bin/zkServer.sh start"
    echo "$host zkServer is running"
    done
    (base) [root@node001 data]# start-zk-all
    (base) [root@node001 data]# jps
    8576 DataNode
    9475 JobHistoryServer
    8309 NameNode
    9175 NodeManager
    28008 QuorumPeerMain
    28095 Jps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    10.3 启动hbase

    (base) [root@node001 ssh]# start-hbase.sh
    
    • 1

    错误1:如报Host key verification failed 错误 解决Host key verification failed
    错误2:未能在hdfs上创建/hbase目录

    1. 查看日志
    (base) [root@node001 ~]# vim $HBASE_HOME/logs/hbase-root-master-node001.djin.com.log
     util.FSUtils: Waiting for dfs to exit safe mode...
    
    • 1
    • 2
    1. 百度一把发现时hadoop处于安全模式,创建不了目录
    (base) [root@node001 ~]# hdfs dfsadmin -safemode get
    Safe mode is ON
    
    • 1
    • 2
    1. 关闭安全模式,之后就可以成功创建hdfs目录/hbase
    (base) [root@node001 ~]# hadoop dfsadmin -safemode leave
    (base) [root@node001 ~]# hdfs dfsadmin -safemode get
    Safe mode is OFF
    
    • 1
    • 2
    • 3

    11.启动hbase shell测试

    hbase shell启动失败解决
    问题解决后启动测试

    (base) [root@node001 lib]# hbase shell
    2022-05-23 22:34:43,074 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    HBase Shell
    Use "help" to get list of supported commands.
    Use "exit" to quit this interactive shell.
    For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
    Version 2.4.12, r8382f55b15be6ae190f8d202a5e6a40af177ec76, Fri Apr 29 19:34:27 PDT 2022
    Took 0.0010 seconds
    hbase:001:0> exit
    (base) [root@node001 lib]# hbase shell
    2022-05-23 22:49:45,386 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    HBase Shell
    Use "help" to get list of supported commands.
    Use "exit" to quit this interactive shell.
    For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
    Version 2.4.12, r8382f55b15be6ae190f8d202a5e6a40af177ec76, Fri Apr 29 19:34:27 PDT 2022
    Took 0.0011 seconds
    hbase:001:0> create 'test', 'cf'
    Created table test
    Took 0.9043 seconds
    => Hbase::Table - test
    hbase:002:0> list 'test'
    TABLE
    test
    1 row(s)
    Took 0.0175 seconds
    => ["test"]
    hbase:003:0> describe 'test'
    Table test is ENABLED
    test
    COLUMN FAMILIES DESCRIPTION
    {NAME => 'cf', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING =>
    'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOP
    E => '0'}
    
    1 row(s)
    Quota is disabled
    Took 0.0877 seconds
    hbase:004:0> put 'test', 'row1', 'cf:a', 'value1'
    Took 0.0573 seconds
    hbase:005:0> put 'test', 'row2', 'cf:b', 'value2'
    Took 0.0056 seconds
    hbase:006:0> put 'test', 'row3', 'cf:c', 'value3'
    Took 0.0091 seconds
    hbase:007:0> scan 'test'
    ROW                               COLUMN+CELL
     row1                             column=cf:a, timestamp=2022-05-23T22:52:42.123, value=value1
     row2                             column=cf:b, timestamp=2022-05-23T22:52:53.079, value=value2
     row3                             column=cf:c, timestamp=2022-05-23T22:53:04.220, value=value3
    3 row(s)
    Took 0.0212 seconds
    hbase:008:0> get 'test', 'row1'
    COLUMN                            CELL
     cf:a                             timestamp=2022-05-23T22:52:42.123, value=value1
    1 row(s)
    Took 0.5428 seconds
    hbase:009:0> disable 'test'
    Took 0.3357 seconds
    hbase:010:0> enable 'test'
    Took 0.6361 seconds
    hbase:011:0> disable 'test'
    Took 0.3328 seconds
    hbase:012:0> drop 'test'
    Took 0.1287 seconds
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
  • 相关阅读:
    Swagger使用详解
    【蓝桥杯冲击国赛计划第6天】字典
    Json和Js之间转化(实际开发常用)
    ES主要功能特性和使用场景
    MySQL——分页查询
    Android 10.0 关于在系统Launcher3中调用截图api总是返回null的解决方案
    【老生谈算法】matlab绘制温度场原理——温度场原理
    【数据库数据恢复】SQL Server数据库磁盘空间不足的数据恢复案例
    2022河南萌新联赛第(二)场:河南理工大学 D - 数对
    “我们把最扎心的话,说给了自己最亲近的人” 何解?| IDCF
  • 原文地址:https://blog.csdn.net/qq_36048223/article/details/124851016