MemSQL Ops Architecture
MemSQL Ops is comprised of one primary and several follower MemSQL Ops agents. Only one MemSQL Ops agent should be running on a host server. Each agent can deploy, manage and monitor as many MemSQL database nodes into the server where it resides.
The default home directory for each MemSQL Ops agent is
/var/lib/memsql-ops/. Inside this directory, MemSQL Ops stores configuration and metrics collected as well as the home directories for MemSQL database instances collocated with the agent.
Primary and follower MemSQL Ops agents
MemSQL Ops and MemSQL (database) processes are designed to run in every host of the cluster.
The MemSQL Ops processes that run in each host are called agents. Among MemSQL Ops agents, the primary agent shows information about the cluster and executes management operations.
Specifically, the primary MemSQL Ops agent stores all metadata about the entire MemSQL cluster. There can only be one primary agent per MemSQL Ops deployment. All other MemSQL Ops agents in the cluster should be configured as follower agents. Since the primary agent holds all metadata, the primary agent also exposes the full MemSQL Ops web interface. The URL for the MemSQL Ops web interface is the following::
<MemSQL Ops primary agent host IP> : <MemSQL Ops port (default is 9000)>
For example, a MemSQL Ops URL could be
Follower MemSQL Ops agents store metadata only about the MemSQL nodes created within its local host. Follower agents can only follow one primary agent. Follower agents are configured either by:
- Deploying a new agent into a host through the MemSQL Ops primary agent (web interface or command line)
memsql-ops agent-followfrom the follower agent
Follower MemSQL Ops agent send all their metrics back to the primary agent. Should a user connect to the MemSQL Ops web interface (e.g.
<MemSQL Ops follower agent host IP>:9000), only the information from that single host will be shown.
Hosts and MemSQL nodes
Throughout the MemSQL Ops web interface and documentation, you will see frequent references to hosts and MemSQL nodes. It is important to understand the difference between the two:
- Hosts are physical machines, virtual machines, or containers in which the MemSQL database and MemSQL Ops agent processes are running. A host is uniquely identified by its IP address.
- MemSQL nodes are MemSQL instances running within a host.