Plan Your Cluster

Before installing EGO, plan your cluster and prepare your systems for installation.

Complete the following steps to plan your cluster:

  1. Plan cluster architecture: hosts and host roles.

  2. Plan cluster properties.

  3. Plan and create the shared directory.

  4. Plan and prepare the database host

After completing these planning and system preparation steps, you are ready to install and configure EGO.

Understanding clusters

With EGO, a single administrator manages a pool of connected resources.

The first step in using EGO is to install, configure, and start the EGO software on multiple hosts, to make the hosts function together as a single cluster of resources.

Once the cluster is constructed and running, an administrator defines consumers and users, adds resource distribution policies, and makes the cluster ready to serve clients.

An EGO cluster has one master host that controls the rest of the cluster. Clients that interact with the cluster interact with the master host first, then are allocated cluster resources that they can use directly. The software automatically distributes the cluster resources fairly among various competing resource consumers.

Plan cluster architecture: hosts and host roles

Plan your cluster to decide which hosts belong in the cluster and their roles.

Host roles

Hosts in the cluster may be described as the master host, master candidates, management hosts, compute hosts, the web server host, or the DB host.

By default, EGO sets the number of CPUs on hosts by the number of physical CPUs. If you have a dual-core processor, you may wish to change the default behavior and set the number of CPUs by cores on hosts.

Management host

Management hosts belong to the ManagementHosts resource group. These hosts are not expected to execute workload units for users. Management hosts are expected to run services such as the web server and web services gateway. The master host and all master candidates must be management hosts.

A slot is the basic unit of resource allocation, analogous to a "virtual CPU".

Management hosts share configuration files, so a shared file system is needed among all management hosts.

A management host is configured when you run egoconfig mghost on the host. The tag mg is assigned to the management host, in order to differentiate it from a compute host.

Compute host

Compute hosts are distributed to cluster consumers to execute workload units. By default, compute hosts belong to the ComputeHosts resource group.

The ComputeHosts group excludes hosts with the mg tag, which is assigned to management hosts when you run egoconfig mghost. If you create your own resource groups to replace ComputeHosts, make sure they also exclude hosts with the mg tag.

By default, the number of slots on a compute host is equal to the number of CPUs.

Web server host

The web server is the host that runs the Platform Management Console. There is only one web server host; it does not need to be a dedicated host. Any management host in the cluster can be the web server (decided when the cluster starts up).

Database host

The database host is the host that runs the database used for Reporting. For a production cluster, you must use a supported commercial database, and the host does not need to be part of the cluster. Reporting supports Oracle 9i, Oracle 10g, and MySQL 5.x databases.

Host requirements for a large production cluster

Machine requirements depend on the cluster size and workload. The following numbers are for production use.

Machine requirements

  • For a management host (which includes the master host), we suggest at least a 1- or 2-CPU (>2.0GHz) computer with 4GB RAM, 30GB storage.

  • For a compute host, we suggest at least a 1-CPU (>2.4GHz) computer with 512MB RAM.

    Memory and hard drive size depends on the application.

Management host requirements

  • The master host should be the most powerful and reliable host.

Decide your cluster architecture

  1. Decide which hosts will belong to the cluster.
  2. Decide which hosts will be management hosts and identify the important host roles.

    If you do not configure hosts to be management hosts, all hosts in the cluster are compute hosts.

    • Management hosts

      • Decide which host will be the master host.

      • Decide which additional hosts will be the master candidates.

      • Decide which hosts will be management hosts but not master candidates.

    • Compute hosts

      • Decide which hosts will be compute hosts only.

Plan cluster properties

Plan properties of the cluster including name, administrator user account, ports, and directories. Prepare the necessary accounts and directories. Check that required ports are free.

What you need to know

  • Cluster name

  • Cluster administrator

  • Connection ports and base port

  • Web server ports

  • Web service gateway port

  • Service director port

  • Installation directory

What you need to do

Decide your cluster properties and prepare the hosts.

Cluster name

Every cluster has a name to identify it.

The cluster name appears in the Platform Management Console.

The default cluster name is cluster1.

You can customize the cluster name at installation. You cannot change the cluster name after installation.

The cluster name must be 39 characters or less, and cannot contain any white spaces. Do not use the name of any host or user as the name of your cluster.

Cluster name requirements

A suitable name contains:

  • Up to 39 characters

  • Case-sensitive alphanumeric characters and underscore:
    • London

    • test_grid

    • 2001

  • No spaces, or special characters:
    • A&B (special character ampersand (&) is not allowed)

    • grid 22 (space is not allowed)

Cluster administrator

The cluster administrator account is the only non-root account that has permission to manage hosts in the cluster. The cluster administrator account owns most EGO files.

You must create the account before you start the installation. The same cluster administrator account must exist on every host in the cluster.

The account is configured at installation. You cannot change the cluster administrator after installation.

When you install, the default setting for the cluster administrator account is egoadmin. If you use any other account, you must customize the installation.

Whenever documentation refers to egoadmin, it means the cluster administrator account. Substitute the correct name if you use a different account as cluster administrator.

Important:

We strongly recommend that you create a dedicated egoadmin account, instead of using a personal user account for the cluster administrator.

Connection ports and base port

On every host, a set of connection ports must be free for use by EGO components.

EGO requires exclusive use of certain ports for communication. EGO uses the same five consecutive ports on every host in the cluster. The first of these is called the base port.

The default base connection port is 7869. EGO always uses five consecutive ports starting from the base port. By default, EGO uses ports 7869-7873.

The ports can be customized by customizing the base port. For example, if the base port is 6880, EGO uses ports 6880-6884.

EGO needs the same ports on every host, so you must specify the same base port on every host.

To change the base port after installation, shut down the cluster and use the egoconfig setbaseport command on each host in the cluster. Start the cluster to use the new connection ports.

Web server ports

On the web server, a set of ports must be free for use by EGO components.

EGO requires exclusive use of three communication ports on the web server. By default, EGO uses ports 8080, 8005, and 8009.

The first port is the client connection port. You must know this port to connect to the Platform Management Console.

The other ports are for administration.

Since the web server might run on any management host in the cluster, the web server ports must be free on all management hosts.

The ports can be customized by editing the Tomcat web server configuration files, for example, by editing /opt/ego/gui/tomcat/conf/server.xml and /opt/ego/gui/conf/wsm.conf.

Web service gateway port

On the host that runs the web service gateway (wsg), one port must be free for use by EGO components.

EGO requires exclusive use of a communication port on the web service gateway. By default, EGO uses port 9090.

Since the web service gateway might run on any management host in the cluster, the web service gateway port must be free on all management hosts.

This port can be customized by editing the web service gateway configuration file, wsg.conf in the configuration directory, to specify a custom value for wsg_port.

Service director port

On the host that runs the service director (sddnsserv), one port must be free for use by EGO components.

EGO requires exclusive use of port 53 on the service director. This value cannot be changed.

Since the service director might run on any management host in the cluster, port 53 must be free on all management hosts.

Installation directory

The installation directory is the directory where the EGO binaries are installed on a host.

The installation directory must be the same directory on every host.

The default installation directory is /opt/ego. To use a different directory, you must customize the installation.

The installer creates the installation directory if it does not already exist. If it does exist, make sure it is not already in use.

Remember:

Do not confuse the installation directory with the shared directory. For management hosts, some shared files such as configuration files are maintained in the common shared directory instead of in the installation directories on each host.

Decide your cluster properties and prepare the hosts

  1. Decide a cluster name.

    If you do not choose the default, you will have to customize the installation.

    Default name: cluster1

  2. Create the cluster administrator account on all hosts.

    Choose an account that works for all hosts. If you do not choose the default, you will have to customize the installation.

    Default user account: egoadmin

  3. Ensure that all the cluster connection ports are free on all hosts.

    Choose a base port that works for all hosts. If you do not choose the defaults, you will have to customize the installation.

    Default base port: 7869

  4. Ensure that the web server ports are free on all management hosts.

    If you cannot use the default ports, you will have to edit Tomcat server configuration.

    Default web server ports: 8080, 8005, 8009

  5. Ensure that the web service gateway port is free on all management hosts.

    If you cannot use the default port, you will have to edit wsg.conf after installation.

    Default web service gateway port: 9090.

  6. Ensure that the service director port is free on all management hosts.

    Service director port: 53

  7. Ensure that the installation directory is free on all hosts.

    Choose a directory that works for all hosts. If you cannot use the default, you will have to customize the installation.

    Default installation directory: /opt/ego

Plan and create the shared directory

Decide on a file server host and create the shared directory.

What you need to know

  • Master host failover

  • Configuration directory

What you need to do

  • Prepare the shared directory

Master host failover

During master host failover, the system is unavailable for a few minutes while hosts are waiting to be contacted by the new master.

The master candidate list defines which hosts are master candidates. By default, the list includes just one host, the master host, and there is no failover. If you configure additional candidates to enable failover, the master host is first in the list. If the master host becomes unavailable, the next host becomes the master. If that host is also unavailable, the next host is considered to become the master, and so on down the list. A short list with two or three hosts is sufficient for practical purposes.

For failover to work properly, the master candidates must share a file system and the shared directory must always be available.

Important:

The shared directory should not reside on a master host or any of the master candidates. If the shared directory resides on the master host and the master host fails, the next candidate cannot access the necessary files.

Shared directory

The shared directory contains important system files where they are accessible to all management hosts.

Do not confuse the shared directory with the configuration directory. The shared directory on the file server contains the configuration directory and other important files and directories.

If you want work in the system to continue in case of failover, the master candidates must share a file system and some important files must be available on the shared file system.

For example, if a file is on the master host and the master host fails, failover does not work because the next candidate cannot access the necessary file. If the file is on a different host, the new master host can update the file.

The shared directory contains all the files and directories that must be shared among management hosts.

The file server is the host where the shared directory is located. The file server host does not have to belong to the cluster.

By default, all files are located under the installation directory on the host.

When you configure the master as a management host, some files and directories are copied to the shared directory and modified. All hosts configured as management hosts will use files under the shared directory.

Create and share the shared directory before you run egoconfig mghost to configure a management host.

Configuration directory

The configuration directory contains important configuration files.

Do not confuse the configuration directory with the shared directory. The shared directory contains the configuration directory and other important files and directories.

If you want work in the system to continue in case of failover, the master candidates must share a file system and some important files must be available on a stable host in the shared file system.

For example, if the configuration directory is on the master host and the master host fails, failover does not work because the next master host candidate cannot access necessary files. If the configuration directory is on a different host, the new master can use the same files.

Directory location

At first, configuration files are located under the installation directory on the master host.

For example, the default configuration directory is:
/opt/ego/kernel/conf

When the master host is configured as a management host, the configuration directory is copied to the shared directory. All hosts configured as management hosts will use the configuration directory under the shared directory.

For example, the shared configuration directory becomes:
/share/ego/kernel/conf

After you set the environment on an EGO host, the environment variable $EGO_CONFDIR points to the configuration directory. For management hosts, $EGO_CONFDIR points to the shared configuration directory on the file server host. For compute hosts, it points to the configuration directory under the installation directory.

Prepare the shared directory

Set up the shared directory on the file server host.

  1. Log on to the file server host as egoadmin.
    Choose a reliable host as the file server.
    Important:

    The file server host where the shared directory resides should not be the master host or any of the master candidate hosts.

  2. Create and share a directory.

    For example, /share/ego

  3. Give the cluster administrator account (egoadmin) full read and write permissions for the shared directory.

Plan and prepare the database host

Decide on a commercial database and prepare the database host for Reporting.

What you need to know

  • Database host

What you need to do

  • Prepare the database host

Prepare the database host

Prepare the database host for the reporting feature.

The commercial database is properly configured and running:

  • You have a user name, password, and URL to access the database host.

  • There is appropriate space in the database allocated for the reporting feature.

  1. Obtain the egodata.sql script for your commercial database from Platform.
  2. Run the script to create a database schema.
    • For Oracle databases:

      sqlplus user_name/password@connect_string @egodata.sql data_tablespace index_tablespace

    • For MySQL databases:

      mysql ‑‑user=user_name ‑‑password=password ‑‑database=report_database < egodata.sql

    where
    • user_name is the user name on the database host.

    • password is the password for this user name on the database host.

    • connect_string is the named SQLNet connection for this database.

    • data_tablespace is the name of the tablespace where you intend to store the table schema.

    • index_tablespace is the name of the tablespace where you intend to store the index.

    • report_database is the name of the database to store the report data.

The report data will load into the database host and the Console will use the data in this database.