zoukankan      html  css  js  c++  java
  • HBase的概述和安装部署

    一、HBase概述

      1.HBase是Hadoop数据库,是一个分布式、可扩展的大数据存储。

      HBase是用于对大数据进行随机、实时读写访问的非关系型数据库,它的目标托管非常大的表——数十亿行N百万列。

      正如Bigtable利用Google文件系统提供的分布式数据存储一样,HBase在Hadoop的HDFS之上提供类似Bigtable的功能。

      2.HBase架构

      Zookeeper    =>  ZK中存储了HMaster的元数据信息

      HMaster       =>  主节点

      HRegionServer    =>  区域服务器

      HLog       =>  预写入日志

      HRegion       =>  区域,可以理解成表

      Store       =>  存储单元

      Memstore     =>  内存的一块区域,负责写入数据的缓存

      blockcache      =>  内存的一块区域,负责读取数据的缓存(图中未显示)

      storeFile       =>  写入磁盘的一个文件,HFile是物理上的存储单元

      3.HBase的作用

      HBase通过HRegionServer连接了HDFS的客户端,然后在存数据时将生成的HFile文件存储到hdfs中,之后把本地的HFile文件删除只保留元数据信息。

      HBase就是建立在HDFS之上的数据库。

    二、HBase集群的安装部署

      1.准备工作

       HBase基于HDFS集群和Zookeeper集群,所以要先安装hdfs和zk;

       安装完成后去HBase官网下载对应安装包,本人使用的是1.3.0版本,上传到集群,解压,重命名文件为HBase;

       HBase官网:hbase.apache.org

      2.修改配置文件

       进入conf目录下修改hbase-env.sh和hbase-site.xml文件

       (1)vi hbase-env.sh

       JAVA_HOME=/root/hd/jdk1.8.0_141
         HBASE_MANAGES_ZK=false

       (2)vi hbase-site.xml 

        将下面的配置信息加入到<configuration></configuration>之中

            <!-- 设置namenode所在位置 通过rootdir设置 也就是设置hdfs中存放的路径 -->
            <property>
                    <name>hbase.rootdir</name>
                    <value>hdfs://hd1-1:9000/hbase</value>
            </property>
    
            <!-- 是否开启集群 -->
            <property>
                    <name>hbase.cluster.distributed</name>
                    <value>true</value>
            </property>
    
            <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
            <property>
                    <name>hbase.master.port</name>
                    <value>16000</value>
            </property>
    
            <!-- zookeeper集群的位置 -->
            <property>
                    <name>hbase.zookeeper.quorum</name>
                    <value>hd1-1:2181,hd1-2:2181,hd1-3:2181</value>
            </property>
    
            <!-- hbase的元数据信息存储在zookeeper的位置 -->
            <property>
                    <name>hbase.zookeeper.property.dataDir</name>
                    <value>/root/hd/zookeeper-3.4.10/zkData</value>
            </property>
        
    

      3.进入regionservers文件(vi regionservers)添加所有节点

        hd1-1
        hd1-2
        hd1-3

      4.解决版本依赖不一致问题

       进入hbase/lib目录中,查看hadoop和zookeeper的jar包的版本是否和自己安装的版本一致,不同则删除jar包

        rm -rf hadoop-*

        rm -rf zookeeper-*

       然后将与自己版本一致的hadoop和zk依赖包导入到该目录,jar包如下:

      

      通过sftp导入到linux集群。

      5.建立配置信息软连接

       进入hbase/conf目录下,添加配置(根据自己的路径修改就好)

        ln -s /root/hd/hadoop/etc/hadoop/core-site.xml  /root/hd/hbase/conf/

        ln -s /root/hd/hadoop/etc/hadoop/hdfs-site.xml  /root/hd/hbase/conf/

       也可以将这两个配置复制到hbase/conf目录下;

      6.将配置好的hbase文件夹发送到其他集群机器

        scp -r /root/hd/hbase/ hd1-2:/root/hd/

      7.启动hbase集群

       (1)先启动hdfs和zookeeper

        start-dfs.sh、zkServer.sh start

       (2)启动hbase(没有配置环境变量,要在hbase目录下启动)

        bin/hbase-daemon.sh start master  启动主节点

        bin/hbase-daemon.sh start regionserver   启动从节点

      8.访问与测试

        (1)可以通过你的主机点的IP地址加端口号访问UI界面

        192.168.50.183:16010

        (2)启动shell命令行进行测试

        bin/hbase shell

        list

      这样,HBase就配置完成了~~

        

  • 相关阅读:
    近来感受
    GIT相关命令
    CMMI评审总结
    Windows下Git Bash的设置
    PHP学习三--常用运算符和结构语句
    PHP学习二--常量
    MYSQL基础十一--存储引擎
    MYSQL基础十--存储过程
    MYSQL基础九--自定义函数
    MYSQL基础八--子查询和连接
  • 原文地址:https://www.cnblogs.com/HelloBigTable/p/10487179.html
Copyright © 2011-2022 走看看