HBase:介绍 + 集群搭建

简介:Hadoop的数据库,依赖HDFS和zookeeper,需要分布式应用,支持实时查询数据。

组成架构:

  • Client:
    • 包含访问Hbase的接口,并维护cache来加快对Hbase的访问,比如region的位置信息。
  • HMaster:
    •  是hbase集群的主节点,可以配置多个,用来实现HA
    • 为RegionServer分配region
    • 负责RegionServer的负载均衡
    • 发现失效的RegionServer并重新分配其上的region
  • RegionServer:
    • Regionserver维护region,处理对这些region的IO请求
    • Regionserver负责切分在运行过程中变得过大的region
  • Region:
    • 分布式存储的最小单元。
  • Hbase集群组:Zookeeper:
    • 选举HMaster
    • 维护Region的寻址入口信息
    • 实时监控Region server的上线和下线信息。并实时通知给HMaster
    • 存储HBase的schema和table元数据

HBase依赖关系

  • 利用Hadoop HDFS作为其文件存储系统,
  • 利用Hadoop MapReduce来处理HBase中的海量数据,
  • 利用Zookeeper作为协调工具

HBase集群搭建

1.上传并解压hbase1.0版本tar包
2.把hadoop的hdfs-site.xml和core-site.xml 复制到hbase/conf下。
3.修改hbase-env.sh

  • export JAVA_HOME=/export/servers/jdk1.8.0_141
    //禁用自带,使用外部zookeeper
    export HBASE_MANAGES_ZK=false

4.修改 hbase-site.xml

  • hbase.rootdir:hbase的数在hdfs的存放位置
  • hbase.cluster.distributed:是否开启集群模式,默认是false,集群需要修改成true
  • hbase.zookeeper.quorum:外置关联zookeeper
  • <configuration>
    		<!-- 指定hbase在HDFS上存储的路径 -->
            <property>
                    <name>hbase.rootdir</name>
                    <value>hdfs://node1:8020/hbase</value>
            </property>
    		<!-- 指定hbase是分布式的 -->
            <property>
                    <name>hbase.cluster.distributed</name>
                    <value>true</value>
            </property>
    		<!-- 指定zk的地址,多个用“,”分割 -->
            <property>
                    <name>hbase.zookeeper.quorum</name>
                    <value>node1:2181,node2:2181,node3:2181</value>
            </property>
    </configuration>

5.修改 regionservers文件

  • node2
    node3

6.修改core-site.xml 

  • <!-- 指定jobtracker地址 hadoop1.0版本-->
    <property>
    	<name>mapred.job.tracker</name>
    	<value>node1:9001</value>
    </property>	

7.验证:

  • hbase依赖zookeeper协调,必须先将zookeeper启动成功
  • zookeeper逐个启动,hbase只需启动master所在主机

猜你喜欢

转载自blog.csdn.net/JinChao94/article/details/109727297
今日推荐