HBase【部署 01】CentOS 7.5 部署 hbase-2.4.5 单机版standalone模式(详细安装+配置+增删改查测试脚本)(附开源镜像站地址)

2024-04-09 1154阅读

HBase的 官网 内容还是挺多的,下载安装包还是使用 清华大学开源软件镜像站 会快一些 ⚡️ 本文的安装文件为:hbase-2.4.5-bin.tar.gz

hbase-2.4.5 单机版standalone模式

  • 1.前置条件
  • 2.模式说明
  • 3.安装配置
  • 4.启动验证
  • 5.简单测试

    1.前置条件

    HBase 是一个构建在 Hadoop 文件系统之上的面向列的数据库管理系统。运行时不仅需要 Hadoop 还依赖 JDK 环境,HBase 2.0+ 以上版本不再支持 JDK 1.7 ,需要JDK 1.8+【1.8永远嘀神 👍】

    # 只贴出版本信息
    [root@tcloud ~]# hadoop version
    Hadoop 3.1.3
    [root@tcloud ~]# java -version
    java version "1.8.0_251"
    

    2.模式说明

    • standalone模式下,所有守护进程都运行在一个 jvm 进程/实例中;
    • 伪分布模式下,HBase 仍然在单个主机上运行,但是每个守护进程 (HMaster,HRegionServer 和 ZooKeeper) 则分别作为一个单独的进程运行。

      说明:两种模式的部署对于开发测试来说区别不大【这里部署standalone模式】。

      3.安装配置

      # 1.解压并移动到/usr/local/hbase下
      tar -zxvf hbase-2.4.5-bin.tar.g
      mv ./hbase-2.4.5/ /usr/local/hbase/
      # 2.配置环境变量
      vim /etc/profile.d/my_env.sh
      	# 添加
      	export HBASE_HOME=/usr/local/hbase
      	export PATH=$HBASE_HOME/bin:$PATH
      	# 使得配置的环境变量立即生效:
      		# 首先是要赋权限【只操作一次就行】
      		chmod +x /etc/profile.d/my_env.sh
      source /etc/profile.d/my_env.sh
      # 验证一下
      echo $HBASE_HOME # 显示/usr/local/hbase表示成功
      # 3.修改配置文件 hbase-env.sh
      vim /usr/local/hbase/conf/hbase-env.sh
      	# 配置 JAVA_HOME
      	export JAVA_HOME=/usr/local/java/
      	# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
      	# export HBASE_MANAGES_ZK=true
      	# 如果使用外置的zookeeper服务可以设置成false【云服务器内存吃紧 没有使用外置的】
      	export HBASE_MANAGES_ZK=false
      # 4.添加数据文件夹【放哪里可以自己定】
      mkdir /usr/local/hbase/rootdir
      # 5.修改配置文件 hbase-site.xml
      vim /usr/local/hbase/conf/hbase-site.xml 
      
      	
      	
      		hbase.cluster.distributed
      		false
      	
      	
      		hbase.tmp.dir
      		./tmp
      	
      	
      		hbase.unsafe.stream.capability.enforce
      		false
      	
      	
      	
      		hbase.rootdir
      		
      		
      		
      		file:///usr/local/hbase/rootdir
      	
      	
      	
      		hbase.zookeeper.property.dataDir
      		/home/zookeeper/hbaseDir
      	
      
      
      • hbase.rootdir : 配置 hbase 数据的存储路径;
      • hbase.zookeeper.property.dataDir : 配置 zookeeper 数据的存储路径;
      • hbase.unsafe.stream.capability.enforce : 使用本地文件系统存储,不使用 HDFS 的情况下需要禁用此配置,设置为 false。
        # 6.修改 regionservers 指定 region servers 的地址 
        vim /usr/local/hbase/conf/regionservers
        	# 原始配置为localhost 如果配置过ip映射 这里可以不修改
        	tcloud
        

        4.启动验证

        [root@tcloud ~]# start-hbase.sh
        # 无关日志信息不再贴出
        running master, logging to /usr/local/hbase/logs/hbase-root-master-tcloud.out
        # 使用jps 查看是否有 HMaster
        [root@tcloud ~]# jps
        26258 SecondaryNameNode
        26019 DataNode
        25862 NameNode
        4921 HMaster
        5386 Jps
        

        也可以通过ip:16010/访问Hbase的web页面

        HBase【部署 01】CentOS 7.5 部署 hbase-2.4.5 单机版standalone模式(详细安装+配置+增删改查测试脚本)(附开源镜像站地址)

        5.简单测试

        [root@tcloud ~]# hbase shell
        # 无关信息不再贴出
        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.5, r03b8c0cf426cbae3284225b73040ec574d5bac34, Tue Jul 27 09:44:16 PDT 2021
        Took 0.0021 seconds
        hbase:001:0>
        # (1)创建列族信息
        hbase:001:0> create 'student','info'
        Created table student
        Took 2.2369 seconds
        => Hbase::Table - student
        # (2)录入数据
        hbase:002:0> put 'student','1','info:name','yuanzhengme'
        Took 0.4601 seconds
        hbase:003:0> put 'student','1','info:gender','F'
        Took 0.0267 seconds
        hbase:004:0> put 'student','1','info:age','20'
        Took 0.0328 seconds
        # (3)查询数据
        ## get命令
        hbase:005:0> get 'student','1'
        COLUMN                                              CELL
         info:age                                           timestamp=2021-09-14T14:24:01.964, value=20
         info:gender                                        timestamp=2021-09-14T14:23:59.357, value=F
         info:name                                          timestamp=2021-09-14T14:23:52.578, value=yuanzhengme
        1 row(s)
        Took 0.3296 seconds
        ## scan命令
        hbase:006:0> scan 'student'
        ROW  COLUMN+CELL
         1   column=info:age, timestamp=2021-09-14T14:24:01.964, value=20
         1   column=info:gender, timestamp=2021-09-14T14:23:59.357, value=F
         1   column=info:name, timestamp=2021-09-14T14:23:52.578, value=yuanzhengme
        1 row(s)
        Took 0.0647 seconds
        # (4)删除数据
        ## delete
        hbase:007:0> delete 'student','1','info:age'
        Took 0.0541 seconds
        hbase:008:0> get 'student','1'
        COLUMN                                              CELL
         info:gender                                        timestamp=2021-09-14T14:23:59.357, value=F
         info:name                                          timestamp=2021-09-14T14:23:52.578, value=yuanzhengme
        1 row(s)
        Took 0.2272 seconds
        ## deleteall
        hbase:009:0> deleteall 'student','1'
        Took 3.0058 seconds
        hbase:010:0> get 'student','1'
        COLUMN                                              CELL
        0 row(s)
        Took 0.0302 seconds
        # (5)删除表 删除表要先disable再drop
        hbase:011:0> disable 'student'
        Took 2.1733 seconds
        hbase:012:0> drop 'student'
        Took 0.7922 seconds
        # (6)查询表的历史版本
        hbase:013:0> create 'teacher', { NAME=> 'username', VERSIONS=> 5 }
        Created table teacher
        Took 0.8262 seconds
        => Hbase::Table - teacher
        ## 这里不再贴出 Took xxx seconds
        hbase:014:0> put 'teacher','1','username','yuanzhengme'
        hbase:015:0> put 'teacher','1','username','yuanzhengm'
        hbase:016:0> put 'teacher','1','username','yuanzheng'
        hbase:017:0> put 'teacher','1','username','yuanzhen'
        hbase:018:0> put 'teacher','1','username','yuanzhe'
        hbase:019:0> put 'teacher','1','username','yuanzh'
        hbase:020:0> put 'teacher','1','username','yuanz'
        hbase:021:0> put 'teacher','1','username','yuan'
        ## 简单查询 只显示最新数据
        hbase:022:0> get 'teacher','1'
        COLUMN                                              CELL
         username:                                          timestamp=2021-09-14T14:47:03.841, value=yuan
        1 row(s)
        Took 0.9945 seconds
        ## 查询版本
        hbase:023:0> get 'teacher', '1', { COLUMN=>'username', VERSIONS=>5 }
        COLUMN                                              CELL
         username:                                          timestamp=2021-09-14T14:47:03.841, value=yuan
         username:                                          timestamp=2021-09-14T14:47:02.285, value=yuanz
         username:                                          timestamp=2021-09-14T14:47:02.154, value=yuanzh
         username:                                          timestamp=2021-09-14T14:47:02.103, value=yuanzhe
         username:                                          timestamp=2021-09-14T14:47:02.026, value=yuanzhen
        1 row(s)
        Took 0.0193 seconds
        ## 查询版本【超出表设置的版本是无效的】
        hbase:024:0> get 'teacher', '1', { COLUMN=> 'username', VERSIONS=> 6 }
        COLUMN                                              CELL
         username:                                          timestamp=2021-09-14T14:47:03.841, value=yuan
         username:                                          timestamp=2021-09-14T14:47:02.285, value=yuanz
         username:                                          timestamp=2021-09-14T14:47:02.154, value=yuanzh
         username:                                          timestamp=2021-09-14T14:47:02.103, value=yuanzhe
         username:                                          timestamp=2021-09-14T14:47:02.026, value=yuanzhen
        1 row(s)
        Took 0.0189 seconds
        ## 查询版本【可以查询少于设置的版本数】
        hbase:025:0> get 'teacher', '1', { COLUMN=> 'username', VERSIONS=> 4 }
        COLUMN                                              CELL
         username:                                          timestamp=2021-09-14T14:47:03.841, value=yuan
         username:                                          timestamp=2021-09-14T14:47:02.285, value=yuanz
         username:                                          timestamp=2021-09-14T14:47:02.154, value=yuanzh
         username:                                          timestamp=2021-09-14T14:47:02.103, value=yuanzhe
        1 row(s)
        Took 0.3921 seconds
        # (7)退出
        hbase:026:0> exit
        
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]