System Administration
System Configuration

Manage the Network Configuration of an Ocient System

Control the grouping of SQL Nodes in an System by managing network traffic using connectivity pools. For advanced configuration, you can expand a connectivity pool by the number of nodes or you can change the network configuration of the system.

SQL Nodes Belong to Connectivity Pools

A connectivity pool is a pool of potential SQL Nodes for client connection. The pool contains all the required information to connect to a node in that pool. For a description of the metadata of a connectivity pool, see the CREATE CONNECTIVITY_POOL statement.

All SQL Nodes in the system must belong to a connectivity pool. If you do not configure the connectivity pools during bootstrapping, the Ocient System assigns each SQL Node to its own connectivity pool named with the node name concatenated by default. For example, for the node named sql0, the system creates a connectivity pool named sql0_default. For bootstrapping the Ocient System, see Ocient System Bootstrapping.

Connectivity Pool Considerations

For different networks, you can connect a SQL Node to multiple networks at the same time. Connectivity pools enable each SQL Node to specify the IP address and port number for listening in each network. You can direct network traffic to groups of SQL Nodes by creating connectivity pools with numerous nodes. Also, you can use connectivity pools to isolate SQL Nodes, which allows you to connect to a subset of nodes and redirect network traffic between them. For example, you can configure the network so that the Ocient System sends only certain SQL queries to certain SQL Nodes.

You connect directly to SQL Nodes. You must know the correct connection information to the SQL Node related to the connectivity pool where you want to create the connection. SQL Nodes only listen to IP addresses and port numbers for the connectivity pools associated with the SQL Nodes. Each node can have multiple connectivity pools assigned to it. Assign different IP addresses to SQL Nodes based on the network (e.g., VPN, internal network). You can configure the configuration to reflect your network whether the network is on-site, a virtual public cloud, or a remote network.

Connectivity pools can use the same IP addresses and port numbers across pools. A pool can also use the IP address of the source client connection to distribute the SQL queries in the case where the SQL Node connection information matches multiple connectivity pools.

When you connect to a SQL Node using a specific IP address, the node finds all connectivity pools associated with that IP address. The SQL Node then identifies all the other nodes in the connectivity pool and uses that set of nodes as a redirect group to distribute the SQL query. When a SQL Node matches multiple pools by the IP address and port number combination, the node uses the source connection information (or the information you used to connect) to find a more relevant connectivity pool. The SQL Node uses the chosen connectivity pool to redirect SQL queries to the group of nodes.

Initial Configuration Setup

For the initial configuration, a common Ocient System configuration has all SQL Nodes in one connectivity pool. However, you can structure the network of nodes based on your initial needs. You can change your initial configuration setup later as your needs change.

Create your initial configuration of the network using the see the CREATE CONNECTIVITY_POOL statement or specify the configuration in the bootstrap.conf file. For details about the bootstrap.conf file, see Node Bootstrapping Reference.

If you do not specify the configuration of the SQL Nodes during the initial Ocient System setup, the system assigns nodes to default connectivity pools. In this case, each node always has a connectivity pool that isolates the node. A common Ocient System configuration has all nodes in one connectivity pool. Thus, you can create a new connectivity pool using the CREATE CONNECTIVITY_POOL statement to add all nodes in the network to it. Then, remove all the default pools using the DROP CONNECTIVITY_POOL SQL statement.

For advanced configuration, you can expand the connectivity or change the network configuration of the system.

Expand the Network of an Ocient System

You can expand the connectivity pool of an Ocient System by adding SQL Nodes. Then, remove the automatically generated connectivity pool that is no longer needed.

For example, with an Ocient System that has SQL Nodes sql0, sql1, and sq3 in the connectivity pool named test_pool, add a new SQL Node sql4 to the pool that belongs to the default pool named sql0_default. The nodes have the IP address 111.1.1.1 and port number 4050 for listening. Specify the local IP address and port number 4050 to return to the client.

SQL


Remove the default connectivity pool sql0_default.

SQL


Change the Network Configuration of an Ocient System

You can configure IP addresses that the Ocient System uses to connect to the external client or to other nodes in the system. Configure IP addresses for external client connections using the ALTER CONNECTIVITY_POOL SQL statement. Configure IP addresses for connections with other nodes in the system using the ALTER NODE SET ADDRESS SQL statement.

If you add a new SQL Node to an existing Ocient System, configure a new system, or add a SQL role using the ALTER NODE ADD ROLE SQL statement, you must configure the connectivity pools using the CONNECTIVITY_POOL SQL statements. If you add a SQL Node to any connectivity pool, then you must remove the default connectivity pool where the node previously belonged using the DROP CONNECTIVITY_POOL SQL statement.

Connectivity Pool Troubleshooting

When you experience issues with connection to the configured connectivity pools, you have two ways to manipulate the network configuration temporarily to address the issues.

You can use the rolehostd.conf file. When you cannot establish the connection using the connectivity pool, you can use this configuration in the rolehostd.conf file to correct the configuration of the SQL Nodes. This configuration specifies that nodes listen using the IP address 0.0.0.0 and port number 4050 to enable recovery.

Text


You must restart the rolehostd process after you add this configuration.

Shell


Or, you can change the IP address of the SQL Nodes in the connectivity pool.

For existing clusters, the Ocient System configures all SQL Nodes to listen to the IP address 0.0.0.0, which allows client connections to manually create the initial connectivity pools.

Related Links