{"id":7241,"date":"2015-06-05T14:19:34","date_gmt":"2015-06-05T12:19:34","guid":{"rendered":"http:\/\/code.openark.org\/blog\/?p=7241"},"modified":"2015-06-05T14:21:08","modified_gmt":"2015-06-05T12:21:08","slug":"orchestrator-visual-cheatsheet","status":"publish","type":"post","link":"https:\/\/code.openark.org\/blog\/mysql\/orchestrator-visual-cheatsheet","title":{"rendered":"Orchestrator visual cheatsheet"},"content":{"rendered":"<p><strong><a href=\"https:\/\/github.com\/outbrain\/orchestrator\">Orchestrator<\/a><\/strong> is growing. Supporting automatic detection of topologies, simple refactoring of topology trees, complex refactoring via Pseudo-GTID, failure detection and automated discovery, it is becoming larger and larger by the day.<\/p>\n<p>One of the problems with growign projects is hwo to properly document them. Orchestrator enjoys <a href=\"https:\/\/github.com\/outbrain\/orchestrator\/wiki\/Orchestrator-Manual\">a comprehensive manual<\/a>, but as these get more and more detailed, it is becoming difficult to get oriented and pointed in the right direction. I&#8217;ve done my best to advise the simple use cases throughout the manual.<\/p>\n<p>One thing that is difficult to put into words is topologies. Explaining &#8220;failover of an intermediate master S1 that has S2,&#8230;,Sn slaves onto a sibling of S1 provided that&#8230;&#8221; is too verbose. So here&#8217;s a quick visual cheatsheet for (current) topology refactoring commands. Refactoring commands are a mere subset of overall orchestrator commands, but they&#8217;re great to play with and perfect for visualization.<\/p>\n<p>The &#8220;move&#8221; and related commands use normal replication commands (STOP SLAVE; CHANGE MASTER TO; START SLAVE UNTIL;&#8221;&#8230;).<\/p>\n<p>The &#8220;match&#8221; and related commands utilize Pseudo-GTID and use more elaborate MySQL commands (SHOW BINLOG EVENTS, SHOW RELAYLOG EVENTS).<\/p>\n<p>So without further ado, here&#8217;s what each command does (and do run &#8220;orchestrator&#8221; from the command line to get a man-like explanation of everything, or just <a href=\"https:\/\/github.com\/outbrain\/orchestrator\/wiki\/Orchestrator-Manual#executing-via-command-line\">go to the manual<\/a>).<!--more--><\/p>\n<blockquote><p><a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7251\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-7.png\" alt=\"orchestrator-cheatsheet-visualized-7\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-7.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-7-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7252\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-8.png\" alt=\"orchestrator-cheatsheet-visualized-8\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-8.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-8-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7253\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-9.png\" alt=\"orchestrator-cheatsheet-visualized-9\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-9.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-9-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7254\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-10.png\" alt=\"orchestrator-cheatsheet-visualized-10\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-10.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-10-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7255\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-11.png\" alt=\"orchestrator-cheatsheet-visualized-11\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-11.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-11-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7256\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-12.png\" alt=\"orchestrator-cheatsheet-visualized-12\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-12.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-12-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7257\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-13.png\" alt=\"orchestrator-cheatsheet-visualized-13\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-13.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-13-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7245\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-1.png\" alt=\"orchestrator-cheatsheet-visualized-1\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-1.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-1-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7246\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-2.png\" alt=\"orchestrator-cheatsheet-visualized-2\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-2.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-2-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7247\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-3.png\" alt=\"orchestrator-cheatsheet-visualized-3\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-3.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-3-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7248\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-4.png\" alt=\"orchestrator-cheatsheet-visualized-4\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-4.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-4-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7249\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-5.png\" alt=\"orchestrator-cheatsheet-visualized-5\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-5.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-5-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7250\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-6.png\" alt=\"orchestrator-cheatsheet-visualized-6\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-6.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-6-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7258\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-14.png\" alt=\"orchestrator-cheatsheet-visualized-14\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-14.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-14-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7259\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-15.png\" alt=\"orchestrator-cheatsheet-visualized-15\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-15.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-15-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7260\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-16.png\" alt=\"orchestrator-cheatsheet-visualized-16\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-16.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-16-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-17.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7261\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-17.png\" alt=\"orchestrator-cheatsheet-visualized-17\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-17.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-17-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><br \/>\n<a href=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7262\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-18.png\" alt=\"orchestrator-cheatsheet-visualized-18\" width=\"720\" height=\"405\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-18.png 720w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2015\/06\/orchestrator-cheatsheet-visualized-18-300x169.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Orchestrator is growing. Supporting automatic detection of topologies, simple refactoring of topology trees, complex refactoring via Pseudo-GTID, failure detection and automated discovery, it is becoming larger and larger by the day. One of the problems with growign projects is hwo to properly document them. Orchestrator enjoys a comprehensive manual, but as these get more and [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[5],"tags":[108,8],"class_list":["post-7241","post","type-post","status-publish","format-standard","hentry","category-mysql","tag-orchestrator","tag-replication"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2bZZp-1SN","_links":{"self":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/7241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/comments?post=7241"}],"version-history":[{"count":8,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/7241\/revisions"}],"predecessor-version":[{"id":7268,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/7241\/revisions\/7268"}],"wp:attachment":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/media?parent=7241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/categories?post=7241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/tags?post=7241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}