SlideShare a Scribd company logo
1 of 37
Kafka Disaster Recovery
Abdelkrim Hadjidj
Senior Data Streaming Specialist
© 2019 Cloudera, Inc. All rights reserved. 2
Quick intro
• Senior Specialist Solution Engineer at Cloudera
• Focus on CDF offering
● Edge Management & IoT (MiNiFi, CEM)
● Flow Management (NiFi, Registry)
● Stream Processing (Kafka, KStreams, SMM, SR, …)
• Founder of Future of Data Paris Meetup http://tiny.cc/fodp
• Founder of Solutions Engineers of Paris http://tiny.cc/PSE
@ahadjidj
© 2019 Cloudera, Inc. All rights reserved. 3
Kafka Disaster Recovery options
Broker
Broker
Broker
DC1 DC2
Data
DC1 DC2
Data
Dual ingest
Zero RPO
Mirroring**
Very low RPO
DC2 DC3
Data
Multiple DC*
Zero RPO
BrokerBroker Broker
Broker
Broker
Broker
Broker
Broker
Broker
Broker
Broker
DC1
Broker
* Stretch cluster on geographically distributed DC is not recommended
** Replication is used for internal broker replication
© 2019 Cloudera, Inc. All rights reserved. 4
Agenda
From MM to MM2 and SRM
Active Passive Architecture
Active Active Architectures
Other use cases
Monitoring
Q&A
© 2019 Cloudera, Inc. All rights reserved. 5
Mirror Maker use cases
DC1 DC2 DC3
K1 K2 K3
MM aggregate
Aggregation
DC1 DC2 DC3
K1 K2 K3
MM MM
Data Deployment
MMK1 K2
P
P
P
P
P
P
C
C
C
C
C
C
Segmentation
MMK2 K1
P
P
P
P
P
P
C
C
C
C
C
C
MMK3
P
P
P
P
P
P
Acquisitions & mergers
© 2019 Cloudera, Inc. All rights reserved. 6
Mirror Maker use cases
Tracking
Queuing
P
P
P
P
P
P
P
P
P
P
P
P
C
C
C
C
C
C
C
C
C
C
C
C
Tracking
Aggregate
MM
Queuing
Aggregate
MM
C
C
C
C
C
C
C
C
C
C
C
C
HDFS
HDFS
MM
MM
© 2019 Cloudera, Inc. All rights reserved. 7
Mirror Make limitations for Disaster Recovery
• Static Whitelists and Blacklists
• Configuration synch
• Manual Topic Naming to avoid Cycles
• Scalability and Throughput Limitations due to Rebalances
• Lack of Monitoring and Operational Support
• No Disaster Recovery, Migration, Failover
• Too many MirrorMaker Clusters
© 2019 Cloudera, Inc. All rights reserved. 8
Streams
Replication
Manager
• Mirror Maker 2 KIP-382
• Supports active-active, multi-
cluster, cross DC replication &
other complex scenarios
• Leverage Kafka Connect for
scalability and HA
• Replicate data and configurations
(ACL, partitioning, new topics, etc)
• Offset translation for failover and
failback
• Monitoring integration with SMM
A
B
C
X
Y
C
C
C
Kafka
Connect
MM2 cluster
X
topic1.part1
topic1.part0
A
topic1.part1
topic1.part0
A.topic1.part1
A.topic1.part0
B
topic1.part1
topic1.part0
X.topic1.part1
X.topic1.part0
Active – Passive Architecture
© 2019 Cloudera, Inc. All rights reserved. 10
Producers send to primary if
available, to secondary if not
Consumers can be migrated between
primary and secondary clusters.
Active/standby
Data, offset syncs,
and consumer
checkpoints.
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
© 2019 Cloudera, Inc. All rights reserved. 11
Configuration file
• Simple file configuration
• Multi directional
• Fine grained replication
• Topics white/black lists
• Group white/black lists
• Interval configurations
• Supports patterns
$ ./bin/connect-mirror-maker.sh mm2.properties
© 2019 Cloudera, Inc. All rights reserved. 12
Remote topics
• Replicated topics are
renamed according to
ReplicationPolicy.
• Default policy :
<source>.<topic>
• Can implement custom
policies
topic1
topic2
secondary.topic1
secondary.topic2
topic1
topic2
primary.topic1
primary.topic2
SRM
Primary
Cluster
Secondary
Cluster
© 2019 Cloudera, Inc. All rights reserved. 13
Heartbeats
• MM2 emits a heartbeat topic
in each source cluster, which
is replicated to other clusters
• Downstream cluster uses this
topic to verify that
● The connector is running
● The corresponding
source cluster is
available
target=primary
source=secondary
Timestamp=5434356
primary.heartbeats
SRM
Secondary
Cluster
© 2019 Cloudera, Inc. All rights reserved. 14
Offset Syncs
• Offset sync stream maps
offsets between mirrored
clusters.
topic=primary.topic1
partition=4
upstreamOffset=100
downstreamOffset=102
primary.offset-syncs.internal
SRM
Secondary
Cluster
© 2019 Cloudera, Inc. All rights reserved. 15
Checkpoints
• Checkpoint stream replicates
consumer group state.
• MM2 periodically
emit checkpoints in the
destination cluster
• The checkpoint topic is log-
compacted to reflect only the
latest offsets across
consumer groups
topic=primary.topic1
partition=4
group=consumer-group-2
upstreamOffset=100
offset=102
primary.checkpoints.internal
SRM
Secondary
Cluster
© 2019 Cloudera, Inc. All rights reserved. 16
Cross-cluster offset translation
Translate offsets between clusters via RemoteClusterUtils
Map<TopicPartition, Long> newOffsets =
RemoteClusterUtils.translateOffsets(
newClusterProperties, oldClusterName,
consumerGroupId);
consumer.seek(newOffsets);
● offset translation based on checkpoints in new cluster
● no connection to old cluster required
© 2019 Cloudera, Inc. All rights reserved. 17
Publish to topic
Active/standby
Data, offset syncs,
and consumer
checkpoints.
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Subscribe to *.topic
© 2019 Cloudera, Inc. All rights reserved. 18
Publish to topic
Primary down: fail over
Migrate consumers
Data, offset syncs,
and consumer
checkpoints.
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Use RemoteClusterUtil to migrate to
primary.topic (old data) and topic (new
data)
© 2019 Cloudera, Inc. All rights reserved. 19
Publish to topic
Primary down: fail over
Migrate consumers
Data, offset syncs,
and consumer
checkpoints.
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
$ srm-control offsets --bootstrap-server :9092 --source primary --group foo --export > out.csv
$ kafka-consumer-groups --bootstrap-server B_host:9092 --reset-offsets --group foo --execute --from-file out.csv
© 2019 Cloudera, Inc. All rights reserved. 20
Publish to topic
Primary permanently lost? Recover from secondary.
Lost primary topics can be recovered from remote topics on secondary cluster.
Producers
Producers
Producers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Primary-2
topic1
topic2
secondary.topic1
secondary.topic2
secondary.primary.topic1
secondary.primary.topic2
topic1
topic2
primary.topic1
primary.topic2
primary-2.topic1
primary-2.topic2
Data from old primary
Active – Passive Demo
© 2019 Cloudera, Inc. All rights reserved. 22
Publish to retail-store
Active/standby Demo Scenario
Producers
Producers
NiFi Producers
Producers
NiFi
SRM
Paris
Cluster
NYC
Cluster
Subscribe to retail-store
and nyc_retail-store
Active - Active
© 2019 Cloudera, Inc. All rights reserved. 24
Publish to topic
Active/active: Cross Consumer Groups or XDCR
Consumer subscription defines the patterns
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Produce to both cluster.
Producers
Producers
Consumers
Consume from both clusters.
A/ Cross-cluster consumer groups
© 2019 Cloudera, Inc. All rights reserved. 26
Publish to topic
Cross-cluster consumer groups
Effectively one big consumer group
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Produce to both cluster.
Producers
Producers
Consumers
Subscribe to topic
R1
R1 R1
Subscribe to topic
R2
R2
R2
© 2019 Cloudera, Inc. All rights reserved. 27
Publish to topic
Cross-cluster consumer groups
What it takes to fail-over? Nothing
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Produce to both cluster.
Producers
Producers
Consumers
Subscribe to topic
R3
Subscribe to topic
R3
R3
Primary
Cluster
DC temporarily lost
© 2019 Cloudera, Inc. All rights reserved. 28
Publish to topic
Cross-cluster consumer groups
What it takes to fail-back? Nothing also
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Produce to both cluster.
Producers
Producers
Consumers
Recover from last point and
resume – some events may
be delayed
R4
R4 R4
DC issue resolved
© 2019 Cloudera, Inc. All rights reserved. 29
Publish to topic
Cross-cluster consumer groups
DC permanently lost
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary-2
Cluster
Secondary
Cluster
Produce to both cluster.
Producers
Producers
Consumers
Data previously in primary is
not lost and can be recovered
from secondary
Subscribe to topic
Primary
Cluster
Bring new DC
XDCR
© 2019 Cloudera, Inc. All rights reserved. 31
Publish to topic
Cross Data Center Replication XDCR
All consumers process all records
Producers
Producers
Producers
Producers
Producers
Consumers
VIP/Load
Balancers SRM
Primary
Cluster
Secondary
Cluster
Produce to both cluster.
Producers
Producers
Consumers
Subscribe to *.topic
R1
R1 R1
Subscribe to *.topic
R1 R1
R2 R2
R2
R2 R2
Active – Passive Demo
Other use cases
© 2019 Cloudera, Inc. All rights reserved. 34
Cloud migration or Kafka version upgrade
© 2019 Cloudera, Inc. All rights reserved. 35
Aggregation for Analytics
Monitoring: Demo integration with
SMM
THAN YOU

More Related Content

What's hot

Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka confluent
 
SRV308 Deep Dive on Amazon Aurora
SRV308 Deep Dive on Amazon AuroraSRV308 Deep Dive on Amazon Aurora
SRV308 Deep Dive on Amazon AuroraAmazon Web Services
 
Stream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETStream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETconfluent
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...HostedbyConfluent
 
Disaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache KafkaDisaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache Kafkaconfluent
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developersconfluent
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak PerformanceTodd Palino
 
How to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams SafeHow to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams Safeconfluent
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlJiangjie Qin
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaJiangjie Qin
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaJeff Holoman
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Jean-Paul Azar
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019confluent
 
MirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael MaisonMirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael MaisonHostedbyConfluent
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Kai Wähner
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Flink Forward
 

What's hot (20)

Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka
 
SRV308 Deep Dive on Amazon Aurora
SRV308 Deep Dive on Amazon AuroraSRV308 Deep Dive on Amazon Aurora
SRV308 Deep Dive on Amazon Aurora
 
Stream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETStream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NET
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 
Disaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache KafkaDisaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache Kafka
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developers
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Envoy and Kafka
Envoy and KafkaEnvoy and Kafka
Envoy and Kafka
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
 
How to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams SafeHow to Lock Down Apache Kafka and Keep Your Streams Safe
How to Lock Down Apache Kafka and Keep Your Streams Safe
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache Kafka
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
 
MirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael MaisonMirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael Maison
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
 

Similar to Disaster Recovery and High Availability with Kafka, SRM and MM2

Beyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBMBeyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBMHostedbyConfluent
 
Db2 developer ecosystem
Db2 developer ecosystemDb2 developer ecosystem
Db2 developer ecosystemModusOptimum
 
Db2 on cloud overview
Db2 on cloud overviewDb2 on cloud overview
Db2 on cloud overviewModusOptimum
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)Yong Feng
 
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)Michael Elder
 
Citi Tech Talk Disaster Recovery Solutions Deep Dive
Citi Tech Talk  Disaster Recovery Solutions Deep DiveCiti Tech Talk  Disaster Recovery Solutions Deep Dive
Citi Tech Talk Disaster Recovery Solutions Deep Diveconfluent
 
From Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the UnexpectedFrom Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the UnexpectedDataCore Software
 
MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08Kenny Gryp
 
OpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and Future
OpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and FutureOpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and Future
OpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and FutureMichael Fork
 
INFINIDAT InfiniGuard - 20220330.pdf
INFINIDAT InfiniGuard - 20220330.pdfINFINIDAT InfiniGuard - 20220330.pdf
INFINIDAT InfiniGuard - 20220330.pdfMarketingArrowECS_CZ
 
Data stream with cruise control
Data stream with cruise controlData stream with cruise control
Data stream with cruise controlBill Liu
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveDavid Currie
 
Nrb Mainframe Day z Data and AI - Leif Pedersen
Nrb Mainframe Day z Data and AI - Leif PedersenNrb Mainframe Day z Data and AI - Leif Pedersen
Nrb Mainframe Day z Data and AI - Leif PedersenNRB
 
Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...
Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...
Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...HostedbyConfluent
 
Kubernetes Security Best Practices for DevOps
Kubernetes Security Best Practices for DevOpsKubernetes Security Best Practices for DevOps
Kubernetes Security Best Practices for DevOpsDevOps.com
 
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive KubernetesIBM France Lab
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designIsaac Chiang
 

Similar to Disaster Recovery and High Availability with Kafka, SRM and MM2 (20)

Beyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBMBeyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBM
 
Db2 developer ecosystem
Db2 developer ecosystemDb2 developer ecosystem
Db2 developer ecosystem
 
Db2 on cloud overview
Db2 on cloud overviewDb2 on cloud overview
Db2 on cloud overview
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
 
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
 
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)
 
Citi Tech Talk Disaster Recovery Solutions Deep Dive
Citi Tech Talk  Disaster Recovery Solutions Deep DiveCiti Tech Talk  Disaster Recovery Solutions Deep Dive
Citi Tech Talk Disaster Recovery Solutions Deep Dive
 
From Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the UnexpectedFrom Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the Unexpected
 
MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08
 
Kafka/SMM Crash Course
Kafka/SMM Crash CourseKafka/SMM Crash Course
Kafka/SMM Crash Course
 
OpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and Future
OpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and FutureOpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and Future
OpenStack Atlanta Summit - IBM, SoftLayer, and OpenStack: Present and Future
 
INFINIDAT InfiniGuard - 20220330.pdf
INFINIDAT InfiniGuard - 20220330.pdfINFINIDAT InfiniGuard - 20220330.pdf
INFINIDAT InfiniGuard - 20220330.pdf
 
Data stream with cruise control
Data stream with cruise controlData stream with cruise control
Data stream with cruise control
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
Nrb Mainframe Day z Data and AI - Leif Pedersen
Nrb Mainframe Day z Data and AI - Leif PedersenNrb Mainframe Day z Data and AI - Leif Pedersen
Nrb Mainframe Day z Data and AI - Leif Pedersen
 
Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...
Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...
Help, My Kafka is Broken! (Emma Humber & Gantigmaa Selenge, IBM) Kafka Summit...
 
Sklm webinar
Sklm webinarSklm webinar
Sklm webinar
 
Kubernetes Security Best Practices for DevOps
Kubernetes Security Best Practices for DevOpsKubernetes Security Best Practices for DevOps
Kubernetes Security Best Practices for DevOps
 
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
 
Dcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-designDcs cloud architecture-high-level-design
Dcs cloud architecture-high-level-design
 

More from Abdelkrim Hadjidj

Paris FOD meetup - koordinator
Paris FOD meetup - koordinatorParis FOD meetup - koordinator
Paris FOD meetup - koordinatorAbdelkrim Hadjidj
 
Paris FOD meetup - Streams Messaging Manager
Paris FOD meetup - Streams Messaging ManagerParis FOD meetup - Streams Messaging Manager
Paris FOD meetup - Streams Messaging ManagerAbdelkrim Hadjidj
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Abdelkrim Hadjidj
 
FOD Paris Meetup - Global Data Management with DataPlane Services (DPS)
FOD Paris Meetup -  Global Data Management with DataPlane Services (DPS)FOD Paris Meetup -  Global Data Management with DataPlane Services (DPS)
FOD Paris Meetup - Global Data Management with DataPlane Services (DPS)Abdelkrim Hadjidj
 
Paris FOD Meetup #5 Hortonworks Presentation
Paris FOD Meetup #5 Hortonworks PresentationParis FOD Meetup #5 Hortonworks Presentation
Paris FOD Meetup #5 Hortonworks PresentationAbdelkrim Hadjidj
 
Paris FOD Meetup #5 Cognizant Presentation
Paris FOD Meetup #5 Cognizant PresentationParis FOD Meetup #5 Cognizant Presentation
Paris FOD Meetup #5 Cognizant PresentationAbdelkrim Hadjidj
 
Apache NiFi: latest developments for flow management at scale
Apache NiFi: latest developments for flow management at scaleApache NiFi: latest developments for flow management at scale
Apache NiFi: latest developments for flow management at scaleAbdelkrim Hadjidj
 
Future of Data Meetup : Boontadata
Future of Data Meetup : BoontadataFuture of Data Meetup : Boontadata
Future of Data Meetup : BoontadataAbdelkrim Hadjidj
 

More from Abdelkrim Hadjidj (9)

Hive 3 a new horizon
Hive 3  a new horizonHive 3  a new horizon
Hive 3 a new horizon
 
Paris FOD meetup - koordinator
Paris FOD meetup - koordinatorParis FOD meetup - koordinator
Paris FOD meetup - koordinator
 
Paris FOD meetup - Streams Messaging Manager
Paris FOD meetup - Streams Messaging ManagerParis FOD meetup - Streams Messaging Manager
Paris FOD meetup - Streams Messaging Manager
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101
 
FOD Paris Meetup - Global Data Management with DataPlane Services (DPS)
FOD Paris Meetup -  Global Data Management with DataPlane Services (DPS)FOD Paris Meetup -  Global Data Management with DataPlane Services (DPS)
FOD Paris Meetup - Global Data Management with DataPlane Services (DPS)
 
Paris FOD Meetup #5 Hortonworks Presentation
Paris FOD Meetup #5 Hortonworks PresentationParis FOD Meetup #5 Hortonworks Presentation
Paris FOD Meetup #5 Hortonworks Presentation
 
Paris FOD Meetup #5 Cognizant Presentation
Paris FOD Meetup #5 Cognizant PresentationParis FOD Meetup #5 Cognizant Presentation
Paris FOD Meetup #5 Cognizant Presentation
 
Apache NiFi: latest developments for flow management at scale
Apache NiFi: latest developments for flow management at scaleApache NiFi: latest developments for flow management at scale
Apache NiFi: latest developments for flow management at scale
 
Future of Data Meetup : Boontadata
Future of Data Meetup : BoontadataFuture of Data Meetup : Boontadata
Future of Data Meetup : Boontadata
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Disaster Recovery and High Availability with Kafka, SRM and MM2

  • 1. Kafka Disaster Recovery Abdelkrim Hadjidj Senior Data Streaming Specialist
  • 2. © 2019 Cloudera, Inc. All rights reserved. 2 Quick intro • Senior Specialist Solution Engineer at Cloudera • Focus on CDF offering ● Edge Management & IoT (MiNiFi, CEM) ● Flow Management (NiFi, Registry) ● Stream Processing (Kafka, KStreams, SMM, SR, …) • Founder of Future of Data Paris Meetup http://tiny.cc/fodp • Founder of Solutions Engineers of Paris http://tiny.cc/PSE @ahadjidj
  • 3. © 2019 Cloudera, Inc. All rights reserved. 3 Kafka Disaster Recovery options Broker Broker Broker DC1 DC2 Data DC1 DC2 Data Dual ingest Zero RPO Mirroring** Very low RPO DC2 DC3 Data Multiple DC* Zero RPO BrokerBroker Broker Broker Broker Broker Broker Broker Broker Broker Broker DC1 Broker * Stretch cluster on geographically distributed DC is not recommended ** Replication is used for internal broker replication
  • 4. © 2019 Cloudera, Inc. All rights reserved. 4 Agenda From MM to MM2 and SRM Active Passive Architecture Active Active Architectures Other use cases Monitoring Q&A
  • 5. © 2019 Cloudera, Inc. All rights reserved. 5 Mirror Maker use cases DC1 DC2 DC3 K1 K2 K3 MM aggregate Aggregation DC1 DC2 DC3 K1 K2 K3 MM MM Data Deployment MMK1 K2 P P P P P P C C C C C C Segmentation MMK2 K1 P P P P P P C C C C C C MMK3 P P P P P P Acquisitions & mergers
  • 6. © 2019 Cloudera, Inc. All rights reserved. 6 Mirror Maker use cases Tracking Queuing P P P P P P P P P P P P C C C C C C C C C C C C Tracking Aggregate MM Queuing Aggregate MM C C C C C C C C C C C C HDFS HDFS MM MM
  • 7. © 2019 Cloudera, Inc. All rights reserved. 7 Mirror Make limitations for Disaster Recovery • Static Whitelists and Blacklists • Configuration synch • Manual Topic Naming to avoid Cycles • Scalability and Throughput Limitations due to Rebalances • Lack of Monitoring and Operational Support • No Disaster Recovery, Migration, Failover • Too many MirrorMaker Clusters
  • 8. © 2019 Cloudera, Inc. All rights reserved. 8 Streams Replication Manager • Mirror Maker 2 KIP-382 • Supports active-active, multi- cluster, cross DC replication & other complex scenarios • Leverage Kafka Connect for scalability and HA • Replicate data and configurations (ACL, partitioning, new topics, etc) • Offset translation for failover and failback • Monitoring integration with SMM A B C X Y C C C Kafka Connect MM2 cluster X topic1.part1 topic1.part0 A topic1.part1 topic1.part0 A.topic1.part1 A.topic1.part0 B topic1.part1 topic1.part0 X.topic1.part1 X.topic1.part0
  • 9. Active – Passive Architecture
  • 10. © 2019 Cloudera, Inc. All rights reserved. 10 Producers send to primary if available, to secondary if not Consumers can be migrated between primary and secondary clusters. Active/standby Data, offset syncs, and consumer checkpoints. Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster
  • 11. © 2019 Cloudera, Inc. All rights reserved. 11 Configuration file • Simple file configuration • Multi directional • Fine grained replication • Topics white/black lists • Group white/black lists • Interval configurations • Supports patterns $ ./bin/connect-mirror-maker.sh mm2.properties
  • 12. © 2019 Cloudera, Inc. All rights reserved. 12 Remote topics • Replicated topics are renamed according to ReplicationPolicy. • Default policy : <source>.<topic> • Can implement custom policies topic1 topic2 secondary.topic1 secondary.topic2 topic1 topic2 primary.topic1 primary.topic2 SRM Primary Cluster Secondary Cluster
  • 13. © 2019 Cloudera, Inc. All rights reserved. 13 Heartbeats • MM2 emits a heartbeat topic in each source cluster, which is replicated to other clusters • Downstream cluster uses this topic to verify that ● The connector is running ● The corresponding source cluster is available target=primary source=secondary Timestamp=5434356 primary.heartbeats SRM Secondary Cluster
  • 14. © 2019 Cloudera, Inc. All rights reserved. 14 Offset Syncs • Offset sync stream maps offsets between mirrored clusters. topic=primary.topic1 partition=4 upstreamOffset=100 downstreamOffset=102 primary.offset-syncs.internal SRM Secondary Cluster
  • 15. © 2019 Cloudera, Inc. All rights reserved. 15 Checkpoints • Checkpoint stream replicates consumer group state. • MM2 periodically emit checkpoints in the destination cluster • The checkpoint topic is log- compacted to reflect only the latest offsets across consumer groups topic=primary.topic1 partition=4 group=consumer-group-2 upstreamOffset=100 offset=102 primary.checkpoints.internal SRM Secondary Cluster
  • 16. © 2019 Cloudera, Inc. All rights reserved. 16 Cross-cluster offset translation Translate offsets between clusters via RemoteClusterUtils Map<TopicPartition, Long> newOffsets = RemoteClusterUtils.translateOffsets( newClusterProperties, oldClusterName, consumerGroupId); consumer.seek(newOffsets); ● offset translation based on checkpoints in new cluster ● no connection to old cluster required
  • 17. © 2019 Cloudera, Inc. All rights reserved. 17 Publish to topic Active/standby Data, offset syncs, and consumer checkpoints. Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Subscribe to *.topic
  • 18. © 2019 Cloudera, Inc. All rights reserved. 18 Publish to topic Primary down: fail over Migrate consumers Data, offset syncs, and consumer checkpoints. Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Use RemoteClusterUtil to migrate to primary.topic (old data) and topic (new data)
  • 19. © 2019 Cloudera, Inc. All rights reserved. 19 Publish to topic Primary down: fail over Migrate consumers Data, offset syncs, and consumer checkpoints. Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster $ srm-control offsets --bootstrap-server :9092 --source primary --group foo --export > out.csv $ kafka-consumer-groups --bootstrap-server B_host:9092 --reset-offsets --group foo --execute --from-file out.csv
  • 20. © 2019 Cloudera, Inc. All rights reserved. 20 Publish to topic Primary permanently lost? Recover from secondary. Lost primary topics can be recovered from remote topics on secondary cluster. Producers Producers Producers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Primary-2 topic1 topic2 secondary.topic1 secondary.topic2 secondary.primary.topic1 secondary.primary.topic2 topic1 topic2 primary.topic1 primary.topic2 primary-2.topic1 primary-2.topic2 Data from old primary
  • 22. © 2019 Cloudera, Inc. All rights reserved. 22 Publish to retail-store Active/standby Demo Scenario Producers Producers NiFi Producers Producers NiFi SRM Paris Cluster NYC Cluster Subscribe to retail-store and nyc_retail-store
  • 24. © 2019 Cloudera, Inc. All rights reserved. 24 Publish to topic Active/active: Cross Consumer Groups or XDCR Consumer subscription defines the patterns Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Produce to both cluster. Producers Producers Consumers Consume from both clusters.
  • 26. © 2019 Cloudera, Inc. All rights reserved. 26 Publish to topic Cross-cluster consumer groups Effectively one big consumer group Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Produce to both cluster. Producers Producers Consumers Subscribe to topic R1 R1 R1 Subscribe to topic R2 R2 R2
  • 27. © 2019 Cloudera, Inc. All rights reserved. 27 Publish to topic Cross-cluster consumer groups What it takes to fail-over? Nothing Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Produce to both cluster. Producers Producers Consumers Subscribe to topic R3 Subscribe to topic R3 R3 Primary Cluster DC temporarily lost
  • 28. © 2019 Cloudera, Inc. All rights reserved. 28 Publish to topic Cross-cluster consumer groups What it takes to fail-back? Nothing also Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Produce to both cluster. Producers Producers Consumers Recover from last point and resume – some events may be delayed R4 R4 R4 DC issue resolved
  • 29. © 2019 Cloudera, Inc. All rights reserved. 29 Publish to topic Cross-cluster consumer groups DC permanently lost Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary-2 Cluster Secondary Cluster Produce to both cluster. Producers Producers Consumers Data previously in primary is not lost and can be recovered from secondary Subscribe to topic Primary Cluster Bring new DC
  • 30. XDCR
  • 31. © 2019 Cloudera, Inc. All rights reserved. 31 Publish to topic Cross Data Center Replication XDCR All consumers process all records Producers Producers Producers Producers Producers Consumers VIP/Load Balancers SRM Primary Cluster Secondary Cluster Produce to both cluster. Producers Producers Consumers Subscribe to *.topic R1 R1 R1 Subscribe to *.topic R1 R1 R2 R2 R2 R2 R2
  • 34. © 2019 Cloudera, Inc. All rights reserved. 34 Cloud migration or Kafka version upgrade
  • 35. © 2019 Cloudera, Inc. All rights reserved. 35 Aggregation for Analytics