Installing HCP for cloud scale
The following procedures describe how to install the HCP for cloud scale software.
This module describes how to prepare for and install the HCP for cloud scale software.
After you install the software, log in and deploy the system.
Items and information you need
To install an HCP for cloud scale system, you need the appropriate installation package containing the product installation tarball (archive) file hcpcs-version_number.tgz
.
This document shows the path to the HCP for cloud scale folder as install_path. The best folder path is /opt.
You need to determine the IP addresses of instances (nodes). It's best to use static IP addresses because if an IP address changes you must reinstall the system.
It's best to create an owner for the new files created during installation.
Installation steps
The installation process for HCP for cloud scale consists of these steps. Some steps are required and some are optional, but you must do them in the order shown.
- Decide how many instances to deploy
- Configure your networking environment
- Optional: Select master instances
- Install Docker on each server or virtual machine
- Configure Docker on each server or virtual machine
- Optional: Install Docker volume drivers
- Optional: Enable or disable SELinux on each server or virtual machine
- Configure maximum map count setting
- Configure the firewall rules on each server or virtual machine
- Run Docker on each server or virtual machine
- Unpack the installation package
- Optional: Reconfigure network.config on each server or virtual machine
- Optional: Reconfigure volume.config on each server or virtual machine
- Run the setup script on each server or virtual machine
- Start the application on each server or virtual machine
- Optional: Configure NTP
- Use the service deployment wizard
- Create an owner for new files
- Optional: Verify the created volumes
- Optional: Distribute services among system instances
- Configure the system for your users
Decide how many instances to deploy
The minimum for a production system is four instances.
Procedure
Decide how many instances you need.
Select the servers or virtual machines in your environment that you intend to use as HCP for cloud scale instances.
Configure your networking environment
Procedure
Determine what ports each HCP for cloud scale service should use. You can use the default ports for each service or specify different ones.
In either case, these restrictions apply:- Every port must be accessible from all instances in the system.
- Some ports must be accessible from outside the system.
- All port values must be unique; no two services, whether System services or HCP for cloud scale services, can share the same port.
Determine what types of networks, either internal or external, to use for each service.
If you're using both internal and external networks, each instance in the system must have IP addresses on both your internal and external networks.
Optional: Select master instances
If you are installing a multi-instance system, the system must have either one or three master instances, regardless of the total number of instances it includes.
You need to select which of the instances in your system will be master instances.
If you are installing a multi-instance system, the system must have either one or three master instances, regardless of the total number of instances it includes.
- For a production system, use three master instances.
- You cannot add master instances to a system after it's installed. You can, however, add any number of worker instances.
If you are deploying a single-instance system, that instance will automatically be configured as a master instance and run all services for the system.
Procedure
Select which of the instances in your system are intended as master instances.
Make note of the master instance IP addresses.
NoteTo ensure system availability, run master instances on separate physical hardware from each other, if possible.
Install Docker on each server or virtual machine
On each server or virtual machine that is to be an HCP for cloud scale instance:
Procedure
In a terminal window, verify whether Docker 1.13.1 or later is installed:
docker --version
If Docker is not installed or if you have a version before 1.13.1, install the current Docker version suggested by your operating system.
The installation method you use depends on your operating system. See the Docker website for instructions.
Configure Docker on each server or virtual machine
Procedure
Ensure that the Docker installation folder on each instance has at least 20 GB available for storing the product Docker images.
Ensure that the Docker storage driver is configured correctly on each instance. After installation, changing the Docker storage driver needs reinstallation of the product.
To view the current Docker storage driver on an instance, run: docker info .To enable SELinux on the system instances, use a Docker storage driver that SELinux supports.
The storage drivers that SELinux supports differ depending on the Linux distribution you're using. For more information, see the Docker documentation.If you are using the Docker
The product needs 20 GB to install successfully and an additional 20 GB to successfully update to a later version.To view Docker metadata storage usage on an instance, run: docker infodevicemapper
storage driver, ensure that there's at least 40 GB of Docker metadata storage space available on each instance.
Next steps
devicemapper
in loop-lvm
mode. This can cause slow performance or, on certain Linux distributions, the product might not have enough space to run.Optional: Install Docker volume drivers
Volume drivers are provided by Docker and other third-party developers, not by the HCP for cloud scale system itself. For information on volume drivers, their capabilities, and their valid configuration settings, see the applicable Docker or third-party developer's documentation.
Procedure
If any services on your system are using Docker volume drivers (not the bind-mount setting) for storing data, install those volume drivers on the new instance that you are adding.
If you don't, services might fail to run on the new instance.If any services on your system use Docker volume drivers for storing data (instead of using the default bind-mount setting), install those volume drivers on all instances in the system.
Optional: Enable or disable SELinux on each server or virtual machine
You should decide whether you want to run SELinux on system instances before installation.
Procedure
Enable or disable SELinux on each instance.
Restart the instance.
Configure maximum map count setting
sysctl.conf
.Procedure
On each server or virtual machine that is to be a system instance, open the file /etc/sysctl.conf.
Append this line:
If the line already exists, ensure that the value is greater than or equal tovm.max_map_count = 262144
262144
.Save and close the file.
Configure the firewall rules on each server or virtual machine
Before you begin
install_path/config/network.config
.Procedure
Edit the firewall rules to allow communication over all network ports that you want your system to use. You do this using a firewall management tool such as
firewalld
.Restart the server or virtual machine.
Run Docker on each server or virtual machine
On each server or virtual machine that is to be a system instance, you need to start Docker and keep it running. You can use whatever tools you typically use for keeping services running in your environment.
For example, to run Docker using systemd:
Procedure
Verify that Docker is running:
systemctl status dockerIf Docker is not running, start the
sudo systemctl start dockerdocker
service:(Optional) Configure the Docker service to start automatically when you restart the server or virtual machine:
sudo systemctl enable docker
Unpack the installation package
Procedure
Download the installation package
hcpcs-version_number.tgz
and the MD5 checksum filehcpcs-version_number.tgz.md5
and store them in a folder on the server or virtual machine.Verify the integrity of the installation package. For example:
md5sum -chcpcs-version_number.tgz.md5
If the package integrity is verified, the command displaysOK
.In the largest disk partition on the server or virtual machine, create a folder named install_path/hcpcs. For example:
mkdir /opt/hcpcsMove the installation package from the folder where you stored it to install_path/hcpcs. For example:
mv hcpcs-version_number.tgz /opt/hcpcs/hcpcs-version_number.tgzNavigate to the installation folder. For example:
cd /opt/hcpcsUnpack the installation package. For example:
tar -zxf hcpcs-version_number.tgzA number of directories are created within the installation folder.NoteIf you encounter problems unpacking the installation file (for example, the error message "tar: This does not look like a tar archive"), the file might have been packed multiple times during download. Use the following commands to fully extract the file:
$ gunzip hcpcs-version_number.tgz
$ mv hcpcs-version_number.tar hcpcs-version_number.tgz
$ tar -zxf hcpcs-version_number.tgz
Run the installation script
install
:./install
Note- Don't change directories after running the installation script. The following tasks are performed in your current folder.
- The installation script can be run only one time on each instance. You cannot rerun this script to try to repair or upgrade a system instance.
Optional: Reconfigure network.config on each server or virtual machine
Before you begin
You cannot change networking for System services after running the script run
or after starting the service hcpcs.service using systemd.
To change the networking settings of System services, do so in this step, before running the product startup scripts. You configure networking for HCP for cloud scale services later when using the deployment wizard.
You can change these networking settings for each service in your product:
- The ports that the service uses.
- The network to listen on for incoming traffic, either internal or external.
Procedure
On each server or virtual machine that is to be an HCP for cloud scale instance, use a text editor to open the file install_path/hcpcs/config/network.config.
The file contains two types of lines for each service:- Network type assignments:
For example:com.hds.ensemble.plugins.service.service_name_interface=[internal|external]
com.hds.ensemble.plugins.service.zookeeper_interface=internal
- Port number assignments:
For example:com.hds.ensemble.plugins.service.service_name.port.port_name=port_number
com.hds.ensemble.plugins.service.zookeeper.port.PRIMARY_PORT=2181
- Network type assignments:
Type new port values for the services you want to configure.
NoteIf you reconfigure service ports, make sure that each port value you assign is unique across all services, both System services and HCP for cloud scale services.NoteBy default, all System services are set tointernal
.If you're only using a single network, you can leave these settings as they are. This is because all system instances are assigned both internal and external IP addresses in HCP for cloud scale; if you're only using a single network type, the internal and external IP addresses for each instance are identical.
On the lines containing
_interface
, specify the network that the service should use. Valid values are internal and external.Save your changes and exit the text editor.
Next steps
network.config
is identical on all HCP for cloud scale instances.Optional: Reconfigure volume.config on each server or virtual machine
Before you begin
You cannot change volumes for System services after running the script run or after starting the service hcpcs.service
using systemd.
By default, each of the System services is configured not to use volumes for storage (each service uses the bind-mount option). To change this configuration, you can do that now in this step, before running the product startup scripts.
You configure volumes for HCP for cloud scale services later when using the deployment wizard.
To configure volumes for the System services:
Procedure
On each server or virtual machine that is to be an HCP for cloud scale instance, use a text editor to open the file install_path/hcpcs/config/volume.config.
This file contains information about the volumes used by the System services. For each volume, the file contains lines that specify the following:- The name of the volume:
com.hds.ensemble.plugins.service.service_name.volume_name=volume_name
NoteDo not edit the volume names. The default volume name values contain variables (SERVICE_PLUGIN_NAME and INSTANCE_UUID) that ensure that each volume gets a unique name. - The volume driver that the volume uses:
com.hds.ensemble.plugins.service.service_name.volume_driver=[volume_driver_name | bind-mount]
- The configuration options used by the volume driver. Each option is listed on its own line:
For example, these lines describe the volume that the Admin-App service uses for storing its logs:com.hds.ensemble.plugins.service.service_name.volume_driver_opt_option_number=volume_driver_option_and_value
com.hds.ensemble.plugins.service.adminApp.log_volume_name=SERVICE_PLUGIN_NAME.INSTANCE_UUID.log com.hds.ensemble.plugins.service.adminApp.log_volume_driver=bind-mount com.hds.ensemble.plugins.service.adminApp.log_volume_driver_opt_1=hostpath=/home/hcpcs/log/com.hds.ensemble.plugins.service.adminApp/
- The name of the volume:
For each volume that you want to configure, you can edit the following:
- The volume driver for the volume to use. To do this, replace
bind-mount
with the name of the volume driver you want.Volume drivers are provided by Docker and other third-party developers, not by the HCP for cloud scale system itself. For information on volume drivers, their capabilities, and their valid configuration settings, see the applicable Docker or third-party developer's documentation.
- On the line that contains
_opt
, the options for the volume driver.For information about the options you can configure, see the documentation for the volume driver that you're using.
CautionOption/value pairs can specify where data is written in each volume. These considerations apply:- Each volume that you can configure here must write data to a unique location.
- The SERVICE_PLUGIN and INSTANCE_UUID variables cannot be used in option/value pairs.
- Make sure the options and values you specify are valid. Incorrect options or values can cause system deployment to fail or volumes to be set up incorrectly. For information on configuration, see the volume driver's documentation.
TipCreate test volumes using the commanddocker volume create
with your option/value pairs. Then, to test the volumes you've created, run the command docker run hello-world with the option--volume
.
- The volume driver for the volume to use. To do this, replace
com.hds.ensemble.plugins.service.marathon.data_volume_name=SERVICE_PLUGIN_NAME.INSTANCE_UUID.data com.hds.ensemble.plugins.service.marathon.data_volume_driver=local-persist com.hds.ensemble.plugins.service.marathon.data_volume_driver_opt_1=mountpoint=/home/hcpcs/data/com.hds.ensemble.plugins.service.marathon/
Run the setup script on each server or virtual machine
Before you begin
- When installing a multi-instance system, make sure you specify the same list of master instance IP addresses on every instance that you are installing.
- When entering IP address lists, do not separate IP addresses with spaces. For example, the following is correct:
sudo install_path/hcpcs/bin/setup ‑i 192.0.2.4 ‑m 192.0.2.0,192.0.2.1,192.0.2.3
Procedure
Run the script setup with the applicable options:
Use the following table to determine which options to use:Option Description -i The external network IP address for the instance on which you're running the script. -I The internal network IP address for the instance on which you're running the script. -m Comma-separated list of external network IP addresses of each master instance. -M Comma-separated list of internal network IP addresses of each master instance. Number of instances in the system Network type usage Options to use Multiple Single network type for all services Either: -i and -m
or -I and -M
Multiple Internal for some services, external for others All of these: -i, -I, -m, -M
Single Single network type for all services Either -i or -I Single Internal for some services, external for others Both -i and -I
Results
setup
script, ensure that Docker is running. sudo install_path/hcpcs/bin/setup -i 192.0.2.4
To set up a multi-instance system that uses both internal and external networks, type the command in this format:
sudo install_path/hcpcs/bin/setup ‑i external_instance_ip ‑I internal_instance_ip ‑m external_master_ips_list ‑M internal_master_ips_list
For example:
sudo install_path/hcpcs/bin/setup ‑i 192.0.2.4 ‑I 10.236.1.0 ‑m 192.0.2.0,192.0.2.1,192.0.2.3 ‑M 10.236.1.1,10.236.1.2,10.236.1.3
The following table shows sample commands to create a four-instance system. Each command is entered on a different server or virtual machine that is to be a system instance. The resulting system contains three master instances and one worker instance and uses both internal and external networks.
Instance internal IP | Instance external IP | Master or worker | Command |
192.0.2.1 | 10.236.1.1 | Master | sudo install_path/hcpcs/bin/setup ‑I 192.0.2.1 ‑i 10.236.1.1 ‑M 192.0.2.1,192.0.2.2,192.0.2.3 ‑m 10.236.1.1,10.236.1.2,10.236.1.3 |
192.0.2.2 | 10.236.1.2 | Master | sudo install_path/hcpcs/bin/setup ‑I 192.0.2.2 ‑i 10.236.1.2 ‑M 192.0.2.1,192.0.2.2,192.0.2.3 ‑m 10.236.1.1,10.236.1.2,10.236.1.3 |
192.0.2.3 | 10.236.1.3 | Master | sudo install_path/hcpcs/bin/setup ‑I 192.0.2.3 ‑i 10.236.1.3 ‑M 192.0.2.1,192.0.2.2,192.0.2.3 ‑m 10.236.1.1,10.236.1.2,10.236.1.3 |
192.0.2.4 | 10.236.1.4 | Worker | sudo install_path/hcpcs/bin/setup ‑I 192.0.2.4 ‑i 10.236.1.4 ‑M 192.0.2.1,192.0.2.2,192.0.2.3 ‑m 10.236.1.1,10.236.1.2,10.236.1.3 |
Start the application on each server or virtual machine
Procedure
Start the application script
run
using whatever methods you usually use to run scripts.ImportantEnsure that the method you use can keep therun
script running and can automatically restart it in the event of a server restart or other availability event.
Results
Here are some examples of how you can start the script:
- You can run the script in the foreground:
sudo install_path/product/bin/run
When you run the
run
script this way, the script does not automatically complete, but instead remains running in the foreground. - You can run the script as a service using
systemd
:- Copy the product
.service
file to the appropriate location for your OS. For example:cp install_path/product/bin/product.service /etc/systemd/system
- Enable and start the product.service service:
sudo systemctl enable product.service sudo systemctl start product.service
- Copy the product
Optional: Configure NTP
Procedure
Configure NTP (network time protocol) so that each instance uses the same time source.
For information on NTP, see http://support.ntp.org/.
Use the service deployment wizard
After creating all of your instances and starting HCP for cloud scale, use the service deployment wizard. This wizard runs the first time you log in to the system.
To run the service deployment wizard:
Procedure
Open a web browser and go to
The Deployment Wizard starts.https://instance_ip_address:8000
.Set and confirm the password for the main admin account.
ImportantDo not lose or forget this password.When you have defined the password, click Continue.On the next page of the deployment wizard, type the cluster host name (as a fully qualified domain name in lowercase ASCII letters) in the Cluster Hostname/IP Address field, then click Continue.
Omitting this can cause links in the System Management application to function incorrectly.On the next page of the deployment wizard, confirm the cluster topology. Verify that all the instances that you expect to see are listed and that their type (Master or Worker) is as you expect.
If some instances are not displayed, in the Instance Discovery section, click Refresh Instances until they appear.When you have confirmed the cluster topology, click Continue.On the next page of the deployment wizard, confirm the advanced configuration settings of services.
ImportantIf you decide to reconfigure networking or volume usage for services, you must do so now, before deploying the system.When you have confirmed the configuration settings, click Continue.On the last page of the deployment wizard, to deploy the cluster, click Deploy Cluster.
If your network configuration results in a port collision, deployment stops and the deployment wizard notifies you which port is at issue. If this happens, edit the port numbers and try again.After a brief delay, the deployment wizard displays the message "Starting deployment" and instances of services are started.When the deployment wizard is finished, it displays the message "Setup Complete." Click Finish.
The HCP for cloud scale Applications page opens.
Results
network.config
file is not identical on all instances. For error information, view the file install_path/hcpcs/config/cluster.config
or the output information logged by the script run
.To fix this issue, do the following:
- Stop the script
run
. You can do this using whatever method you're currently using to run the script. - Run this command to stop all HCP for cloud scale Docker containers on the instance:
sudo install_path/hcpcs/bin/stop
- Delete the contents of the folder install_path/hcpcs from all instances.
- Delete any Docker volumes created during the installation:
docker volume rm volume-name
- Begin the installation again from the step where you unpack the installation package.
- If the deployment process repeatedly tries and fails to reach a node, it displays this message: "Failed to initialize all MetadataGateway instances. Please re-deploy the system."
- If the deployment process detects an existing Metadata Gateway partition on a node, it displays this message: "Found existing metadata partitions on nodes, please re-deploy the system."
Optional: Configure networks for services
Procedure
On the Advanced Configuration page, select the service to configure.
On the Network tab:
Configure the ports that the service should use.
NoteIf you reconfigure service ports, make sure that each port value you assign is unique across all services, both System services and HCP for cloud scale services.For each service, specify the network, either Internal or External, to which the service should bind.
NoteBy default, the HCP for cloud scale services have the External network selected and the System services have the Internal network selected.If you're only using a single network, you can leave these settings as they are. This is because all system instances are assigned both internal and external IP addresses in HCP for cloud scale; if you're only using a single network type, the internal and external IP addresses for each instance are identical.
Optional: Configure volumes for services
Procedure
On the Advanced Configuration page, select a service to configure.
Click the Volumes tab. This tab displays the system-managed volumes that the service supports. By default, each built-in service has both Data and Log volumes.
For each volume, provide Docker volume creation information:
In the Volume Driver field, specify the name of the volume driver that the volume should use. To configure the volume not to use any volume driver, specify bind-mount, which is the default setting.
NoteVolume drivers are provided by Docker and other third-party developers, not by the HCP for cloud scale system itself. For information on volume drivers, their capabilities, and their valid configuration settings, see the applicable Docker or third-party developer's documentation.In the Volume Driver Options section, in the Option and Value fields, specify any optional parameters and their corresponding values for the volume driver:
- If you're using the bind-mount setting, you can edit the value for the hostpath option to change the path where the volume's data is stored on each system instance. However, this must be a path within the HCP for cloud scale installation folder.
- If you're using a volume driver:
- Click the trashcan icon to remove the default hostpath option. This option applies only when you are using the bind-mount setting.
- Type the name of a volume driver option in the Option field. Then type the corresponding parameter for that option in the Value field.
- Click the plus-sign icon to add the option/value pair.
- Repeat this procedure for each option/value pair you want to add.
Option/value pairs can specify where data is written to in each volume. These considerations apply:
- Each service instance must write its data to a unique location. A unique location can be a file system or a unique path on a shared external storage server.
In this illustration, green arrows show acceptable configurations and red arrows show unacceptable configurations where multiple service instances are writing to the same volume, or multiple volumes are backed by the same storage location:
- For persistent (that is, non-floating) services, favor using the
${container_inst_uuid}
variable in your option/value pairs. For persistent services, this variable resolves to a value that's unique to each service instance.This is especially useful if the volume driver you're using is backed by a shared server. By providing a variable that resolves to a unique value, the volume driver can use the resolved variable to create unique directories on the shared server.
However, some volume drivers, such as Docker's local volume driver, do not support automatic Folder creation. If you're using such a volume driver, you need to create volume folders yourself. For an example of how to handle this, see the following Docker local volume driver example.
- Floating services do not support volumes that are backed by shared servers, because floating services do not have access to variables that resolve to unique values per service instance.
- Make sure the options and values you specify are valid. Options or values that are not valid can cause system deployment to fail or volumes to be set up incorrectly. For information on volumes, see the volume driver's documentation.
TipCreate test volumes by use the commanddocker volume create
with your option/value pairs. Then, to test the volumes you created, use the command docker run hello-world --volume.You can include these variables when configuring volume options:
-
${install_dir}
is the product installation folder. ${data_dir}
is equal to${install_dir}/data
${log_dir}
is equal to${install_dir}/log
${volume_def_name}
is the name of the volume you are configuring.${plugin_name}
is the name of the underlying service plugin.${container_inst_uuid}
is the UUID for the Docker container in which the service instance runs. For floating services, this is the same value for all instances of the service.${node_ip}
is the IP address for the system instance on which the service is running. This cannot be used for floating services.${instance_uuid}
is the UUID for the system instance. This cannot be used for floating services. For services with multiple types, this variable resolves to the same value for all instances of the service, regardless of their types.
Repeat this procedure for each service that you want to configure.
The built-in Database service has a volume called log, which stores the service's logs. The log volume has this default configuration:
- Volume driver: bind-mount
- Option: hostname, Value: ${log_dir}/${plugin_name}/${container_inst_uuid}
With this configuration, after the system is deployed, logs for the Database service are stored at a unique path on each system instance that runs the Database service:
install_path/hcpcs/log/com.hds.ensemble.plugins.service.cassandra/service-instance-uuid
Alternatively, you can configure the Database service to use Docker's built-in local volume driver to store logs on an NFS server. To do this:
- Log in to your NFS server.
- Create a folder.
- Within that folder, create one folder for each of the instances in your system. Name each one using the instance IP address. NoteIn this example, you need to create these folders yourself because the local storage driver will not create them automatically.
- Back in the system deployment wizard, in the Volume Driver field, specify local
- Specify these options and values:
Option Value type nfs o addr= nfs-server-ip,rw device :/path-to-folder-from-step-ii/${node_ip} With this configuration, each instance of the Database service stores its logs in a different folder on your NFS server.
Deploying the system using CLI commands
As an alternative to using the service deployment wizard, you can use CLI commands to deploy service instances onto all instances of the system.
Before you begin
To deploy the HCP for cloud scale system:
Procedure
Log in to an HCP for cloud scale instance.
Go to the install_path/cli/admin folder.
cd /opt/hcpcs/cli/adminUse the command setupAdminUser to set the password for the main admin account:
./admincli -k false -c setupAdminUser --pm-password passwordImportantDo not lose or forget this password.Use the command editSecuritySettings to set the cluster host name.
./admincli -c editSecuritySettings --ssm-cluster-hostname=cluster_name -u admin -p passwordType a lowercase ASCII FQDN.Omitting this step can cause links in the System Management application to function incorrectly.Use the command queryServices to display the default configuration values, and save the output to a file:
./admincli -c queryServices --sqrm-is-recommend true --sqrm-requested-details serviceInstances, config --sqrm-service-types product -u admin -p password > /file_path/config_filename.txtAn example of a configuration file location and name is /tmp/default_config.txt.Optional: If needed, use a text editor to modify the configuration file config_filename.txt.
Use the command updateServiceConfig to start deployment using the values in the configuration file:
./admincli -c updateServiceConfig --service-update-model /file_path/config_filename.txt -u admin -p passwordNoteIf a port is already in use this step fails and an error message is displayed listing the ports in use. Edit the configuration file to change the port and repeat this step.Use the command listScaleTasks to monitor the progress of deployment until all services are deployed "status" is "Complete"):
./admincli -c listScaleTasks -u admin -p passwordTipYou can focus on the status messages with a command such as this:./admincli -c listScaleTasks -u admin -p password | grep status
NoteIf this step fails, log in to the HCP for cloud scale system using a browser; the service deployment wizard is displayed. Click Retry.Use the command setupComplete to finalize deployment:
./admincli -c setupComplete -u admin -p passwordNoteIf this step fails with the message Must be in state "setup" to complete setup, wait for a few seconds and repeat this step.
Create an owner for new files
After installation, create a user as owner of the newly installed files.
The files installed for HCP for cloud scale are created with an owner universally unique ID (UUID) of 10001. It's best for all files to have a valid owner, so you should create a user account (such as hcpcs
) with a UUID of 10001 to own the files.
To create a file owner:
Procedure
Create the user account by typing the command sudo useradd -u 10001 account
where account is the name of the user account (for example,hcpcs
).Verify the user account by typing the command id -u account
The system displays the user account UUID.Add a password to the user account by typing the command sudo passwd account
It's best to use a strong password.When prompted, type the user account password.
When prompted, confirm the user account password.
Results
Optional: Verify the created volumes
Before you begin
If you configured the service volumes to use volume drivers, use these commands to list and view the Docker volumes created on all instances in the system:
docker volume ls
docker volume inspect volume_name
If volumes were created incorrectly, you need to redo the system installation:
Procedure
Stop the
run
script from running. You do this using whatever method you're currently using to run the script.Stop all HCP for cloud scale Docker containers on the instance:
sudo install_path/hcpcs/bin/stopDelete the contents of the folder install_path/hcpcs from all instances.
Delete any Docker volumes created during the installation:
docker volume rm volume_nameBegin the installation again from the point where you unpack the installation package.
Optional: Distribute services among system instances
By default, when you install and deploy a multi-instance system, the system automatically runs each service (except Dashboard) on its normal number of instances.
However, if you've installed more than four instances, some instances may not be running any services at all. As a result, these instances are under-used. You should manually distribute services to run across all instances in your system.
Moving and scaling floating services
For floating services, instead of specifying the specific instances on which the service runs, you can specify a pool of eligible instances, any of which can run the service.
Moving and scaling services with multiple types
When moving or scaling a service that has multiple types, you can simultaneously configure separate rebalancing for each type.
Best practices
- Avoid running multiple services with high service unit costs together on the same instance.
- On master instances, avoid running any services besides those classified as System services.
Considerations
- Instance requirements vary from service to service. Each service defines the minimum and maximum number of instances on which it can run.
- You cannot remove a service from an instance if doing so causes or risks causing data loss.
- Service relocation might take a long time to complete and can impact system performance.
Troubleshooting
You might encounter these issues during installation.
Rarely, a system deployment, service management action, or system update fails because a service fails to start. When this happens, the System Management application is inaccessible from the instance where the failure occurred.
The logs in the watchdog-service log folder contain this error:
Error response from daemon: Conflict. The name "service-name" is already in use by container Docker-container-id. You have to remove (or rename) that container to be able to reuse that name.To resolve this issue, restart the Docker service on the instance where the service failed to start. For example, if you are using systemd
to run Docker, run:
After restarting Docker, try the system deployment, service management action, or system update again.
Relocating services
Procedure
Select Services.
The Services page opens, displaying the services and system services.Select the service that you want to scale or move.
Configuration information for the service is displayed.Click Scale, and if the service has more than one type, select the instance type that you want to scale.
- The next step depends on whether the service is floating or persistent (non-floating).
If the service is a floating service, you are presented with options for configuring an instance pool. For example:
In the box Service Instances, specify the number of instances on which the service should be running at any time.
Configure the instance pool:
- For the service to run on any instance in the system, select All Available Instances.
With this option, the service can be restarted on any instance in the instance pool, including instances that were added to the system after the service was configured.
- For the service to run on a specific set of instances, clear All Available Instances. Then:
- To remove an instance from the pool, select it from the list Instance Pool, on the left, and then click Remove Instances.
- To add an instance to the pool, select it from the list Available Instances, on the right, and then click Add Instances.
- For the service to run on any instance in the system, select All Available Instances.
If the service is a persistent (non-floating) service, you are presented with options for selecting the specific instances that the service should run on. Do one or both of these, then click Next:
- To remove the service from the instances it's currently on, select one or more instances from the list Selected Instances, on the left, and then click Remove Instances.
- To add the service to other instances, select one or more instances from the list Available Instances, on the right, and then click Add Instances.
Click Update.
The Processes page opens, and the Service Operations tab displays the progress of the service update as "Running." When the update finishes, the service shows "Complete."
Next steps
Configure the system for your users
For information about these procedures, see the Administration Guide or the online help that's available from the HCP for cloud scale application.
The overview of tasks is:
Procedure
Configure the connection to an IdP and create user accounts.
Define storage components.
Assign a name for your HCP for cloud scale cluster.
The host name is required for access to the System Management application and the S3 API.Configure DNS servers to resolve both the fully qualified domain name for your cluster and the wildcard
*.hcpcs_cluster_name
.Update Secure Socket Layer (SSL) certificates for the system, storage components, or synchronized buckets.
If your system uses encryption, enable it.
Obtain S3 authorization credentials.