HBase简介
HBase是一个分布式、可扩展、支持列式存储的大数据存储系统,它是Apache Hadoop生态系统中的一个重要组件,HBase的设计目标是提供一个高可用、高性能、高扩展性的分布式数据库,适用于实时读写大量数据的应用场景,HBase基于Google的Bigtable设计,采用Hadoop HDFS作为后端存储,支持数据的随机访问、顺序扫描和范围查询等操作。
HBase表结构
1、表创建
在HBase中,表是通过创建一个或多个RegionServer来实现的,首先需要启动一个HBase实例,然后通过HBase Shell或者Java API创建表。
(1)使用HBase Shell创建表:
create 'test_table', 'cf'
这里,'test_table'是表名,'cf'是列族名。
(2)使用Java API创建表:
import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.util.Bytes; public class CreateTable { public static void main(String[] args) throws Exception { // 创建HBase配置对象 HBaseConfiguration conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", "localhost"); // 设置Zookeeper地址 conf.set("hbase.zookeeper.property.clientPort", "2181"); // 设置Zookeeper端口 // 创建连接对象 Connection connection = ConnectionFactory.createConnection(conf); Admin admin = connection.getAdmin(); // 创建表描述符 TableDescriptorBuilder tableDescriptorBuilder = TableDescriptorBuilder.newBuilder(TableName.valueOf("test_table")); tableDescriptorBuilder.setColumnFamily(ColumnFamilyDescriptorBuilder.of("cf")); // 设置列族名 // 构建表描述符并创建表 admin.createTable(tableDescriptorBuilder.build()); } }
2、列族操作
在HBase中,表是由一系列列族组成的,列族是一组具有相同属性的列的集合,在创建表时,需要指定一个或多个列族,可以使用以下命令查看已有的列族:
list 'test_table'
3、行操作
在HBase中,每行数据由行键、列族、列限定符和值组成,可以使用Put或Delete命令对行进行操作,向表中插入一行数据:
put 'test_table', 'row1', 'cf:col1', 'value1', 'cf:col2', 'value2'
HBase安装部署过程
1、环境准备:确保已经安装了Hadoop和Zookeeper,如果没有安装,可以参考官方文档进行安装:Hadoop和Zookeeper,还需要安装HBase Java客户端库,可以通过Maven或Gradle添加依赖:
Maven依赖:
<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.4.7</version> <!-请根据实际情况选择合适的版本 --> </dependency>
Gradle依赖:
implementation 'org.apache.hbase:hbase-client:2.4.7' // 请根据实际情况选择合适的版本
2、启动HBase集群:首先启动Zookeeper,然后依次启动HMaster和RegionServer,具体启动命令如下:
启动Zookeeper:
zkServerStart.sh start-foreground // 在前台运行,用于调试输出更多信息,实际生产环境中建议后台运行并将输出重定向到日志文件中。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/190575.html