Configuring for multiple regions
About this task
OpsCenter can operate in multiple regions or in Internet Protocol (IP) forwarding deployments. Use the following approach for deployments where a public IP forwards to a private IP on the agent, but that machine is not aware of (that is, it cannot bind to) the public IP.
To configure DataStax agents for multiple regions or IP forwarding:
Procedure
-
Locate the address.yaml file. The location of this file depends on the type of installation:
-
Package installations: /var/lib/datastax-agent/conf/address.yaml
-
Tarball installations: install_location/conf/address.yaml
-
-
Open the address.yaml file for editing.
-
Add the following options to the address.yaml file.
Setting local_interface is optional.
-
local_interface
The IP used to identify the node. If broadcast_address is set in cassandra.yaml, this should be the same as that address. Otherwise, it is typically the same as listen_address in cassandra.yaml. A good check is to confirm that this address is the same as the address that the nodetool ring outputs. Example:
local_interface: 172.10.0.2
-
agent_rpc_interface
The IP that the agent HTTP server listens on. In a multiple region deployment, this is typically a private IP. Default: Matches rpc_interface (native_transport_interface) from cassandra.yaml. Example:
agent_rpc_interface: 172.10.0.2
-
agent_rpc_broadcast_address
The IP that the central OpsCenter process uses to connect to the DataStax agent. Default: First available resolvable address in this order: broadcast_rpc_address (native_transport_broadcast_address), rpc_address (native_transport_address), and listen_address from cassandra.yaml. Example:
agent_rpc_broadcast_address: 172.10.0.2
-
-
Repeat the above steps for each node.
Example
Here is the configuration for a three node cluster that spans two regions:
Region: us-west Availability Zone: us-west-2 OpsCenter host public IP: 198.51.100.5 private IP: 10.11.12.10 Node1 public IP: 198.51.100.1 private IP: 10.11.12.1 Cassandra (cassandra.yaml) broadcast_address: 198.51.100.1 listen_address: 10.11.12.1 Agent (address.yaml) local_interface: 198.51.100.1 agent_rpc_interface: 10.11.12.1 agent_rpc_broadcast_address: 198.51.100.1 stomp_interface: 198.51.100.5 Node2 public IP: 198.51.100.23 private IP: 10.11.12.15 Cassandra (cassandra.yaml) broadcast_address: 198.51.100.23 listen_address: 10.11.12.15 Agent (address.yaml) local_interface: 198.51.100.23 agent_rpc_interface: 10.11.12.15 agent_rpc_broadcast_address: 198.51.100.23 stomp_interface: 198.51.100.5 Region: us-east Availability Zone: us-east-1 Node1 public IP: 203.0.113.20 private IP: 10.11.13.28 Cassandra (cassandra.yaml) broadcast_address: 203.0.113.20 listen_address: 10.11.13.28 Agent (address.yaml) local_interface: 203.0.113.20 agent_rpc_interface: 10.11.13.28 agent_rpc_broadcast_address: 203.0.113.20 stomp_interface: 198.51.100.5