For production deployments, see Orchestrator deployment. The following text walks you through the manual way of installation and the necessary configuration to make it work.
The following assumes you will be using the same machine for both the
orchestrator binary and the MySQL backend.
If not, replace
127.0.0.1 with appropriate host name. Replace
orch_backend_password with your own super secret password.
Extract orchestrator binary and files
Extract from tarball
Extract the archive you've downloaded from https://github.com/github/orchestrator/releases For example, let's assume you wish to install
sudo mkdir -p /usr/local sudo cd /usr/local sudo tar xzfv orchestrator-1.0.tar.gz
sudo rpm -i orchestrator-1.0-1.x86_64.rpm
sudo dpkg -i orchestrator_1.0_amd64.deb
Install from repository
orchestratorpackages can be found in https://packagecloud.io/github/orchestrator
Setup backend MySQL server
Setup a MySQL server for backend, and invoke the following:
CREATE DATABASE IF NOT EXISTS orchestrator; CREATE USER 'orchestrator'@'127.0.0.1' IDENTIFIED BY 'orch_backend_password'; GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1';
Orchestrator uses a configuration file, located in either
/etc/orchestrator.conf.json or relative path to binary
The installed package includes a file called
orchestrator.conf.json.sample with some basic settings which you can use as baseline for
orchestrator.conf.json to match the above as follows:
... "MySQLOrchestratorHost": "127.0.0.1", "MySQLOrchestratorPort": 3306, "MySQLOrchestratorDatabase": "orchestrator", "MySQLOrchestratorUser": "orchestrator", "MySQLOrchestratorPassword": "orch_backend_password", ...
Grant access to orchestrator on all your MySQL servers
orchestrator to detect your replication topologies, it must also have an account on each and every topology. At this stage this has to be the
same account (same user, same password) for all topologies. On each of your masters, issue the following:
CREATE USER 'orchestrator'@'orch_host' IDENTIFIED BY 'orch_topology_password'; GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator'@'orch_host'; GRANT SELECT ON mysql.slave_master_info TO 'orchestrator'@'orch_host'; GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orch_host'; -- Only for NDB Cluster
REPLICATION SLAVEis required for
SHOW SLAVE HOSTS, and for scanning binary logs in favor of Pseudo GTID
PROCESSrequired to see replica processes in
SHOW PROCESSLISTOn MySQL 5.6 and above, and if using
master_info_repository = 'TABLE', let orchestrator have access to the
mysql.slave_master_infotable. This will allow orchestrator to grab replication credentials if need be.
orch_host with hostname or orchestrator machine (or do your wildcards thing). Choose your password wisely. Edit
orchestrator.conf.json to match:
"MySQLTopologyUser": "orchestrator", "MySQLTopologyPassword": "orch_topology_password",
/etc/orchestrator.conf.json (both locations are valid)
orchestrator in command line mode or in HTTP API only, all you need is the
To enjoy the rich web interface, including topology visualizations and drag-and-drop topology changes, you will need
resources directory and all that is underneath it. If you're unsure, don't touch; things are already in place.