1.集群搭建

1. 前置要求:

  - HBASE是用Java语言编写的,所以在安装HBASE时,必须安装jdk
  - 安装HBASE是必须有hadoop平台
  - HBASE和jdk的版本存在兼容性,一定注意
jdk

hadoop

2. 集群规划:

3. 具体搭建:

① 上传安装包(hbase-1.2.6-bin.tar.gz)
②解压:tar zxvf hbase-1.2.6-bin.tar.gz -C /application/
③配置环境变量:

export HBASE_HOME=/application/hbase-1.2.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$SQOOP_HOME/bin:$HBASE_HOME/bin
source /etc/profie  #刷新配置文件
hbase version    #查看是否配置成功


④修改hbase的配置文件
cd /application/hbase-1.2.6/conf
hbase-env.sh

export JAVA_HOME=/application/jdk1.8  #配置jdk
export HBASE_MANAGES_ZK=false  #配置使用自己的zookeeper
#psHBASE中必须依赖zookeeper,zookeeper作用是存储HBASE的寻址入口HBASE自带的是单机版的,所有需要开启使用自己的

hbase-site.xml

<configuration><property>
<!-- 指定 hbase 在 HDFS 上存储的路径 --><name>hbase.rootdir</name><value>hdfs://zzy/hbase</value></property><property>
<!-- 指定 hbase 是分布式的 --><name>hbase.cluster.distributed</name><value>true</value></property><property>
<!-- 指定 zk 的地址,多个用“,”分割 --><name>hbase.zookeeper.quorum</name><value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value></property>
</configuration>

regionservers

hadoop01
hadoop02
hadoop03

backup-masters(自行创建)

#配置备份主节点的节点
hadoop02

⑤要把 hadoop 的 hdfs-site.xml 和 core-site.xml 放到 hbase-1.2.6/conf 下
因为hadoop集群是HA模式,所以需要配置:

cp /application/hadoop-2.7.6/etc/hadoop/core-site.xml .
cp /application/hadoop-2.7.6/etc/hadoop/hdfs-site.xml .

⑥分发安装到各节点

cd /application/
scp -r hbase-1.2.6 hadoop02:$PWD
scp -r hbase-1.2.6 hadoop03:$PWD

⑦时间同步:
HBase 集群对于时间的同步要求的比 HDFS 严格,所以,集群启动之前千万记住要进行时间同步,要求相差不要超过 30s。在定时任务中配置定时更新时间。

4. 启动集群:

① 先在每一个节点zookeeper 集群:zkServer.sh start
②启动hdfs集群:start-dfs.sh
③启动hbase:start-hbase.sh(启动) / stop-hbase.sh(关闭) 最好在主节点启动,在哪个节点启动哪个节点就是hmaster。
④ 检测是否正常启动:jps



Web界面访问:http://HBASE主节点:16010
注意:如果有节点相应的进程没有启动,那么可以手动启动:

    hbase-daemon.sh start masterhbase-daemon.sh start regionserver

2.集群架构



   在HBASE集群中:有多个主(hmaster)、多个从(RegionServer),每一个从节点中存储的是多个Region,每一个Region,是HBASE一张表中分出来的(默认的Region大小为10G)。

集群角色介绍

1. region:

  是HBASE将一个表中的所有数据按照RowKey的不同范围进行切割的逻辑单元,每一个region负责一定范围数据的读写访问。Region由RegionServer负责管理。HBASE中的region的概念就和hdfs中的数据块的概念差不多。Region 是 HBase 表切分出来的一个分片。Region的大小在1.x版本的时候是1G,在2.X版本的时候是10G。
Region的工作机制

  当客户端发送命令(delete/put)的时候,region接收到请求的时候,首先会将数据更新到内存中,同时将操作记录到日志(追加),不论做的是什么操作,就会记录到操作日志中,为了进行数据恢复,因为region接收请求的时候,只是将数据同步到内存,如果节点一宕机则数据丢失,所以通过日志的方式进行数据恢复(或者说是持久化)。当然这个日志记录到一定大小的时候会进行切分,切分出来的叫Hfile,最后到有很多Hfile的时候,会进行日志合并,会将这些Hfile合并一个storeFile,在进行合并的时候,会将日志中的delete和put进行抵消删除(即一个put操作,如果有一个对应有一个delete操作,则这两条记录抵消,在合并的时候不会记录),最终合并出来的storefile中就会只有put操作而没有delete操作。

2. hmaster:

  HBASE的主节点,负责整个集群的状态感知、负载分配、负责用户表的元数据 (schema)管理(可以配置多个用来实现 HA),只有hmaster才有权利去修改元数据。
  HBase 的 HMaster 其实就算是宕机一段时间也可以正常对外提供服务的,因为在HMaster在宕机的时候,集群仍然可以进行查询但是不能进行读写。
   HMaster的负载:当第一次建立表的时候,只有一个Region,然后当region的值超过1G的时候,此时HBASE的HMaster会将region进行拆分(如果是2G,一份为二,每一个是1G),拆分后的region可能不存在一个节点上。由于HBASE是搭建在hadoop之上的,所以region的副本会在hdfs操作。
   hmaster的节点的上下线感知:当如果有一台Reginaservers宕机了,hmaster会自动将这个宕机节点中存储的region通过其他的副本在另外的节点上复制出来(基于hdfs的副本),当宕机的节点重新恢复的时候,hmaster又会进行负载,保证每一个Reginaservers中的region的个数大致相同,(只能保证集群的region的个数进行负载,如果region的大小不同,不能根据数据的大小进行负载)。

3.RegionServer:

   HBase 中真正负责管理 Region 的服务器,也就是负责为客户端进行表数据读 写的服务器。每一台 RegionServer 会管理很多的 Region,一个 RegionServer 上面管理的所有 的region不属于同一张表。负责Region的拆分,负责和底层的HDFS的存储交互,负责StoreFile 的合并。

4. ZooKeeper

   整个 HBase 中的主从节点协调,元数据的入口,主节点之间的选举,集群节点 之间的上下线感知……都是通过 ZooKeeper 来实现

5. Client

   Client 包含了访问 HBase 的接口,另外 Client 还维护了对应的 Cache 来加速 HBase 的 访问,比如 Cache 的.META.元数据的信息。(缓存上一个查询的rowkey的具体位置,方便快速一次查询)。

转载于:https://blog.51cto.com/14048416/2342814

hbase的集群搭建相关推荐

  1. hbase分布式集群搭建

    hbase和hadoop一样也分为单机版.伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建. hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop ...

  2. HBase 分布式集群搭建手记

    摘要 由于HBase的数据是存放在HDFS上的,HBase依赖于Hadoop环境,搭建HBase集群环境前需要搭建好Hadoop集群环境,并且这里使用独立的Zookeeper进行集群管理,所以也需要单 ...

  3. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  4. Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了

    Hbase基础(特点.架构.应用场景.集群搭建.HA设计)这一篇就够了 1. Hbase特点 2. Hbase VS RDBMS 3. Hbase架构及版本选择 4. Hbase应用场景 5. Ntp ...

  5. hbase集群搭建,hbase单个节点重启

    1.1 hbase集群结构 REGION:是HBASE中对表进行切割的单元 HMASTER: HBASE的主节点,负责整个集群的状态感知,负载分配.负责用户表的元数据管理 (可以配置多个用来实现HA) ...

  6. hbase完整分布式集群搭建

    简介: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop2.8 ha 集群搭建 hbase完整分布式集群搭建 hadoop完整集群遇到问题汇总 Hb ...

  7. 基于centos6.5 hbase 集群搭建

    注意本章内容是在上一篇文章"基于centos6.5 hadoop 集群搭建"基础上创建的 1.上传hbase安装包 hbase-0.96.2-hadoop2 我的目录存放在/usr ...

  8. HBase——集群搭建

    HBase--集群搭建 基础:三台虚拟机(node-01,node-02,node-03)已经完成HA(高可用集群)的搭建.Hadoop4--HA集群的搭建(高可用) 每台虚拟机文件目录如下      ...

  9. hbase安装包_HBase集群搭建

    准备环境 小编使用如下三台机器进行讲解Hbase集群的搭建. 172.16.151.237 master 172.16.151.238 slave1 172.16.151.239 slave2 集群搭 ...

最新文章

  1. hexo+markdown添加本地图片无法显示
  2. mxnet实战系列(一)入门与跑mnist数据集
  3. html遮罩提示框代码,基于jQuery实现弹出可关闭遮罩提示框实例代码
  4. 纽交所发言人就“GME事件”表态:采用先进技术监督市场
  5. mysqldump -extended-insert参数的使用
  6. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用
  7. pdf 一键生成书签目录
  8. JAVA加密解密→术语、密码分类、OSI与TCP/IP安全体系、Base64、消息摘要算法MD/SHA/MAC、对称加密算法DES/AES/PBE、非对称加密算法DH/RSA/EIGamaI
  9. 超轻量级三级展开列表
  10. Java速成:37-贷款计算器
  11. 王亮:游戏AI探索之旅——从alphago到moba游戏
  12. Adobe Illustrator CS6 出现错误报告16
  13. 剑指offe 替换空格
  14. Win10如何用微软账户自动登录电脑
  15. 酷我车载版显示服务器错误,酷我云盘服务器异常
  16. xlrd是python自带的库_xlrd库报错
  17. register_chrdev_region()和registe_chrdev()
  18. 微信小程序 — 自定义轮播图的面板指示点样式
  19. 华侨大学计算机学院保研情况,关于华大保研。
  20. 单词分析(蓝桥云课)

热门文章

  1. EasyUI中Datebox日期框的简单使用
  2. Vue实现仿音乐播放器10-更多按钮实现下拉刷新
  3. 【编程3】二叉树遍历(LeetCode.102)
  4. 使用 Gitee 进行代码管理(包括本地仓库如何同时关联Git和Gitee)
  5. shell 拷贝 一个目录下的所有文件 到 另个目录下_几例实用的Shell脚本
  6. linux数据库服务器的配置与管理,实验七_Linux_MySQL数据库服务器配置与管理
  7. win7 php mysql扩展名_win7下MySQL 5.1.73安装过程(图解)并在php.ini中启用相关扩展。...
  8. 【CEO赠书】《精益数据分析》:如何构建数据指标体系
  9. Windows 10使用PowerShell创建系统还原点的技巧
  10. Citrix Director