SlideShare a Scribd company logo
HBASEHIGHAVAILABILITY
HBASE HIGH
AVAILABILITYPAST, PRESENT AND FUTURE
JUN // 11 // 2015
SUDARSHAN KADAMBI, BLOOMBERG
DEVARAJ DAS, HORTONWORKS
HBASEHIGHAVAILABILITY
HBASE BASICS – QUICK RECAP
2
Region
Memstore
RegionServer
HDFS
Client
Region
MemstoreRegion
Memstore
Get/Scan/Put
Memstore
HBASEHIGHAVAILABILITY
3
HBASE MTTR – AN OVERVIEW
HBASEHIGHAVAILABILITY
BEYOND MTTR ….
30 seconds downtime (aggressive MTTR time) is still too
much
CERTAIN CLASSES OF APPS ARE WILLING TO TOLERATE
DECREASED CONSISTENCY GUARANTEES IN FAVOR OF
AVAILABILITY
» Especially for READs
INTRODUCED REGION REPLICA & TIMELINE CONSISTENCY
IN HBASE
 Community effort in the Apache jira HBASE-10070
4
HBASEHIGHAVAILABILITY
HBASE-10070: “REGION REPLICA”
5
FOR EVERY REGION OF THE TABLE, THERE CAN BE MORE THAN ONE REPLICA
» Each region replica is hosted by a different region server
ONE REPLICA PER REGION IS THE “PRIMARY”
» Only this can accepts WRITEs
» All reads from this region replica return the most recent data
OTHER REPLICAS, ALSO CALLED “SECONDARIES” FOLLOW THE PRIMARY
» Via Asynchronous WAL replication
» May not have received the recent data
» Serve data from the same data files (hfiles) as primary
HBASEHIGHAVAILABILITY
HBASE-10070: “ASYNC WAL REPL”
Client1
X=1WAL
MEM
Replica_id=0 (primary)
Replica_id=r1
Replica_id=r2
replication
replication
X=3
WAL
MEM
WAL
MEM
X=1X=1Write
HBASEHIGHAVAILABILITY
HBASE-10070: “ASYNC WAL REPL”
Client1
X=1
Client2
WAL
MEM
Replica_id=0 (primary)
Replica_id=r1
Replica_id=r2
replication
replication
X=3
WAL
MEM
WAL
MEM
X=1
X=1
X=1
X=1
X=1
X=1Read
X=1Read
X=1Read
HBASEHIGHAVAILABILITY
HBASE-10070: “ASYNC WAL REPL”
Client1
X=1WAL
MEM
Replica_id=0 (primary)
Replica_id=r1
Replica_id=r2
replication
replication
X=3
WAL
MEM
WAL
MEM
X=1
X=1
X=1
X=2Write X=2
X=2
HBASEHIGHAVAILABILITY
HBASE-10070: “ASYNC WAL REPL”
X=1
Client2
WAL
MEM
Replica_id=0 (primary)
Replica_id=r1
Replica_id=r2
replication
replication
X=3
WAL
MEM
WAL
MEM
X=1
X=1
X=1
Read
Read
X=1Read
X=2
X=2
X=2
X=2
X=2
X=2
Reads and Scans can be performed,
returning possibly stale data
HBASEHIGHAVAILABILITY
HBASE-10070: “TIMELINE CONSISTENCY”
10
PUBLIC ENUM CONSISTENCY {
STRONG,
TIMELINE
}
GET GET = NEW GET(ROW);
GET.SETCONSISTENCY(CONSISTENCY.TIMELINE);
...
RESULT RESULT = TABLE.GET(GET);
…
IF (RESULT.ISSTALE()) {
...
}
HBASEHIGHAVAILABILITY
THE CURRENT STATE OF HBASE-10070
• Available in HBase 1.1.0
• Provides HA reads but not writes
• Simplest to implement
• Consensus-based HA more work than
having No consensus
11
HBASEHIGHAVAILABILITY
EXTENSIONS TO HBASE-10070
• Standby-aware Assignment Manager
• Standby-aware DataNode placement
• Pluggable retry policies
• Pluggable consistency models
12
HBASEHIGHAVAILABILITY
HIGH AVAILABILITY – SOLUTION
PARAMETERS
• Where does the WAL go?
• Are Region Servers Active-Active or Active-
Standby?
• Do you use quorum?
• What consensus algorithm to achieve
quorum?
13
>>>>>>>>>>>>>>
WANDISCO’S NON
STOP HBASE
HBASEHIGHAVAILABILITY
WAN DISCO: ARCHITECTURE
• WAL on Local file system
• Multiple Region Servers host a region
• Reads and writes to a key served by any
replica
• Paxos-based Consensus
15
HBASEHIGHAVAILABILITY
WAN DISCO: WRITE PATH
• All replicas equal for reads and writes
• Client sends the Put to any one replica
• Chosen replica co-ordinates with peers
• Memstore and WAL updated after
consensus is achieved
16
HBASEHIGHAVAILABILITY
WAN DISCO: WRITE PATH
Client
WAL
MEM
Replica_id=R1
Replica_id=R2
Replica_id=R3
Networkpartition
WAL
MEM
WAL
MEM
X=2
X=2
X=2
WRITE X=2
X=2
X=2
HBASEHIGHAVAILABILITY
WAN DISCO: READ PATH
• Reads go to any one replica in the set
• On timeout, client does co-ordinated read
to other replicas
• Could potentially return stale data
18
HBASEHIGHAVAILABILITY
WAN DISCO: READ PATH
Client
WAL
MEM
Replica_id=R1
Replica_id=R2
Replica_id=R3
WAL
MEM
WAL
MEM
X=2
X=2
X=2
READ X
X=2
HBASEHIGHAVAILABILITY
WAN DISCO: READ PATH
Client
WAL
MEM
Replica_id=R1
Replica_id=R2
Replica_id=R3
WAL
MEM
WAL
MEM
X=2
X=2
X=2
READ X
X=2
HBASEHIGHAVAILABILITY
WAN DISCO: REGION SERVER FAILURE
• No downtime on reads or writes upon RS
failure
• Failed RS will not persist writes
• Failed RS might be on the read path, client
re-issues read on timeout
21
>>>>>>>>>>>>>>
FACEBOOK’S
HYDRABASE
HBASEHIGHAVAILABILITY
HYDRABASE: ARCHITECTURE
• WAL on Local file system
• Multiple Region Servers host a given region
• Reads and writes to a key served by active
leader only
• RAFT-based Consensus
23
HBASEHIGHAVAILABILITY
HYDRABASE: ARCHITECTURE
• Replicas are in either active or witness
mode
• Active replicas write HFiles
• Witness replicas only do WAL replication
24
HBASEHIGHAVAILABILITY
HYDRABASE: ARCHITECTURE
25
cc, Image Courtesy https://code.facebook.com/posts/321111638043166/hydrabase-the-evolution-of-hbase-facebook/
HBASEHIGHAVAILABILITY
HYDRABASE: FAILOVER
26
cc, Image Courtesy https://code.facebook.com/posts/321111638043166/hydrabase-the-evolution-of-hbase-facebook/
HBASEHIGHAVAILABILITY
HYDRABASE: FAILOVER
27
cc, Image Courtesy https://code.facebook.com/posts/321111638043166/hydrabase-the-evolution-of-hbase-facebook/
HBASEHIGHAVAILABILITY
COMPARISON MATRIX
28
INTER-
CLUSTER
REPLICATION
HBASE-10070 WAN
DISCO
HYDRABASE
CONSENSUS NO
CONSENSUS
NO
CONSENSUS
PAXOS RAFT
READ
AVAILABILITY
YES YES YES YES
WRITE
AVAILABILITY
YES NO* YES YES
STRONGLY
CONSISTENT
HA READS
NO NO NO YES
HBASEHIGHAVAILABILITY
COMPARISON MATRIX
29
INTER-
CLUSTER
REPLICATION
HBASE-10070 WAN DISCO HYDRABASE
STRONGLY
CONSISTENT
HA WRITES
NO NO YES YES
MULTI-
DATACENTER
YES NO* YES YES
PLUGGABLE
CONSISTENCY
MODEL
NO NO NO NO
LICENSE OPEN
SOURCE
OPEN
SOURCE, 1.1
COMMERCIAL PROPRIETARY
*
HBASEHIGHAVAILABILITY
ACKNOWLEDGEMENTS
• Ryan Rawson & Jagane Sundar, WanDisco
• HBase team at Facebook
30
HBASEHIGHAVAILABILITY
QUESTIONS?

More Related Content

PDF
Tales from the Cloudera Field
PPTX
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
PPTX
Floating on a RAFT: HBase Durability with Apache Ratis
PDF
a Secure Public Cache for YARN Application Resources
PPTX
Flexible and Real-Time Stream Processing with Apache Flink
PPTX
Apache HBase: State of the Union
PPTX
Multi-tenant, Multi-cluster and Multi-container Apache HBase Deployments
PPTX
Hadoop Storage in the Cloud Native Era
Tales from the Cloudera Field
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Floating on a RAFT: HBase Durability with Apache Ratis
a Secure Public Cache for YARN Application Resources
Flexible and Real-Time Stream Processing with Apache Flink
Apache HBase: State of the Union
Multi-tenant, Multi-cluster and Multi-container Apache HBase Deployments
Hadoop Storage in the Cloud Native Era

What's hot (20)

PPTX
HBase Backups
PDF
HBaseCon 2013: Apache HBase, Meet Ops. Ops, Meet Apache HBase.
PDF
HBaseCon 2015: Elastic HBase on Mesos
PPTX
Supporting Apache HBase : Troubleshooting and Supportability Improvements
PDF
HBase Tales From the Trenches - Short stories about most common HBase operati...
PPTX
Rigorous and Multi-tenant HBase Performance Measurement
PPTX
HBase and HDFS: Understanding FileSystem Usage in HBase
PDF
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
PPTX
HBaseCon 2015: HBase and Spark
PPTX
Hadoop engineering bo_f_final
PPTX
Deploying Apache Flume to enable low-latency analytics
PPTX
Backup and Disaster Recovery in Hadoop
PDF
Difference between hadoop 2 vs hadoop 3
PDF
Apache kafka
PDF
Hadoop 3.0 - Revolution or evolution?
PPTX
HBaseCon 2015: HBase Performance Tuning @ Salesforce
PDF
Architectural Overview of MapR's Apache Hadoop Distribution
PDF
Improving HDFS Availability with Hadoop RPC Quality of Service
PPTX
Scalable HiveServer2 as a Service
PPTX
Enterprise Grade Streaming under 2ms on Hadoop
HBase Backups
HBaseCon 2013: Apache HBase, Meet Ops. Ops, Meet Apache HBase.
HBaseCon 2015: Elastic HBase on Mesos
Supporting Apache HBase : Troubleshooting and Supportability Improvements
HBase Tales From the Trenches - Short stories about most common HBase operati...
Rigorous and Multi-tenant HBase Performance Measurement
HBase and HDFS: Understanding FileSystem Usage in HBase
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
HBaseCon 2015: HBase and Spark
Hadoop engineering bo_f_final
Deploying Apache Flume to enable low-latency analytics
Backup and Disaster Recovery in Hadoop
Difference between hadoop 2 vs hadoop 3
Apache kafka
Hadoop 3.0 - Revolution or evolution?
HBaseCon 2015: HBase Performance Tuning @ Salesforce
Architectural Overview of MapR's Apache Hadoop Distribution
Improving HDFS Availability with Hadoop RPC Quality of Service
Scalable HiveServer2 as a Service
Enterprise Grade Streaming under 2ms on Hadoop
Ad

Viewers also liked (6)

PPTX
Introduction to Hadoop Administration
PDF
Consumer offset management in Kafka
PPTX
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
PDF
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
PDF
HBase Storage Internals
PPTX
HBase Read High Availability Using Timeline Consistent Region Replicas
Introduction to Hadoop Administration
Consumer offset management in Kafka
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
Building Stream Infrastructure across Multiple Data Centers with Apache Kafka
HBase Storage Internals
HBase Read High Availability Using Timeline Consistent Region Replicas
Ad

Similar to High Availability for HBase Tables - Past, Present, and Future (20)

PPTX
HBase at Bloomberg: High Availability Needs for the Financial Industry
PPTX
ApacheCon-HBase-2016
PPTX
Supporting Apache HBase : Troubleshooting and Supportability Improvements
PDF
Facebook keynote-nicolas-qcon
PDF
支撑Facebook消息处理的h base存储系统
PDF
Facebook Messages & HBase
PPTX
Inside MapR's M7
PPTX
Inside MapR's M7
PDF
Apache HBase: Where We've Been and What's Upcoming
PPTX
NoSql day 2019 - Floating on a Raft - Apache HBase durability with Apache Ratis
PDF
HBase lon meetup
PPTX
HBase with MapR
PPTX
MariaDB High Availability
PPTX
HBaseCon 2015: HBase 2.0 and Beyond Panel
PDF
How To Set Up SQL Load Balancing with HAProxy - Slides
PPTX
HBase New Features
 
PDF
Apache HBase 0.98
ODP
London Ceph Day: The Future of CephFS
PPT
Connecting applicationswitha mq
PPTX
2017 VMUG Storage Policy Based Management
HBase at Bloomberg: High Availability Needs for the Financial Industry
ApacheCon-HBase-2016
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Facebook keynote-nicolas-qcon
支撑Facebook消息处理的h base存储系统
Facebook Messages & HBase
Inside MapR's M7
Inside MapR's M7
Apache HBase: Where We've Been and What's Upcoming
NoSql day 2019 - Floating on a Raft - Apache HBase durability with Apache Ratis
HBase lon meetup
HBase with MapR
MariaDB High Availability
HBaseCon 2015: HBase 2.0 and Beyond Panel
How To Set Up SQL Load Balancing with HAProxy - Slides
HBase New Features
 
Apache HBase 0.98
London Ceph Day: The Future of CephFS
Connecting applicationswitha mq
2017 VMUG Storage Policy Based Management

More from DataWorks Summit (20)

PPTX
Data Science Crash Course
PPTX
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
PPTX
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
PPTX
Managing the Dewey Decimal System
PPTX
Practical NoSQL: Accumulo's dirlist Example
PPTX
HBase Global Indexing to support large-scale data ingestion at Uber
PPTX
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
PPTX
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
PPTX
Security Framework for Multitenant Architecture
PDF
Presto: Optimizing Performance of SQL-on-Anything Engine
PPTX
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
PPTX
Extending Twitter's Data Platform to Google Cloud
PPTX
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
PPTX
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
PPTX
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
PDF
Computer Vision: Coming to a Store Near You
PPTX
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
PPTX
Transforming and Scaling Large Scale Data Analytics: Moving to a Cloud-based ...
PPTX
Applying Noisy Knowledge Graphs to Real Problems
PDF
Open Source, Open Data: Driving Innovation in Smart Cities
Data Science Crash Course
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Managing the Dewey Decimal System
Practical NoSQL: Accumulo's dirlist Example
HBase Global Indexing to support large-scale data ingestion at Uber
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Security Framework for Multitenant Architecture
Presto: Optimizing Performance of SQL-on-Anything Engine
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Extending Twitter's Data Platform to Google Cloud
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Computer Vision: Coming to a Store Near You
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Transforming and Scaling Large Scale Data Analytics: Moving to a Cloud-based ...
Applying Noisy Knowledge Graphs to Real Problems
Open Source, Open Data: Driving Innovation in Smart Cities

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
cuic standard and advanced reporting.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
MYSQL Presentation for SQL database connectivity
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
cuic standard and advanced reporting.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

High Availability for HBase Tables - Past, Present, and Future