Linux-centos下安装hbase

一、Hbase简介

        HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。

        HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapReduce 来处理Bigtable中的海量数据, HBase 同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable 利用Chubby作为协同服务, HBase 利用Zookeeper作为对应。


二、Hbase安装步骤

1、HBase单击版(standalone)安装(以hbase-1.1.3-bin.tar.gz为例,node5中)

1)上传至Linux

2)解压

tar -zxvf hbase-1.1.3-bin.tar.gz

3)hbase-env.sh中配置JAVA_HOME,内容为

export JAVA_HOME=/usr/java/jdk1.7.0_79

4)配置hbase-site.xml,内容为

<property>
    <name>hbase.rootdir</name>
    <value>file:///opt/data/hbase</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/data/zkData</value>
</property>

5)启动

cd /opt/sxt/soft/hbase-1.1.3
bin/start-hbase.sh

6)检查

    通过输入jps,可以查看到HMaster进程

7)进入HBase命令控制行

bin/hbase shell

可以通过输入help来查看所有命令


注:(1)HBase的启动必须要启动zookeeper,但其自身就带有,所以单机版HBase启动不需要搭建启动zookeeper集群

       (2)启动单机版HBase时,不要在外面启动zookeeper

       (3)修改配置文件通知HBase启动自带的zookeeper,修改hbase-env.sh

export HBASE_MANAGES_ZK=true


2、分布式HBase集群安装(四台机器,node5、node6、node7、node8,其中node8用来配置备用master,可以不配)

1)HBase集群启动前提

    (1)Hadoop集群要启动正常

start-all.sh

    (2)Zookeeper集群启动正常

zkServer.sh start
zkServer.sh status

2)配置hbase-site.xml,内容为

// 其中hbase.rootdir的值为配置的hadoop中的fs.defaultFS的值
// 通过vi /home/hadoop-2.5.1/etc/hadoop/core-site.xml查看
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://zxl/hbase</value>
// 如果对于配置的是单节点的hdfs,则可以如下配置
// <value>hdfs://node5:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>node5,node6,node7</value>
</property>

3)配置regionservers,内容为

node5
node6
node7

    配置backup-masters(此步可以不配置,配置备用master节点)

node8
4)将hadoop配置文件夹地址配置到hbase-env.sh

    (1)将export HBASE_MANAGES_ZK注释去掉,配为false(默认为true)

// 表示不使用内置zookeeper
export HBASE_MANAGES_ZK=false

    (2)将export HBASE_CLASSPATH注释去掉,并配置

export HBASE_CLASSPATH=/home/hadoop-2.5.1/etc/hadoop

    (3)将export JAVA_HOME注释去掉,并配置

export JAVA_HOME=/usr/java/jdk1.7.0_79

5.hbase整个文件拷贝(分发)至node6node7

scp -r /opt/sxt/soft/hbase-1.1.3 root@node6:/opt/sxt/soft/
scp -r /opt/sxt/soft/hbase-1.1.3 root@node7:/opt/sxt/soft/
// 如配备用master
scp -r /opt/sxt/soft/hbase-1.1.3 root@node8:/opt/sxt/soft/

6)配置hbase的环境变量(单机版也可以配置),vi ~/.bash_profile,内容为

export HBASE_HOME=/opt/sxt/soft/hbase-1.1.3
export PATH=$PATH:$HBASE_HOME/bin

保存后source ~/.bash_profile

7)启动

start-hbase.sh

8)测试

    (1)浏览器访问:node5:16010(页面显示正常,即搭建成功)

    (2)进入命令行控制台:hbase shell


三、简单示例

hbase下退格需要按ctrl加上退格键,没有删除数据,只有版本更新

  create ‘t1’, ‘f1’, ‘f2’, ‘f3’          //t1为表名,f1,2,3为列族
  desc 't1'                     //查看表t1的信息
  put 't1', '123', 'f1:name', 'zs'     //t1,表名;123,row key;name,列族f1的列名
  put 't1', '123', 'f1:sex', '1'
  get 't1','123','f1'
  alter 't1', { NAME => 'f1', VERSIONS => 3 }  //修改列族的版本
  put 't1', '123', 'f1:sex', '2'
  get 't1','123',{COLUMN => 'f1:sex' , VERSIONS => 3}  //获取f1:sex三个版本的值
  put 't1', '123', 'f2:sex', '2'  
  scan ‘t1’                             //查看表t1的信息

  flush ‘t1’                    //将memstore的内容输入到物理storefile中
  drop ‘t1’                   //此时drop不了,必须把表先改为disable
  disable ‘t1’  
此时可以通过浏览器查看存储情况:node5:50070,路径为:
  /hbase/data/default即可看到t1表
 
注:如果对某个命令不熟悉,直接输入该命令,如输入get,会获得get的使用语法


猜你喜欢

转载自blog.csdn.net/u011254180/article/details/80171500
今日推荐