hbase源码编译、配置安装、测试

本文介绍了HBase的架构、源码编译过程,详细阐述了HBase的配置安装步骤,并通过MapReduce演示了三种数据导入HBase的方法,包括直接使用HBase API、转化为HFile以及使用HBase ImportTsv工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 hbase架构简介

HBase 是一个开源的、分布式的、数据多版本的,列式存储的nosql数据库。依托 Hadoop 的分布式文件系统 HDFS 作为底层存储, 能够为数十亿行数百万列的海量数据表提供随机、实时的读写访问。 HBase 集群服务包含:HBase 数据库服务、HDFS 分布式文件系统、Phoenix 查询引擎。压缩格式方面支持 GZIP、BZIP2、LZO、SNAPPY,可自行在应用中指定。 关于 HBase 更多的详细信息,可参阅 HBase 官方文档,关于 Phoenix 查询引擎的详细信息,可参阅 Phoenix 官方网站 。

与 Hadoop 一样,HBase 集群采用的是 master/slave 架构。 如下图所示,HBase 集群分三种节点类型:主节点 (HBase Master 和 HDFS NameNode),从节点 (HBase RegionServer 和 HDFS DataNode) 和客户端节点 (HBase Client)。 用户在HBase 客户端可通过HBase Shell、Java API(本地或MapReduce)、Rest API 或其他工具来访问HBase。 若需要使用除java外的其他语言时,可在客户端节点 (HBase Client)自行启动 Thrift Server 以供支持。


二、 hbase源码编译

1. 下载源码

$ git://git.apache.org/hbase.git
2. hbase编译

$ mvn clean package -DskipTests assembly:single
$ ls hbase-assembly/target/

三、 hbase配置安装

1. 配置JAVA_HOME

$ vim ./hbase/conf/hbase-env.sh
export JAVA_HOME=/usr/lib/java
export HBASE_MANAGES_ZK=true

2. 配置HDFS

$ vim ./hbase/conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.master</name>
    <value>master:60000</value>
  </property>
  <property>
    <name>hbase.master.port</name>
    <value>60000</value>
  </property> 
    <property>
        <name>hbase.master.info.port</name>
        <value>60001</value>
    </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/spark/workspace/zookeeper/data</value>
  </property>
</configuration>

其中第一个属性指定本机的hbase的存储目录,必须与Hadoop集群的core-site.xml文件配置保持一致;第二个属性指定hbase的运行模式,true代表全分布模式;第三第四个属性指定hbase master的ip和port;第五个属性指定 Zookeeper 管控机器,一般为奇数个;第六个属性是数据存放的路径。这里我使用的默认的 HBase 自带的 Zookeeper。

3. 配置regionservers

$ vim ./hbase/conf/regionservers
slave1
slave2

4. hbase安装运行

$ pscp -r -h all_iplist hbase /home/hbase/
$ ./bin/start-hbase.sh
$ /home/hbase/bin/hbase shell
list

四、 hbase测试

1. hbase表创建插入查询删除操作

$ ./bin/hbase shell
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 1.2130 seconds
=> Hbase::Table - test
hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds
=> ["test"]
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds
hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds
hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值