Cluster Types

When initializing an Okera ODAS cluster, you can specify the cluster type in the ocadm clusters create command in the following form:

ocadm clusters create --name=<Name> --numNodes=<Number of nodes> \
  --type=<Cluster type> --environmentid=<ID from environments create>

For example:

./ocadm clusters create --name=fintech_prod --numNodes=1 \
  --type=STANDALONE_CLUSTER --environmentid=1

Each cluster type supports a different set of services. It can be useful to know which services populate each cluster type in the event of an operational problem. Using the ocadm clusters list command output, you can infer which service is in trouble. The following example shows a STANDALONE_CLUSTER cluster stalling while checking the status of its third service:

[ec2-user@ip-10-1-10-201 okera]$ ./ocadm clusters list
description      id  name               numNodes  numRunningServices    owner    statusCode    statusMessage                                                                                                                    type
-------------  ----  ---------------  ----------  --------------------  -------  ------------  -------------------------------------------------------------------------------------------------------------------------------  ------------------
                  1  dev-env-0377              2  7/7                   admin    READY         All services running.                                                                                                            STANDALONE_CLUSTER
                  3  staging-env-4290          2  2/7                   admin    CONCERNING    Health check unsuccessful. Unable to reach 10.1.10.164:7182: java.net.ConnectException: Connection refused (Connection refused)  STANDALONE_CLUSTER

There are four cluster types supported:

  • STANDALONE_CLUSTER
  • STANDALONE_JDBC_CLUSTER
  • CATALOG_CLUSTER
  • DATA_ACCESS_CLUSTER

Each type is discussed in detail below, including the purpose for which they are intended and the services they support. The Accessible column in each table indicates whether the service supports access from outside the ODAS cluster.

Standalone Cluster

Standalone, the most commonly-used type, is a fully-functional ODAS suite.

Type: STANDALONE_CLUSTER

No. Service Accessible
1 Canary Yes
2 ZooKeeper No
3 Catalog Yes
4 Planner Yes
5 Worker Yes
6 REST Server Yes
7 Web UI Yes

Standalone JDBC CLuster

This cluster type is new with the 1.4.0 release. It includes a Presto service that scales with the cluster so that ODBC/JDBC-based clients can have an out-of-the-box experience with ODAS.

Type: STANDADLONE_JDBC_CLUSTER

No. Service Accessible
1 Canary Yes
2 ZooKeeper No
3 Catalog Yes
4 Planner Yes
5 Worker Yes
6 REST Server Yes
7 Web UI Yes
8 Presto Worker No
9 Presto UI Yes

There are more specific cluster types, which are used less often though. These are needed when, for example, a single ODAS Catalog should be shared by multiple data access cluster instances.

Catalog-Only Cluster

Type: CATALOG_CLUSTER

Used with multiple DATA_ACCESS_CLUSTER instances to provide a shared ODAS Catalog service.

No. Service Accessible
1 Canary Yes
2 ZooKeeper No
3 Catalog Yes
4 Planner No
5 REST Server Yes
6 Web UI Yes

Data-Access-Only Cluster

Type: DATA_ACCESS_CLUSTER

Used to connect to a shared CATALOG_CLUSTER instance.

No. Service Accessible
1 Canary Yes
2 ZooKeeper No
3 Planner Yes
4 Worker Yes