HBase的安装与部署

接着前面的Zookeeper部署之后,现在可以学习HBase了。

HBase是基于Hadoop的开源分布式数据库,它以Google的BigTable为原型,设计并实现了具有高可靠性、高性能、列存储、可伸缩、实时读写的分布式数据库系统,它是基于列而不是基于行的模式,适合存储非结构化数据。

体系结构:HBase是一个分布式的数据库,使用Zookeeper管理集群(点击此处进入Zookeeper部署,使用HDFS作为底层存储,它由HMaster和HRegionServer组成,遵从主从服务器架构。HBase将逻辑上的表划分成多个数据块即HRegion,存储在HRegionServer中。HMaster负责管理所有的HRegionServer,它本身并不存储任何数据,而只是存储数据到HRegionServer的映射关系(元数据)。

HBase部署:

HBase的安装部署过程,因HBase依赖于HDFS和Zookeeper,所以该实验需要分为四个步骤。

首先,配置SSH无密钥登录。

其次,安装Hadoop集群。

然后,安装Zookeeper集群。

最后,修改HBase配置文件。

>具体内容如下:

将HBase 安装包hbase.1.1.2.tar.gz解压到/usr/cstor目录,并将hbase.1.1.2目录改名为hbase,且所属用户改成root:root。

      [root@master ~]#tar -zxvf hbase.1.1.2.tar.gz -c /usr/cstor/hbase

      [root@master ~]#mv /usr/cstor/hbase.1.1.2 /usr/cstor/hbase

      [root@master ~]#chown -R root:root /usr/cstor/hbase

进入解压目录下,配置conf目录下的/usr/cstor/hbase/conf/hbase-env.sh文件,设置如下:

      #Java安装路径

      export JAVA_HOME=/usr/local/jdk1.7.0_79 (需根据实际情况指定)

      #不使用HBase自带的Zookeeper

      export HBASE_MANAGES_ZK=false   

配置conf目录下的hbase-site.xml文件,设置如下:

<configuration>

  <property>

      <name>hbase.rootdir</name>

      <value>hdfs://master:8020/hbase</value>

  </property>

  <property>

      <name>hbase.cluster.distributed</name>

      <value>true</value>

  </property>

  <property>

      <name>hbase.zookeeper.quorum</name>

      <value>slave1,slave2,slave3</value>

  </property>

  <property>

      <name>hbase.tmp.dir</name>

      <value>/usr/cstor/hbase/data/tmp</value>

  </property>

</configuration>

配置conf目录下的regionservers文件,设置如下:

slave1

slave2

slave3

配置完成后,将hbase目录传输到集群的其它节点

scp -r /usr/cstor/hbase root@slave1:/usr/cstor

scp -r /usr/cstor/hbase root@slave2:/usr/cstor

scp -r /usr/cstor/hbase root@slave3:/usr/cstor

>接着,启动HBase,并简单验证HBase,如下: 

在主节点master进入hbase解压目录的bin目录,启动HBase服务进程(已启动Zookeeper):

    [root@master ~]#cd /usr/cstor/hbase/bin

    ./start-hbase.sh

>通过以下命令进入HBase shell界面:

    ./hbase shell

在shell里创建表:

    create 'testhbase' , 'f1'

查询所有表名:

    list

查看表结构信息:

    describe 'testhbase'   

在shell里插入数据:

    put 'testhbase', '001', 'f1:name', 'aaa'

在shell里查询:

    scan 'testhbase'

删除表,先disable再drop:

    disable 'testhbase'

    drop 'testhbase'

小结:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/34194cb8f722929e4af2206de611a260.html