• 安装HBase集群


    安装HBase集群

    1 软件环境

    注:我的Hadoop环境已经安装完成。

    1.1 版本选择

    版本的兼容问题很重要!!

    软件环境版本号备注
    CentOS77.6
    JDK1.8.0
    Hadoop3.1.3hadoop-3.1.3.tar.gz
    ZooKeeper3.6.3apache-zookeeper-3.6.3-bin.tar.gz
    HBase2.4.15hbase-2.4.15-bin.tar.gz
    Hive3.1.2apache-hive-3.1.2-bin.tar.gz

    1.2 软件下载

    # Hadoop下载地址
    https://hadoop.apache.org/release.html
    # 下载hadoop-3.1.3.tar.gz
    https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
    
    
    # ZooKeeper下载地址
    https://zookeeper.apache.org/releases.html
    # 下载apache-zookeeper-3.6.3-bin.tar.gz
    https://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
    
    
    # HBase下载地址
    https://hbase.apache.org/downloads.html
    # 下载hbase-2.4.15-bin.tar.gz
    https://dlcdn.apache.org/hbase/2.4.15/hbase-2.4.15-bin.tar.gz
    
    
    # Hive下载地址
    https://hive.apache.org/downloads.html
    # 下载apache-hive-3.1.2-bin.tar.gz
    https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    1.3 Hadoop集群环境

    主机名HDFSYARNIP地址说明
    hadoop0DataNode、NameNodeNodeManager192.168.108.10主节点(master)
    hadoop1DataNodeNodeManager、ResourceManager192.168.108.11子节点
    hadoop2DataNode、Secondary NameNodeNodeManager192.168.108.12子节点

    2 安装HBase

    2.1 HBase集群

    安装目录是/opt/

    主机名HBaseHDFSIP地址说明
    hadoop0HBaseDataNode、NameNode192.168.108.10主节点(master)
    hadoop1HBaseDataNode192.168.108.11子节点
    hadoop2HBaseDataNode、Secondary NameNode192.168.108.12子节点

    2.2 在主节点安装

    (1) 解压文件

    # 先将hbase-2.4.15-bin.tar.gz复制到/opt目录下
    # 进入安装目录
    cd /opt
    
    # 解压文件,解压后会出现hbase-2.4.15目录
    tar -xzvf hbase-2.4.15-bin.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (2)添加环境变量

    # 编辑“/etc/profile”文件
    vim /etc/profile
    
    # 在文件中末尾添加如下内容
    export HBASE_HOME=/opt/hbase-2.4.15
    export PATH=$PATH:$HBASE_HOME/bin
    
    # 使环境变量生效
    source /etc/profile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2.3 修改配置文件

    (1)修改hbase-env.sh文件

    # 进入配置文件目录
    cd /opt/hbase-2.4.15/conf
    
    # 修改hbase-env.sh文件
    vim hbase-env.sh
    
    # 在文件中最后添加如下内容,下面的配置在hbase-env.sh中都可以找到被注释的
    # 注意我的jdk目录是/opt/jdk1.8.0_144,需要修改为自己的目录
    export JAVA_HOME=/opt/jdk1.8.0_144
    export HBASE_MANAGES_ZK=true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    (2)修改hbase-site.xml文件

    # 进入配置文件目录
    cd /opt/hbase-2.4.15/conf
    
    # 修改hbase-site.xml文件
    vim hbase-site.xml
    
    • 1
    • 2
    • 3
    • 4
    • 5

    hbase-site.xml文件内容如下

    <configuration>
    	
    	<property>
    		<name>hbase.cluster.distributedname>
    		
    		<value>truevalue>
    	property>
    	<property>
    		<name>hbase.tmp.dirname>
    		<value>./tmpvalue>
    	property>
    	<property>
    		<name>hbase.unsafe.stream.capability.enforcename>
    		<value>falsevalue>
    	property>
    
    	
    	
    	<property>
    		<name>hbase.zookeeper.quorumname>
    		<value>hadoop0,hadoop1,hadoop2value>
    	property>
    
    	
    	<property>
    		<name>hbase.zookeeper.property.dataDirname>
    		<value>/opt/hbase-2.4.15/zookeeper-datavalue>
    	property>
    
    	
    	
    	<property>
    		<name>hbase.rootdirname>
    		<value>hdfs://hadoop0:9000/hbasevalue>
    	property>
    
    	
    	<property>
    		<name>hbase.master.info.portname>
    		<value>16010value>
    	property>
    
    configuration>
    
    • 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

    (3)修改regionservers文件

    # 进入配置文件目录
    cd /opt/hbase-2.4.15/conf
    
    # 修改regionservers文件
    vim regionservers
    
    • 1
    • 2
    • 3
    • 4
    • 5

    regionservers文件内容如下(删除里面的localhost)

    hadoop0
    hadoop1
    hadoop2
    
    • 1
    • 2
    • 3

    2.4 复制主节点HBase到子节点

    # 复制hbase文件
    scp -r /opt/hbase-2.4.15 root@hadoop1:/opt/
    scp -r /opt/hbase-2.4.15 root@hadoop2:/opt/
    
    # 复制profile文件
    scp /etc/profile  root@hadoop1:/etc/
    scp /etc/profile  root@hadoop2:/etc/
    
    # 注意:复制后,在子节点上用source命令使环境变量起效
    source /etc/profil
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.5 启动HBase

    # 在Master节点上启动HBase
    start-hbase.sh
    
    # 关闭HBase
    stop-hbase.sh
    
    # 查看HBase进程
    jps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    # 查看HBase启动情况,输入以下IP地址和端口号,如下图表明安装成功
    http://192.168.108.10:16010/
    
    • 1
    • 2

    在这里插入图片描述

    3 简单使用HBase Shell

    3.1 连接HBase

    # 连接HBase
    hbase shell
    
    • 1
    • 2

    在这里插入图片描述

    3.2 常用命令

    # (1)创建表和列属性
    # create '表名','列族名1','列族名2'
    # ”列族名“可根据需要自定义,一张表中,列族创建越少越好
    create 'user', 'c1', 'c2'
    
    # (2)查看表
    list
    
    # (3)添加数据
    # put '表名','ROW值','列族名:列名','列值'
    # "ROW值"是唯一的,相当于关系型数据库中的主键
    put 'user', '001', 'c1:name', 'Mason'
    put 'user', '001', 'c1:age', '20'
    put 'user', '002', 'c1:name', '河南大学'
    put 'user', '002', 'c1:age', '110'
    
    # (4)查询数据
    # scan '表名'
    scan 'user'
    # get '表名','ROW值'
    get 'user', '001'
    
    # (5)删除列中的行数据
    # delete '表名','ROW值','列族名:列名'
    # 删除列族为"c1",列名为"name",行键值为"002"的值
    delete 'user', '002', 'c1:name'
    
    # (6)删除行数据
    # delete '表名','ROW值'
    # 删除行键值为'002'的数据
    delete 'user', '002'
    
    # (7)删除表
    # 首先需要disable表
    disable 'user'
    # 再删除表
    drop 'user'
    
    • 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
  • 相关阅读:
    QT 通用算法可以在任何提供STL风格迭代器的容器类上使用
    RabbitMQ
    海量数据怎么处理?报表引擎得选对
    新手如何在IEEE上发表论文?
    干货 | 一改测试步骤代码就全写?为什么不试试用 Yaml实现数据驱动?
    Vue2 修改了数组哪些方法,为什么
    利用chatgpt+低代码技术搭建进销存系统
    【SQL】SQLAlchemy:如何使用Python ORM框架来操作MySQL?
    常用排序算法总结对比
    springboot+学生信息管理 毕业设计-附源码191219
  • 原文地址:https://blog.csdn.net/make_progress/article/details/127639693