HBase 高可用(HA)

HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。

所以这里要配置HBase高可用的话,只需要启动两个HMaster,让Zookeeper自己去选择一个Master Acitve。

HBase配置:

在$HBASE_HOME/conf目录下

1.hbase-site.xml 

export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
export JAVA_HOME=/usr/java/jdk1.7.0_60 
export HBASE_MANAGES_ZK=false
export HADOOP_HOME=/data/hadoop-2.6.0
export HBASE_LOG_DIR=/data/hadoop/hbase/logs

一个分布式运行的Hbase依赖一个zookeeper集群。所有的节点和客户端都必须能够访问zookeeper。默认的情况下Hbase会管理一个zookeep集群。这个集群会随着Hbase的启动而启动。当然,你也可以自己管理一个zookeeper集群,但需要配置Hbase。你需要修改HBASE_MANAGES_ZK 来切换。这个值默认是true的,作用是让Hbase启动的时候同时也启动zookeeper.

让Hbase使用一个现有的不被Hbase托管的Zookeep集群,需要设置 HBASE_MANAGES_ZK 属性为 false

2.hbase-site.xml

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://appcluster/hbase</value>
<description>The directory shared by RegionServers.</description>
</property>

<property>
<name>hbase.master</name>
<value>60000</value><!--这里注意了,只需端口即可,不必再写主机名称了!-->
</property>

<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop001,hadoop002,hadoop003</value>
</property>

<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/hadoop/zookeeper</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

<property>
<name>hbase.tmp.dir</name>
<value>/data/hadoop/hbase/tmp</value>
</property>
</configuration>

3.regionservers

添加regionserver的hostname

HBase启动:

在hadoop001上输入启动命令

start-hbase.sh

jps可见:

master (因为之前启动了Hadoop HA,所以会看到很多进程)

23703 NameNode
23968 ResourceManager
24132 DFSZKFailoverController
23813 DataNode
24857 HRegionServer
24723 HMaster
23428 QuorumPeerMain
23522 JournalNode
25448 Jps
24070 NodeManager

regionserver

9832 HRegionServer
8923 QuorumPeerMain
9379 NodeManager
10495 Jps
9197 DataNode
9622 ResourceManager
9006 JournalNode
10436 NameNode
9552 DFSZKFailoverController

在某regionserver上启动Hmaster

hbase-daemon.sh start master

jps:

9832 HRegionServer
8923 QuorumPeerMain
9379 NodeManager
10495 Jps
9197 DataNode
9622 ResourceManager
9006 JournalNode
10005 HMaster
10436 NameNode
9552 DFSZKFailoverController

这个时候就可以看到HMaster启动了。

如何区分哪个是Active哪个是standby呢,看log

hbase的log中可以看到

2015-08-07 14:00:14,765 INFO  [hadoop002:60000.activeMasterManager] master.ActiveMasterManager: Another master is the active master, hadoop001,60000,1438927191790; waiting to become the next active master

这样就可以判断哪台是Active了

时间: 2024-10-09 07:01:07

HBase 高可用(HA)的相关文章

使用HeartBeat实现高可用HA的配置过程详解

使用HeartBeat实现高可用HA的配置过程详解 一.写在前面 HA即(high available)高可用,又被叫做双机热备,用于关键性业务.简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务.常见的实现高可用的开源软件有 heartbeat 和 keepalived. 这样,一台 web 服务器一天24小时提供web服务,难免会存在 web 服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望

Nginx+Keepalived 实现反代 负载均衡 高可用(HA)配置

Nginx+Keepalived实现反代负载均衡高可用(HA)配置 Nginx+Keepalived实现反代负载均衡高可用配置 OS IP 子网掩码 路由网关 Centos6.6 nginx Keepalived Eth0:192.168.26.210 255.255.252.0 192.168.25.3 VIP:192.168.27.210 Centos6.6 Nginx Keepalived Eth0:192.168.26.211 255.255.252.0 192.168.25.3 VIP

浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)

1.熟悉几个组件 1.1.apache     —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等 servlet容器处理jsp.1.2.ngnix     —— 俄罗斯人开发的一个高性能的 HTTP和反向代理服务器.由于Nginx 超越 Apache 的高性能和稳

Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

大纲一.前言二.环境准备三.Corosync 安装与配置四.Pacemaker 安装与配置五.DRBD 安装与配置六.MySQL 安装与配置七.crmsh 资源管理 推荐阅读: Linux 高可用(HA)集群基本概念详解 http://www.linuxidc.com/Linux/2013-08/88522.htm Linux 高可用(HA)集群之Heartbeat详解 http://www.linuxidc.com/Linux/2013-08/88521.htm 一.前言      前几篇博文

corosync+pacemaker实现高可用(HA)集群

corosync+pacemaker实现高可用(HA)集群(一) ????重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与主机(又称节点)的关系: 资源包括vip,httpd,filesystem等: 可整合多个资源形成一个服务: 服务必运行在某个主机上,主机上也可不运行服务(此为空闲主机): 服务里的所有资源应该同时运行在同一个节点上,实现方式有2种: 资源组: 排列约束 资源类型 primitive(或native

Heartbeat+MySQL+NFS 实现高可用(HA)的MySQL集群

一:试验目的 利用heartbeat心跳机制haresource实现高可用(HA)mysql数据库的搭建. 二:试验拓扑图 三:安装前的环境准备 规划IP为192.168.1.14为node1;IP为192.168.1.2为node2 1)修改各主机名称 修改node1主机名称  vim /etc/sysconfig/network   NETWORKING=yes   HOSTNAME=node1 #修改主机名称为node1  vim /etc/hosts     192.168.1.2 no

高可用(HA)集群原理概述

一.高可用集群(High Availability Cluster) 集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.每一个单个的计算机系统都叫集群节点(node).随着业务的增长,集群通过添加新的节点,满足资源的高可扩展性. 计算机硬件和软件易错性不可避免,这样在节点上的服务会不可避免的中断.高可用集群的出现是为保证即使节点失效,而服务能不中断. 高可用集群在一组计算机中,采用主备模式,主节点提供服务,备节点等待:一旦,主节点失效,备节点无需人工的无缝取代主节点提

网易视频云技术分享:HBase高可用原理与实践

网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅.低时延.高并发的视频直播.录制.存储.转码及点播等音视频的PAAS服务,在线教育.远程医疗.娱乐秀场.在线金融等各行业及企业用户只需经过简单的开发即可打造在线音视频平台.现在,网易视频云的技术专家给大家分享一则技术文:HBase高可用原理与实践. 前言 前段时间有套线上HBase出了点小问题,导致该套HBase集群服务停止了2个小时,从而造成使用该套HBase作为数据存储的应用也出现了服务异常.在排查问

阿里HBase高可用8年“抗战”回忆录

2017年开始阿里HBase走向公有云,我们有计划的在逐步将阿里内部的高可用技术提供给外部客户,目前已经上线了同城主备,将作为我们后续高可用能力发展的一个基础平台.本文分四个部分回顾阿里HBase在高可用方面的发展:大集群.MTTF&MTTR.容灾.极致体验,希望能给大家带来一些共鸣和思考. 大集群 一个业务一个集群在初期很简便,但随着业务增多会加重运维负担,更重要的是无法有效利用资源.首先每一个集群都要有Zookeeper.Master.NameNode这三种角色,固定的消耗3台机器.其次有些