Exhibitor Introduction

  • 3,422 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,422
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
59
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. ExhibitorNetflix’s ZooKeeper Management System Jordan Zimmerman Senior Platform Engineer Netflix, Inc. jzimmerman@netflix.com @rangalt
  • 2. The Problem
  • 3. • ZooKeeper is statically configured• Limited tools for managing the ensemble• Backup/restore is sometimes needed• Visualization is desperately needed• Prior to 3.4.x, periodic cleanup needed
  • 4. The Goal
  • 5. Chaos Monkey-able• See http://techblog.netflix.com/2011/07/ netflix-simian-army.html A tool that randomly disables our production instances to make sure we can survive common types of failure without any customer impact.• Completely unmanned• Bringing up a new ensemble should be turn-key/push-button
  • 6. Features
  • 7. Instance MonitoringEach Exhibitor instance monitors theZooKeeper server running on the sameserver. If ZooKeeper is not running, Exhibitorwill write the zoo.cfg file, etc. and start it. IfZooKeeper crashes for some reason,Exhibitor will restart it.
  • 8. Log CleanupIn versions prior to ZooKeeper 3.4.x, log filemaintenance is necessary. Exhibitor willperiodically do this maintenance.
  • 9. Backup/RestoreBackups in a ZooKeeper ensemble are more complicatedthan for a traditional data store (e.g. aRDBMS). Generally,most of the data in ZooKeeper is ephemeral. It would beharmful to blindly restore an entire ZooKeeper data set.What is needed is selective restoration to prevent accidentaldamage to a subset of the data set. Exhibitor enables this.Exhibitor will periodically backup the ZooKeeper transactionfiles. Once backed up, you can index any of these transactionfiles. Once indexed, you can search for individual transactionsand “replay” them to restore a given ZNode to ZooKeeper.
  • 10. Cluster-wide ConfigurationExhibitor presents a single console for yourentire ZooKeeper ensemble. Configurationchanges made in Exhibitor will be applied tothe entire ensemble.
  • 11. Rolling Ensemble ChangesExhibitor can update the servers in theensemble in a rolling fashion so that theZooKeeper ensemble can stay up and inquorum while the changes are being made.
  • 12. VisualizerExhibitor provides a graphical tree view ofthe ZooKeeper ZNode hierarchy.
  • 13. ZooKeeper Data MutationWhen enabled, Exhibitor can create/update/delete nodes in the ZooKeeper hierarchy.
  • 14. Curator IntegrationExhibitor and Curator (Cur/Ex!) can beconfigured to work together so that Curatorinstances are updated for changes in theensemble. Exhibitor Exhibitor Exhibitor A B ... Round Robin - periodic query for servers list Curator Clients Curator Clients Curator Clients
  • 15. How it Works
  • 16. Shared Configuration • S3 • File System Shared • Etc. Config Exhibitor Exhibitor Exhibitor A B ...
  • 17. Coming Soon...
  • 18. • Auto-register new instances• Auto-remove old instances• Alerting• ???
  • 19. Using / Integration
  • 20. • Stand alone application - or -• Library/JAR
  • 21. REST API
  • 22. • https://github.com/Netflix/exhibitor/wiki/ REST-Introduction
  • 23. DemosQ&A