首页 > 其他分享 >HBase:从基础操作到集群管理

HBase:从基础操作到集群管理

时间:2024-06-23 13:43:50浏览次数:3  
标签:stu export 集群 test 操作 HBase mydb hbase

HBase简介

HBase,一个由Apache软件基金会开发的分布式、面向列的NoSQL数据库,以其高性能和可扩展性在大数据领域占据着重要地位。

HBase的基本概念

HBase是基于Google的Bigtable模型构建的,它是一个分布式、可扩展、面向列的存储系统,适合于存储大量的非结构化和半结构化的稀疏数据集。HBase的数据存储在HDFS上,通过ZooKeeper进行集群协调。

HBase架构概览

HMaster

  • 监控RegionServer的状态
  • 处理RegionServer故障转移
  • 管理元数据变更
  • 负责Region的分配和负载均衡

HRegionServer

  • 负责存储实际数据
  • 处理分配给它的Region
  • 刷新MemStore到HFile
  • 维护WAL(Write-Ahead Log)

HFile与Store

  • HFile是HBase表数据的底层存储文件
  • Store是HFile的容器,对应于表中的一个列族

MemStore

  • 内存中的数据缓存,用于快速读取操作

HBase的部署与启动

在开始HBase的操作之前,我们需要先部署HBase集群。以下是部署HBase的基本步骤:

  1. 下载并解压HBase

    wget http://apache.mirrors.lucidnetworks.net/hbase/stable/hbase-2.4.5-bin.tar.gz
    tar -xzvf hbase-2.4.5-bin.tar.gz
    
  2. 配置环境变量

    export HBASE_HOME=/export/servers/hbase-2.4.5
    export PATH=$PATH:$HBASE_HOME/bin
    
  3. 配置hbase-env.sh

    export JAVA_HOME=/export/servers/jdk1.8.0_161
    export HBASE_MANAGES_ZK=false  # 使用外部ZooKeeper
    
  4. 配置hbase-site.xml

    <configuration>
      <!-- 配置项 -->
    </configuration>
    
  5. 拷贝ZooKeeper配置

    cp /path/to/zookeeper/conf/zoo.cfg $HBASE_HOME/conf/
    
  6. 启动HBase

    start-hbase.sh
    

HBase基本操作演示

进入HBase Shell

hbase shell

数据库操作

  • 查看所有命名空间:
    list_namespace
    
  • 创建命名空间:
    create_namespace 'mydb'
    
  • 删除命名空间:
    drop_namespace 'mydb'
    

表操作

  • 在'mydb'命名空间下创建表:
    create 'mydb:test', 'f1', 'f2'
    
  • 查看表详细信息:
    describe 'mydb:test'
    
  • 增加列族:
    alter 'mydb:test', 'f3'
    
  • 删除列族:
    alter 'mydb:test', {NAME => 'f2', METHOD => 'delete'}
    

数据的CRUD操作

  • 插入数据:
    put 'stu', '1001', 'info:name', 'linghc'
    put 'stu', '1001', 'info:age', '26'
    
  • 根据行键查询:
    get 'stu', '1001'
    
  • 扫描表数据:
    scan 'stu'
    

数据版本控制

  • 查寻每个单元格的2个版本数据:
    scan 'stu', {RAW => true, VERSIONS => 2}
    
  • 更改表的版本设置:
    alter 'stu', {NAME => 'info', VERSIONS => 2}
    

数据删除

  • 删除指定列:
    delete 'stu', '1001', 'info:sex'
    
  • 根据行键和列名删除列:
    deleteall 'stu', '1001', 'info:sex'
    

表的删除

  • 删除表前需要先禁用表:
    disable 'mydb:test'
    drop 'mydb:test'
    

HBase作为一个强大的NoSQL数据库,其灵活的数据模型和高性能的特点使其成为处理大规模数据集的理想选择。随着技术的不断发展,HBase将继续在大数据领域扮演重要角色。

标签:stu,export,集群,test,操作,HBase,mydb,hbase
From: https://www.cnblogs.com/xiaoyu-w/p/18263344

相关文章

  • Zookeeper安装、配置与基本操作指南
    ApacheZookeeper安装、配置与基本操作指南ApacheZookeeper是一个分布式协调服务,用于维护配置信息、命名、提供分布式同步以及提供组服务。本文结合两篇详细的技术文档,介绍Zookeeper的安装、配置以及基本操作。一、Zookeeper的安装与配置1.环境准备在安装Zookeeper之......
  • Teamcenter 产品配置前操作代码
     importjava.math.BigInteger;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;importorg.apache.log4j.Logger;importcom.cfg0.services.internal.strong.configurator.ConfiguratorManagementService;importc......
  • C++ 20新特性之改进的位操作
    ......
  • 文件操作<C语言>
    导言       平时我们在写程序时,在运行时申请内存空间,运行完时内存空间被收回,如果想要持久化的保存,我们就可以使用文件,所以下文将要介绍一些在程序中完成一些文件操作。目录导言文件流文件指针文件的打开与关闭打开:关闭:文件操作顺序读写:单个字符:fputc函......
  • elasticsearch-7.17.15 集群安装部署及kibana配置
    一、物料准备(注意:必须版本一致):1、安装包 elasticsearch-7.17.15-linux-x86_64.tar.gz(这个版本的插件需要在线使用命令安装:/es/elasticsearch-7.17.15/bin/elasticsearch-plugininstallhttps://get.infini.cloud/elasticsearch/analysis-ik/7.17.15,或者用我的传送门) an......
  • 【GitHub从入门到精通】Github如何参与开源贡献:pull request的详细操作流程
    本文深入探讨了如何通过Github的PullRequest功能参与开源项目。文章首先介绍了必要的准备工作,包括创建Github账号和配置SSHKey。接下来,详细描述了从Fork项目到克隆仓库,再到创建新分支、在本地进行更改、提交和推送更改的每一步骤。然后,解释了如何创建和参与PullRequest,并......
  • C++ STL容器操作:6种常用场景算法
    C++STL容器操作:6种常用场景算法    •   引言   •   概述   •   查找与计数   ▪   std::find   ▪   std::find_if   ▪   std::find_if_not   ▪   std::find_end   ▪   std::find_first_of......
  • 【C语言】带你玩转“操作符”(上)
    目录 1. 操作符的分类   2.  原码、反码、补码   3. 移位操作符  3.1 左移操作符3.2 右移操作符   4. 位操作符:&、|、^、~   5. 单目操作符   6. 逗号表达式   最近准备期末考试,好久不见啦,现在回归——正文开始......
  • 09--keepalived高可用集群
    前言:高可用集群配置是大型网站的一个基础,网站可用性的基础保障之一,这里将对应的概念知识和实操步骤进行整理与收集。1、基础概念详解1.1、高可用集群高可用集群(HighAvailabilityCluster,简称HACluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务......
  • testng + mockito + spring boot test 基本操作
    代码地址https://gitee.com/bzrj/thresh-boot如何使用在thresh-dependencies目录执行mvncleaninstall在跟目录执行make效果jacocoallure关键配置thresh-test此模块包含了测试需要的依赖定义了两个testng监听thresh-report此模块专门用于聚合jacoco......