package com.run.hbase.dataImport;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionInfo;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Writables;
public class CreateRegion {
public static HTable getMetaTable(Configuration conf) throws IOException {
return new HTable(conf, HConstants.META_TABLE_NAME);
}
public static HBaseAdmin getHBaseAdmin(Configuration conf) throws MasterNotRunningException,
ZooKeeperConnectionException {
return new HBaseAdmin(conf);
}
public static void createEmptyRegion(Configuration conf, HTableDescriptor tblDes,
byte[] startKey, byte[] endKey) throws IllegalArgumentException, IOException,
InterruptedException {
HRegionInfo hri = new HRegionInfo(tblDes, startKey, endKey);
Put put = new Put(hri.getRegionName());
put
.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, Writables
.getBytes(hri));
HTable metatable = getMetaTable(conf);
metatable.put(put);
HBaseAdmin admin = getHBaseAdmin(conf);
// flush .META. data to hdfs.
admin.flush(metatable.getTableName());
admin.assign(hri.getRegionName(), true);
}
public static void main(String[] args) {
System.out.println("masterip 2181 startkey endkey tablename columnfamily");
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", args[0]);//master0,slave1,slave2
conf.set("hbase.zookeeper.property.clientPort", args[1]);
conf.set("hbase.master", args[0] + ":60000");
HTableDescriptor tblDes = new HTableDescriptor(args[4]);
HColumnDescriptor cf = new HColumnDescriptor(args[5]);
tblDes.addFamily(cf);
byte[] startKeys = Bytes.toBytes(args[2]);
byte[] endKeys = Bytes.toBytes(args[3]);
try {
createEmptyRegion(conf, tblDes, startKeys, endKeys);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
|
相关推荐
HBase是一个开源、面向列的、可伸缩的分布式存储系统,它基于Google的Bigtable模型构建,用于存储...随着对HBase集群部署知识的掌握,可以使运维人员更加高效地管理和维护HBase集群,保证数据存储的高性能和高可靠性。
总结起来,"Hadoop Zookeeper HBase集群"是大数据处理的一种架构,通过Hadoop进行数据存储和处理,利用Zookeeper进行集群管理和协调,以及借助HBase实现大规模数据的实时查询。理解和熟练掌握这三个组件的原理和使用...
* ZooKeeper:负责维护 HBase 集群的元数据,例如节点的状态、Region 信息等。 * HRegion:HBase 的基本存储单元,包含多个 Store,Store 中包含多个 MemStore 和 StoreFile。 二、HBase 组件 HBase 的组件包括: ...
### Hadoop+Zookeeper+Hbase集群搭建知识点详解 #### 一、安装环境要求 **1.1 HBase与JDK兼容性** - **Apache HBase** 的版本选择需考虑其与 Java Development Kit (JDK) 的兼容性。具体而言: - Apache HBase ...
通过适当调优,可以显著提升HBase集群的性能。 13. HBase大厂面试题解析部分未在提供的内容中显示,但通常会涉及到HBase架构、性能调优、数据模型等重要知识点。面试题的解析可以帮助应聘者更深入地理解HBase,为...
1. 使用HBase自带的JMX监控工具或第三方监控工具(如Ambari、Grafana)监控HBase集群的性能指标。 2. 定期进行健康检查,排查可能存在的问题,如Region不均、内存溢出等。 3. 对HBase进行定期备份,以防数据丢失。...
HBase利用Zookeeper作为协调服务,确保集群的稳定运行,包括Master选举、Region Server状态监控以及Schema存储等。 客户端(Client)是与HBase交互的接口,它维护了一些缓存以加速访问,如Region的位置信息。...
在构建Hadoop+HBase+Hive集群的过程中,涉及了多个关键步骤和技术要点,下面将对这些知识点进行详细的解析。 ### 1. 时间同步:NTP配置 在分布式系统中,时间的一致性至关重要,特别是在处理日志、事件排序以及...
2. 配置HBase:在application.properties或yaml文件中设置HBase的连接信息,包括Zookeeper地址、HBase集群地址等。 3. 创建Repository:利用Spring Data的接口编程模式,创建HBase的Repository接口,定义基本的CRUD...
- Master:负责Region的分配和管理工作,也负责维护整个HBase集群的状态。 - HDFS:负责HBase的数据存储和备份,保证数据的持久性和可靠性。 - Zookeeper:是一个分布式的协调服务,用于监控RegionServer的上下线,...
6. ZooKeeper:作为协调服务,负责管理ROOT表和META表,这些表存储了HBase中表的元数据信息,同时它还负责监控HBase集群中的节点状态,以及故障转移时HMaster的选举。 三、HBase数据库模型: HBase的数据模型设计为...
在大数据量下,关系型数据库的扩展困难和维护复杂度高,而HBase则提供了更好的解决方案。但HBase不支持SQL,需要开发者更深入地理解数据存储和检索方式。 HBase的数据模式由行键(RowKey)、列族(ColumnFamily)、...
7. **注意Master节点的角色**:在HBase集群中,Master节点负责全局的协调和管理任务,包括区域分配、元数据维护等。虽然LZO的编译和配置主要涉及到数据存储层面,但Master节点在数据读写过程中起着调度作用,确保LZO...
- **Hbase部署:** 在Hadoop集群的基础上安装Hbase,并配置Master节点和RegionServer。 - **数据迁移与同步:** 将现有数据迁移到HDFS中,并在Hbase中建立相应的表结构。 - **系统优化:** 根据业务需求调整HDFS...
### Hadoop集群搭建总结 #### 一、Hadoop概述与应用场景 Hadoop是一个由Apache基金会维护的开源分布式计算框架,其主要目标是处理大规模数据集的存储与计算问题。通过Hadoop,用户能够轻松地在分布式环境中开发和...
主服务器负责全局的协调工作,包括区域分配、负载均衡、集群状态监控以及模式变更等元数据操作。区域服务器则是实际承载数据服务的实体,它们处理来自客户端的读写请求,管理各自负责的区域。 主服务器利用Apache ...