---
title: Ocient System Bootstrapping
slug: VBQJ74CMwm9MXEeYJxmtK
description: Discover the steps required to bootstrap an Ocient system, ensuring it is correctly initialized for large-scale data handling.
docTags: 
createdAt: Thu Jul 21 2022 17:05:13 GMT+0000 (Coordinated Universal Time)
updatedAt: Mon Apr 06 2026 21:18:55 GMT+0000 (Coordinated Universal Time)
---

The Ocient® System runs the bootstrapping process one time per node. This process establishes the node identity, configures networking, and accepts nodes into the system.&#x20;

The `/var/opt/ocient/bootstrap.conf` file controls the initial configuration of each node. The system uses this file only when the node initially starts.

# Validate the System Before Bootstrapping

:::hint{type="info"}
The following steps assume a basic Ocient Data Intelligence Platform™ configuration, where every node has a single network interface.&#x20;

To verify your system before the bootstrapping process:&#x20;

- Check with your systems administrator to ensure that you meet the [Operating System Configuration](<./Installation Reference/Operating System Configuration.md>) requirements. Before bootstrapping, your system must meet the requirements described in the [Apply Required Kernel Settings](<./Installation Reference/Operating System Configuration.md>) and [Prepare NVMe Drives](<./Installation Reference/Operating System Configuration.md>) sections.&#x20;
- You can run a system check to validate the compliance of hardware, nodes, and the configuration for the Ocient System. For details, see [Checking System Configuration Before Bootstrapping](<./Installation Reference/Checking System Configuration Before Bootstrapping.md>).
:::

# Initial Configuration

The system automatically initializes the first node bootstrapped in the system with the SQL and Administrator roles. Choose a node to serve as a SQL Node. This node is the initial node in the system. The hardware for each node type differs, so ensure that the node you select is intended for a SQL Node.&#x20;

For new clusters, if you do not define the configuration for the SQL Nodes in a connectivity pool, the Ocient System assigns each SQL Node to their own unique connectivity pool named `<sql_node_name>_default`, where `<sql_node_name>` is the name of the SQL Node. However, the most common configuration of an Ocient System has all SQL Nodes in one connectivity pool.&#x20;

For an example of adding SQL Nodes to a connectivity pool, see [CREATE CONNECTIVITY POOL](<./././SQL Reference/Data Definition Language _DDL_ Statement Reference/Cluster and Node Management.md>). Change or troubleshoot the default configuration using the instructions in [Manage the Network Configuration of an Ocient System](<././System Configuration/Manage the Network Configuration of an Ocient System.md>).

# Ocient System Bootstrapping Process

If you meet the system prerequisites, you can begin bootstrapping your Ocient System.&#x20;

The bootstrapping process consists of these steps:&#x20;

1. [Bootstrap the First Node]()
2. [Bootstrap the Remaining Nodes]()

:::::WorkflowBlock
::::WorkflowBlockItem
## Bootstrap the First Node

### Bootstrap the Node&#x20;

Connect to the initial SQL Node with the username and password of your server and the IP address of your node. This example connects as the administrator `admin` to the IP Address `10.10.10.10`.

```shell
ssh admin@10.10.10.10
```

Use your preferred text editor with `sudo` to create the `/var/opt/ocient/bootstrap.conf` file as root with these contents.

`/var/opt/ocient/bootstrap.conf` **example**&#x20;

```yaml
initialSystem: true
```

Start the database.&#x20;

```shell
sudo systemctl start rolehostd
```

Verify that the node and the service are active by executing this status command.

```shell
systemctl status rolehostd

rolehostd.service - Rolehostd daemon startup
     Loaded: loaded (/etc/systemd/system/rolehostd.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-01-26 23:31:36 UTC; 7s ago
     ...
```

If the `rolehostd` service is running, you can also check the Ocient logs on your node.  Search and ensure there are no \[ERROR] log messages.

```shell
tail -f /var/opt/ocient/log/rolehostd.log
```

### Verify Connection to the SQL Node

At this point, you have a running database with a single node. You should be able to connect to the database using [Connect Using JDBC](<./././Connect to Ocient/Connect Using JDBC.md>) or [Connect Using pyocient](<./././Connect to Ocient/Connect Using pyocient.md>) and execute commands.

Every new system starts with a `system` database. To connect to a new system, use the username and password configured in the `bootstrap.conf` file or the username `admin@system` and password `admin` if none was provided.

For example, assume your node named `sql0` has an IP address of `10.10.0.1`. Use the JDBC driver CLI to connect with this connection string.

```shell
connect to jdbc:ocient://10.10.0.1:4050/system user "myuser@system" using "mypassword";
```

:::hint{type="info"}
See the [JDBC Manual](<./././Connection Driver Reference/JDBC Manual.md>) for details on using the JDBC driver.
:::

To see the roles running on the single node, execute this query.

```sql
select name, operational_status, software_version, array_agg(service_role_type)
        from sys.node_status as ns
        left join sys.nodes as n  on ns.node_id = id
        left join sys.service_roles as sr on sr.node_id = n.id
        group by name, operational_status,software_version;
```

The initial node should be listed as running the `sql`, `admin`, `health`, and `operatorvm` roles. If all of these roles are present and the node is Active, you can proceed to the next step to bootstrap the remaining nodes.
::::

::::WorkflowBlockItem
## Bootstrap the Remaining Nodes

Performing the bootstrapping process on the remaining nodes is identical on all nodes. The remaining nodes can be bootstrapped in any order.

On each node, log in using SSH and use your text editor with `sudo` to create the file `/var/opt/ocient/bootstrap.conf` that contains this text by replacing `<FIRST_NODE_IP_ADDRESS>` with the IP address of the initial node you created in Step 1.

`/var/opt/ocient/bootstrap.conf`**&#x20;example**

```yaml
adminHost: <FIRST_NODE_ADDRESS>
```

`<FIRST_NODE_IP_ADDRESS>` is the DNS name or IP address of the initial node.

:::hint{type="info"}
You can obtain the IP Address of the initial node by executing `ifconfig` on that node.
:::

:::hint{type="info"}
If the password for the system administrator has changed, set the correct username `adminUserName` and password `adminPassword` in the bootstrap configuration file `bootstrap.conf`.
:::

On each node, start the database.

```shell
sudo systemctl start rolehostd
```

:::hint{type="warning"}
When you replace Foundation Nodes, the Ocient System removes the prior node after the creation of the new node. Some queries of the system catalog tables might not return results until the prior node is removed.
:::

At this point, all the remaining nodes are not configured with any roles. After all nodes have been started, you should see them when you execute this query with only the `health` role listed. This query uses the `sys.node_status`, `sys.nodes`, and `sys.service_roles` system catalog tables to retrieve node information for the node name, operation status, version, and all service role types. The query uses the [ARRAY\_AGG](<./././SQL Reference/Aggregate Functions.md>) function to retrieve the service role type for all rows.

```sql
SELECT name, operational_status, software_version, array_agg(service_role_type)
    FROM sys.node_status AS ns
    LEFT JOIN sys.nodes AS n ON ns.node_id = id
    LEFT JOIN sys.service_roles AS sr ON sr.node_id = n.id
    GROUP BY name, operational_status,software_version;
```


::::
:::::

## More Bootstrapping Options

For options on bootstrapping your Ocient System, see [Node Bootstrapping Reference](<./Installation Reference/Node Bootstrapping Reference.md>).

## Next Step

When you have completed the bootstrapping process, you can proceed to the [Ocient Application Configuration](<./Ocient Application Configuration.md>) page to finish configuring Ocient.

# Related Links

[Installation Reference](<./Installation Reference.md>)

[Install an Ocient System](<././Install an Ocient System.md>)

##



