diff --git a/h2o-docs/src/product/cloud-integration.rst b/h2o-docs/src/product/cloud-integration.rst index 47b84894f9bc..7b435b2bbc78 100644 --- a/h2o-docs/src/product/cloud-integration.rst +++ b/h2o-docs/src/product/cloud-integration.rst @@ -1,7 +1,7 @@ -Cloud Integration ------------------ +Cloud integration +================= -H2O is supported on a number of cloud environments, including +H2O is supported on a number of cloud environments: - EC2 Instances and S3 Storage (RedHat AMI, Amazon Linux AMI, and Ubuntu AMI) - Amazon AWS @@ -11,7 +11,10 @@ H2O is supported on a number of cloud environments, including - Nimbix Cloud - Kubernetes -Refer to the following topics: +H2O on cloud environments +------------------------- + +Refer to the following topics for more information: .. toctree:: :maxdepth: 1 diff --git a/h2o-docs/src/product/cloud-integration/aws.rst b/h2o-docs/src/product/cloud-integration/aws.rst index 5b3927d8dae6..382e94fe1923 100644 --- a/h2o-docs/src/product/cloud-integration/aws.rst +++ b/h2o-docs/src/product/cloud-integration/aws.rst @@ -1,6 +1,6 @@ -Using H2O with Amazon AWS -~~~~~~~~~~~~~~~~~~~~~~~~~ +Use H2O with Amazon AWS +======================= The old `H2O Artificial Intelligence instance `_ is no longer available. -Please see `Training and serving H2O models using Amazon SageMaker `_. +Please see `Training and serving H2O models using Amazon SageMaker `_ for more information. diff --git a/h2o-docs/src/product/cloud-integration/azure-dsvm.rst b/h2o-docs/src/product/cloud-integration/azure-dsvm.rst index 13b7dd6b4f85..fbc5dfca1785 100644 --- a/h2o-docs/src/product/cloud-integration/azure-dsvm.rst +++ b/h2o-docs/src/product/cloud-integration/azure-dsvm.rst @@ -1,64 +1,71 @@ -Using H2O with Microsoft Azure Linux Data Science VM -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Use H2O with Microsoft Azure Linux Data Science VM +================================================== The Data Science Virtual Machine (DSVM) for Linux is an Ubuntu-based virtual machine image that makes it easy to get started with deep learning on Azure. CNTK, TensorFlow, MXNet, Caffe, Caffe2, DIGITS, H2O, Keras, Theano, and Torch are built, installed, and configured, so they are ready to run immediately. The NVIDIA driver, CUDA, and cuDNN are also included. All frameworks are the GPU versions but work on the CPU as well. Many sample Jupyter notebooks are included. -You can view a full list of installed tools for the Linux edition `here `__. +You can `view a full list of installed tools for the Linux edition here `__. -Follow the steps below to create the H2O Artificial Intelligence VM. +Create the H2O Artificial Intelligence VM +----------------------------------------- -1. Log in to your Azure portal at `https://portal.azure.com `__, and click the **New** button. +Follow these steps to create the H2O Artificial Intelligence VM. + +1. Log in to your `Azure portal `__, and click **New**. .. figure:: ../images/azurelin_new.png - :alt: Create a new VM + :alt: Create a new VM page on Microsoft Azure. -2. Search in the Marketplace for “H2O”. The result will show all of the H2O offering in the Azure Marketplace. Select the Data Science Virtual Machine for Linux (Ubuntu), and click the **Create** button. +2. Search in the Marketplace for “H2O”. The result will show all of the H2O offerings in the Azure Marketplace. Select the Data Science Virtual Machine for Linux (Ubuntu), and click **Create**. .. figure:: ../images/azurelin_h2o_dsvm.png - :alt: Data Science VM for Linux + :alt: Data Science VM for Linux panel outlining how DSVM for Linux works and which tools are contained in it. 3. Follow the UI instructions and fill the Basic settings: - - Username and Password that you will be using to connect to the VM - - Subscriptions where you want to create the VM - - The new resource group name - - The location where the VM is going to be created - - Size of the VM. - - Optional: For VMs with GPU, select the HDD disk option, and search for the N-Series VM. For more information, click `here `__. + - Username and Password that you will be using to connect to the VM. + - Subscriptions where you want to create the VM. + - The new resource group name. + - The location where the VM is going to be created. + - Size of the VM. + - (Optional for VMs with GPU) Select the HDD disk option, and search for the N-Series VM. See more on `GPU optimized virtual machine sizes `__. 4. Wait for the VM Solution to be created. The expected creation time is around 10 minutes. -5. After your deployment is created, locate your network security group. Your Network Security Group is named by the default as **-nsg**. After you locate the security group, look at the inbound security rules. +5. Locate your network security group after your deployment is created. Your Network Security Group is named by the default as **-nsg**. After you locate the security group, look at the inbound security rules. .. figure:: ../images/azurelin_inbound_secrules.png - :alt: Inbound security rules + :alt: Inbound and outbound security rules overview page with three inbound security rules. 6. Click **Add** to add a new Inbound Security Rule, and create a TCP Rule with Port Range 54321. Click **OK** when you are done. .. figure:: ../images/azurelin_add_inbound_secrule.png - :alt: Add inbound security rule + :alt: Add inbound security rule panel where the new TCP rule with a port range of 54321 has been added. -7. After the new Inbound Security Rule is added, then you are ready to start using your Linux DSVM with H2O. Simply connect to your Jupyter notebooks and look at the examples in the **h2o > python** folder to create your first H2O Model on Azure. +7. After the new Inbound Security Rule is added, you are ready to start using your Linux DSVM with H2O. Connect to your Jupyter notebooks and look at the examples in the **h2o > python** folder to create your first H2O Model on Azure. 1. Connect to Jupyter Notebook by going to **https://<>:8000/**. 2. Connect to H2O Flow by going to **http://<>:54321/**. -Troubleshooting Tips -'''''''''''''''''''' +Tips for troubleshooting +------------------------ -- Be aware that Azure subscriptions by default allow only 20 cores. If you get a Validation error on template deployment, this might be the cause. To increase the cores limit, follow these steps: `https://blogs.msdn.microsoft.com/girishp/2015/09/20/increasing-core-quota-limits-in-azure/ `__ -- OS Disk by default is small (approx 30GB). In this case, you will have approximately 16GB of free space to start with. This is the same for all VM sizes. It is recommended that you add an SSD data disk by following these instructions: `https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-classic-attach-disk/ `__ -- Pick a VM size that provides RAM of at least 4x the size of your dataset. More information on Azure VM sizes is available here: `https://azure.microsoft.com/en-us/pricing/details/virtual-machines/ `__ -- The included examples use a ``locate`` function for importing data. This function is not available to end users. For example: +- Be aware that Azure subscriptions only allow 20 cores by default. If you get a Validation error on template deployment, this might be the cause. Follow these `steps to increase your core quota limits `__. +- OS Disk by default is small (approx 30GB). In this case, you will have approximately 16GB of free space to start with. This is the same for all VM sizes. Follow these `steps to add an SSD data disk `__. +- Pick a VM size that provides RAM of at least 4x the size of your dataset. See more about `Azure VM sizes `__. +- The previous examples use a ``locate`` function for importing data. This function is not available to end users. For example: :: air_path = [_locate("smalldata/airlines/allyears2k_headers.zip")] - To retrieve the datasets, use one of the following methods instead: + To retrieve the datasets, use one of the following methods instead: + + - Replace this path with a pointer to an Amazon S3 file at **http://s3.amazonaws.com/h2o-public-test-data/..**. For example: + + :: + + air_path="http://s3.amazonaws.com/h2o-public-test-data/smalldata/airlines/allyears2k_headers.zip" - - Replace this path with a pointer to a raw github file at **https://raw.github.com/h2o.ai/h2o/master/..**. For example, ``air_path="https://raw.github.com/h2oai/h2o/master/smalldata/airlines/allyears2k_headers.zip"`` - - Use ``wget`` to retrieve the files. + - Use ``wget`` to retrieve the files. - A list of the datasets used in the examples along with their locate path is available in the **h2o > python > README** file. \ No newline at end of file + A list of the datasets used in the examples along with their locate path is available in the **h2o > python > README** file. \ No newline at end of file diff --git a/h2o-docs/src/product/cloud-integration/ec2-and-s3.rst b/h2o-docs/src/product/cloud-integration/ec2-and-s3.rst index d054a14e4a47..983e8564199d 100644 --- a/h2o-docs/src/product/cloud-integration/ec2-and-s3.rst +++ b/h2o-docs/src/product/cloud-integration/ec2-and-s3.rst @@ -1,5 +1,5 @@ -EC2 Instances & S3 Storage -~~~~~~~~~~~~~~~~~~~~~~~~~~ +EC2 instances & S3 storage +========================== *Tested on Redhat AMI, Amazon Linux AMI, and Ubuntu AMI* @@ -9,117 +9,118 @@ To use the `Minio Cloud Storage `__, you will need to pass an For security reasons, we recommend writing a script to read the access credentials that are stored in a separate file. This will not only keep your credentials from propagating to other locations, but it will also make it easier to change the credential information later. -**Notes**: +.. note:: - You can only specify one S3 endpoint. This means you can either read data from AWS S3 or Minio S3, not from both. - We recommend using S3 for data ingestion and S3N for data export. -AWS Standalone Instance -''''''''''''''''''''''' +AWS Standalone instance +----------------------- -When running H2O in standalone mode using the simple Java launch command, we can pass in the S3 credentials in three ways. -H2O supports both AWS Credentials (pair consisting of AWS SECRET KEY and AWS SECRET ACCESS KEY) and temporary authentication using Session token -(a triplet consisting of AWS SECRET KEY, AWS SECRET ACCESS KEY and AWS SESSION TOKEN). +When running H2O in standalone mode using the simple Java launch command, you can pass in the S3 credentials in three ways. H2O supports the following: -- You can pass in AWS Credentials in standalone mode by creating a ``core-site.xml`` file and passing it in with the flag ``-hdfs_config``. For an example ``core-site.xml`` file, refer to `Core-site.xml`_. +- AWS credentials: Pair consisting of AWS SECRET KEY and AWS SECRET ACCESS KEY. +- Session token (temporary authentication): Triplet consisting of AWS SECRET KEY, AWS SECRET ACCESS KEY and AWS SESSION TOKEN. - 1. Edit the properties in the core-site.xml file to include your Access Key ID, Access Key, and Session Token as shown in the following example: +.. note:: + + Passing credentials into the URL (e.g. ``h2o.importFile(path = "s3://::@bucket/path/to/file.csv")``) is deprecated and considered a security risk. - :: +AWS credentials +~~~~~~~~~~~~~~~ - - fs.s3.awsAccessKeyId - [AWS SECRET KEY] - - - - fs.s3.awsSecretAccessKey - [AWS SECRET ACCESS KEY] - +You can pass in AWS Credentials in standalone mode by creating a ``core-site.xml`` file and passing it in with the flag ``-hdfs_config``. See `Core-site.xml`_ for an example ``core-site.xml`` file. +1. Edit the properties in the ``core-site.xml`` file to include your Access Key ID, Access Key, and Session Token: - 2. Launch with the configuration file ``core-site.xml`` by entering the following in the command line: + :: - :: + + fs.s3.awsAccessKeyID + [AWS SECRET KEY] + - java -jar h2o.jar -hdfs_config core-site.xml + + fs.s3.awsSecretAccessKey + [AWS SECRET ACCESS KEY] + - 3. Set the credentials dynamically before accessing the bucket (where ``AWS_ACCESS_KEY`` represents your user name, and ``AWS_SECRET_KEY`` represents your password). +2. Launch with the configuration file ``core-site.xml``: - - To set the credentials dynamically using the R API: + :: - :: + java -jar h2o.jar -hdfs_config core-site.xml - h2o.set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY") - h2o.importFile(path = "s3://bucket/path/to/file.csv") +3. Set the credentials dynamically before accessing the bucket (where ``AWS_ACCESS_KEY`` represents your user name, and ``AWS_SECRET_KEY`` represents your password): - - To set the credentials dynamically using the Python API: + .. tabs:: + .. code-tab:: python - :: + from h2o.persist import set_s3_credentials + set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY") + h2o.import_file(path = "s3://bucket/path/to/file.csv") - from h2o.persist import set_s3_credentials - set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY") - h2o.import_file(path = "s3://bucket/path/to/file.csv") + .. code-tab:: r R - -- Just like regular AWS credentials, temporary credentials using AWS SESSION TOKEN can be passed in standalone mode by creating a ``core-site.xml`` file and passing it in with the flag ``-hdfs_config``. For an example ``core-site.xml`` file, refer to `Core-site.xml`_. The only difference lies in specifying a triplet of (AWS SECRET KEY, AWS SECRET ACCESS KEY and AWS SESSION TOKEN) and defining a credentials provider capable of resolving temporary credentials. + h2o.set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY") + h2o.importFile(path = "s3://bucket/path/to/file.csv") - 1. Edit the properties in the core-site.xml file to include your Access Key ID, Access Key, and Session Token as shown in the following example: - :: +Session token +~~~~~~~~~~~~~ - - fs.s3a.aws.credentials.provider - org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider - +Just like regular AWS credentials, temporary credentials using an AWS SESSION TOKEN can be passed in standalone mode by creating a ``core-site.xml`` file and passing it in with the flag ``-hdfs_config``. The only difference between the two lies in specifying a triplet of (AWS SECRET KEY, AWS SECRET ACCESS KEY and AWS SESSION TOKEN) and defining a credentials provider capable of resolving temporary credentials. See `Core-site.xml`_ for an example ``core-site.xml`` file. - - fs.s3a.access.key - [AWS SECRET KEY] - - - - fs.s3a.secret.key - [AWS SECRET ACCESS KEY] - +1. Edit the properties in the ``core-site.xml`` file to include your Access Key ID, Access Key, and Session Token: - - fs.s3a.session.token - [AWS SESSION TOKEN] - + :: + + fs.s3a.aws.credentials.provider + org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider + - 2. Launch with the configuration file ``core-site.xml`` by entering the following in the command line: + + fs.s3a.access.key + [AWS SECRET KEY] + - :: + + fs.s3a.secret.key + [AWS SECRET ACCESS KEY] + - java -jar h2o.jar -hdfs_config core-site.xml + + fs.s3a.session.token + [AWS SESSION TOKEN] + - 3. Set the credentials dynamically before accessing the bucket (where ``AWS_ACCESS_KEY`` represents your user name, ``AWS_SECRET_KEY`` represents your password and ``AWS_SESSION_TOKEN`` represents temporary session token). +2. Launch with the configuration file ``core-site.xml``: - - To set the credentials dynamically using the R API: + :: - :: + java -jar h2o.jar -hdfs_config core-site.xml - h2o.set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY", "AWS_SESSION_TOKEN") - h2o.importFile(path = "s3://bucket/path/to/file.csv") +3. Set he credentials dynamically before accessing the bucket (where AWS_ACCESS_KEY represents your user name, AWS_SECRET_KEY represents your password and AWS_SESSION_TOKEN represents temporary session token): - - To set the credentials dynamically using the Python API: +.. tabs:: + .. code-tab:: python - :: + from h2o.persist import set_s3_credentials + set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY", "AWS_SESSION_TOKEN") + h2o.import_file(path = "s3://bucket/path/to/file.csv") - from h2o.persist import set_s3_credentials - set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY", "AWS_SESSION_TOKEN") - h2o.import_file(path = "s3://bucket/path/to/file.csv") + .. code-tab:: r R -**Note**: Passing credentials in the URL, e.g. ``h2o.importFile(path = "s3://::@bucket/path/to/file.csv")``, is considered a security risk and is deprecated. + h2o.set_s3_credentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY", "AWS_SESSION_TOKEN") + h2o.importFile(path = "s3://bucket/path/to/file.csv") .. _Core-site.xml: -Core-site.xml Example -''''''''''''''''''''' +Core-site.xml example +~~~~~~~~~~~~~~~~~~~~~ -The following is an example core-site.xml file: +The following is an example ``core-site.xml`` file: :: @@ -153,57 +154,61 @@ The following is an example core-site.xml file: -AWS Multi-Node Instance -''''''''''''''''''''''' +AWS multi-node instance +----------------------- +`Python and the boto `_ Python library are required to launch a multi-node instance of H2O on EC2. Ensure these dependencies are installed before proceeding. -`Python `_ and the `boto `_ Python library are required to launch a multi-node instance of H2O on EC2. Confirm these dependencies are installed before proceeding. +See the `H2O EC2 repo `_ for more information. -For more information, refer to the `H2O EC2 repo `_. +Create an AWS multi-node instance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build a cluster of EC2 instances by running the following commands on the host that can access the nodes using a public DNS name. -1. Edit `h2o-cluster-launch-instances.py` to include your SSH key name and security group name, as well as any other environment-specific variables. +1. Edit ``h2o-cluster-launch-instances.py`` to include your SSH key name and security group name (as well as any other environment-specific variables). :: ./h2o-cluster-launch-instances.py ./h2o-cluster-distribute-h2o.sh - - --OR-- - - :: - + # -- OR -- ./h2o-cluster-launch-instances.py ./h2o-cluster-download-h2o.sh - **Note**: The second method may be faster than the first because download pulls from S3. +.. note:: + + The second method may be faster than the first because download pulls from S3. 2. Distribute the credentials using ``./h2o-cluster-distribute-aws-credentials.sh``. - **Note**: If you are running H2O using an IAM role, it is not necessary to distribute the AWS credentials to all the nodes in the cluster. The latest version of H2O can access the temporary access key. + .. note:: + + If you are running H2O using an IAM role, it's not necessary to distribute the AWS credentials to all the nodes in the cluster. The latest version of H2O can access the temporary access key. - **Caution**: Distributing both regular AWS credentials and temporary AWS credentials using session token copies the Amazon AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and optionally (if temporary credentials are used) AWS_SESSION_TOKEN to the instances to enable S3 and S3N access. Use caution when adding your security keys to the cloud. + .. warning:: + + Distributing both regular AWS credentials and temporary AWS credentials using a session token copies the Amazon AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and optionally (if temporary credentials are used) AWS_SESSION_TOKEN to the instances to enable S3 and S3N access. Use caution when adding your security keys to the cloud. -3. Start H2O by launching one H2O node per EC2 instance: +3. Start H2O by launching one H2O node per EC2 instance (wait 60 seconds after entering the command before entering it on the next node): :: ./h2o-cluster-start-h2o.sh - Wait 60 seconds after entering the command before entering it on the next node. - -4. In your internet browser, substitute any of the public DNS node addresses for *IP_ADDRESS* in the following example: ``http://IP_ADDRESS:54321`` +4. Substitute any of the public DNS node addresses for *IP_ADDRESS* in your internet browser for the following example: ``http://IP_ADDRESS:54321`` - - To start H2O: ``./h2o-cluster-start-h2o.sh`` - - To stop H2O: ``./h2o-cluster-stop-h2o.sh`` + - To start H2O: ``./h2o-cluster-start-h2o.sh``. + - To stop H2O: ``./h2o-cluster-stop-h2o.sh``. - To shut down the cluster, use your `Amazon AWS console `_ to shut down the cluster manually. - **Note**: To successfully import data, the data must reside in the same location on all nodes. + .. note:: + + To successfully import data, the data must reside in the same location on all nodes. .. _minio: -Minio Instance -'''''''''''''' +Minio instance +-------------- Minio Cloud Storage is an alternative to Amazon AWS S3. When connecting to a Minio server, the following additional parameters are specified in the Java launch command: @@ -211,6 +216,9 @@ Minio Cloud Storage is an alternative to Amazon AWS S3. When connecting to a Min - ``enable.path.style``: Specifies to override the default S3 behavior to expose every bucket as a full DNS enabled path. Note that this is a Minio recommendation. +Create a Minio instance +~~~~~~~~~~~~~~~~~~~~~~~ + To pass in credentials, create a ``core-site.xml`` file that contains your Access Key ID and Secret Access Key and use the flag ``-hdfs_config`` flag when launching: :: @@ -231,98 +239,107 @@ To pass in credentials, create a ``core-site.xml`` file that contains your Acces java -Dsys.ai.h2o.persist.s3.endPoint=https://play.min.io:9000 -Dsys.ai.h2o.persist.s3.enable.path.style=true -jar h2o.jar -hdfs_config core-site.xml - **Note**: https://play.min.io:9000 is an example Minio server URL. + .. note:: -2. Import the data using ``importFile`` with the Minio S3 url path: **s3://bucket/path/to/file.csv**. + https://play.min.io:9000 is an example Minio server URL. - - To import the data from the Flow API: +2. Import the data using ``importFile`` with the Minio S3 url path: ``s3://bucket/path/to/file.csv``. - :: +.. tabs:: + .. code-tab:: bash Flow - importFiles [ "s3://bucket/path/to/file.csv" ] + importFiles [ "s3://bucket/path/to/file.csv" ] - - To import the data from the R API: + .. code-tab:: python - :: + h2o.import_file(path = "s3://bucket/path/to/file.csv") - h2o.importFile(path = "s3://bucket/path/to/file.csv") + .. code-tab:: r R - - To import the data from the Python API: + h2o.importFile(path = "s3://bucket/path/to/file.csv") - :: - h2o.import_file(path = "s3://bucket/path/to/file.csv") +Launch H2O +---------- -Launching H2O -''''''''''''' +.. note:: -**Note**: Before launching H2O on an EC2 cluster, verify that ports ``54321`` and ``54322`` are both accessible by TCP. + Before launching H2O on an EC2 cluster, verify that ports ``54321`` and ``54322`` are both accessible by TCP. -**Selecting the Operating System and Virtualization Type** +Select the operating system and virtualization type +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Select your operating system and the virtualization type of the prebuilt AMI on Amazon. If you are using Windows, you will need to use a hardware-assisted virtual machine (HVM). If you are using Linux, you can choose between para-virtualization (PV) and HVM. These selections determine the type of instances you can launch. .. figure:: ../EC2_images/ec2_system.png - :alt: EC2 Systems + :alt: EC2 systems page where you select your amazon machine image. -For more information about virtualization types, refer to `Amazon `__. +See `Amazon virtualization `__ for more information about virtualization types. -**Configuring the Instance** +Configure the instance +~~~~~~~~~~~~~~~~~~~~~~ 1. Select the IAM role and policy to use to launch the instance. H2O detects the temporary access keys associated with the instance, so you don't need to copy your AWS credentials to the instances. .. figure:: ../EC2_images/ec2_config.png - :alt: EC2 Configuration + :alt: EC2 page where you configure your instance details. -2. When launching the instance, select an accessible key pair. +2. Select an accessible key pair when launching the instance. .. figure:: ../EC2_images/ec2_key_pair.png - :alt: EC2 Key Pair + :alt: EC2 panel where you select an existing key pair or create a new key pair. -**(Windows Users) Tunneling into the Instance** +(Windows users) Tunnel into the instance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For Windows users who do not have the ability to use ``ssh`` from the terminal, either download Cygwin or a Git Bash that has the capability to run ``ssh``: +For Windows users who do not have the ability to use ``ssh`` from the terminal, either download `Cygwin `_ or a Git Bash that has the capability to run ``ssh``: :: ssh -i amy_account.pem ec2-user@54.165.25.98 -Otherwise, download PuTTY and follow these instructions: +PuTTY to tunnel into the instance +''''''''''''''''''''''''''''''''' + +Otherwise, you can download `PuTTY `_ and follow these instructions: 1. Launch the PuTTY Key Generator. 2. Load your downloaded AWS pem key file. - **Note:** To see the file, change the browser file type to "All". + .. note:: + + To see the file, change the browser file type to "All". -3. Save the private key as a .ppk file. +3. Save the private key as a PPK file. .. figure:: ../EC2_images/ec2_putty_key.png - :alt: Private Key + :alt: PuTTy key generator with a PuTTYgen notice about successfully importing a foreign key. 4. Launch the PuTTY client. -5. In the *Session* section, enter the host name or IP address. For Ubuntu users, the default host name is ``ubuntu@``. For Linux users, the default host name is ``ec2-user@``. +5. Enter the host name or IP address in the *Session* section. For Ubuntu users, the default host name is ``ubuntu@``. For Linux users, the default host name is ``ec2-user@``. .. figure:: ../EC2_images/ec2_putty_connect_1.png - :alt: Configuring Session + :alt: PuTTY configuring session with default settings in the saved sessions section and the host name filled in. 6. Select *SSH*, then *Auth* in the sidebar, and click the **Browse** button to select the private key file for authentication. .. figure:: ../EC2_images/ec2_putty_connect_2.png + :alt: PuTTY configuration with display pre-authentication banner and attempt authentication using Pageant selected. -7. Start a new session and click the **Yes** button to confirm caching of the server's rsa2 key fingerprint and continue connecting. +7. Start a new session and click **Yes** to confirm caching of the server's rsa2 key fingerprint and continue connecting. .. figure:: ../EC2_images/ec2_putty_alert.png - :alt: PuTTY Alert + :alt: PuTTY security alert about the server's host key not cached in the registry. -Downloading Java and H2O -'''''''''''''''''''''''' +Download Java and H2O +~~~~~~~~~~~~~~~~~~~~~ 1. Download `Java `__ (JDK 1.8 or later) if it is not already available on the instance. -2. To download H2O, run the ``wget`` command with the link to the zip file available on our `website `__ by copying the link associated with the **Download** button for the selected H2O build. +2. Download H2O with the ``wget`` command and the link to the ZIP file available on our `website `__ by copying the link associated with the **Download** button for the selected H2O build. :: @@ -331,5 +348,5 @@ Downloading Java and H2O cd h2o-{{project_version}} java -Xmx4g -jar h2o.jar -3. From your browser, navigate to ``:54321`` or ``:54321`` to use H2O's web interface. +3. Navigate to ``:54321`` or ``:54321`` to use H2O's web interface from your browser. diff --git a/h2o-docs/src/product/cloud-integration/gcs.rst b/h2o-docs/src/product/cloud-integration/gcs.rst index 5f1b73de5972..5696977bcc93 100644 --- a/h2o-docs/src/product/cloud-integration/gcs.rst +++ b/h2o-docs/src/product/cloud-integration/gcs.rst @@ -1,14 +1,14 @@ -Using H2O with Google Cloud Storage -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Use H2O with Google Cloud Storage +================================= To use the Google Cloud Storage solution, you will have to ensure your GCS credentials are provided to H2O. This will allow you to access your data on GCS when importing data frames with path prefixes ``gs://...``. -Under the hood **https://github.com/google/google-auth-library-java** is used to authenticate requests. It supports a wide range of authentication types. +Under the hood, **https://github.com/google/google-auth-library-java** is used to authenticate requests. It supports a wide range of authentication types. The following are searched (in order) to find the Application Default Credentials: - * Credentials file pointed to by the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable - * Credentials provided by the Google Cloud SDK ``gcloud auth application-default login`` command - * Google App Engine built-in credentials - * Google Cloud Shell built-in credentials - * Google Compute Engine built-in credentials \ No newline at end of file + - Credentials file pointed to by the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable + - Credentials provided by the Google Cloud SDK ``gcloud auth application-default login`` command + - Google App Engine built-in credentials + - Google Cloud Shell built-in credentials + - Google Compute Engine built-in credentials \ No newline at end of file diff --git a/h2o-docs/src/product/cloud-integration/google-compute.rst b/h2o-docs/src/product/cloud-integration/google-compute.rst index a66cd91a6d7c..15705e7cc128 100644 --- a/h2o-docs/src/product/cloud-integration/google-compute.rst +++ b/h2o-docs/src/product/cloud-integration/google-compute.rst @@ -1,29 +1,31 @@ .. _install-on-google-cloud: -Install H2O on the Google Cloud Platform Offering -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Install H2O on the Google Cloud Platform offering +================================================= This section describes how to install and start H2O Flow (H2O-3 web offering) in a Google Compute environment using the available Cloud Launcher offering. -Before You Begin -'''''''''''''''' +Before you begin +---------------- -If you are trying GCP for the first time and have just created an account, please check your Google Compute Engine (GCE) resource quota limits. Our default recommendation for launching H2O-3 is 4 CPUs, 15 GB RAM, and 3 nodes. By default, GCP allocates a maximum of 8 CPUs, so most H2O-3 users can easily run without reaching a quota limit. Some users of H2O, however, may require more resources. If necessary, you can change these settings to match your quota limit, or you can request more resources from GCP. Refer to https://cloud.google.com/compute/quotas for more information, including information on how to check your quota and request additional quota. +If you are trying GCP for the first time and have just created an account, please check your Google Compute Engine (GCE) resource quota limits. Our default recommendation for launching H2O-3 is 4 CPUs, 15 GB RAM, and 3 nodes. By default, GCP allocates a maximum of 8 CPUs, so most H2O-3 users can easily run without reaching a quota limit. Some users of H2O, however, may require more resources. If necessary, you can change these settings to match your quota limit, or you can request more resources from GCP. See the `documentation on quotas `__ for more information,including information on how to check your quota and request additional quota. -Installation Procedure -'''''''''''''''''''''' +Installation procedure +---------------------- -1. In your browser, log in to the Google Compute Engine Console at https://console.cloud.google.com/. +1. In your browser, `log in to the Google Compute Engine Console `__. 2. In the left navigation panel, select **Marketplace**. .. image:: ../images/google_cloud_marketplace.png + :alt: Google Cloud Platform sidebar showing the location of Marketplace. :align: center :scale: 70% 3. On the Cloud Launcher page, search for **H2O** and select the H2O-3 offering. .. image:: ../images/google_h2o_offering.png + :alt: Google Cloud Platform H2O-3 cluster launcher page with blue button to launch on compute engine. There is an overview section and information about H2O.ai and its pricing. :align: center 4. Click **Launch on Compute Engine**. @@ -35,24 +37,28 @@ Installation Procedure - Specify the boot disk type and size (in GB). - Specify the network and subnetwork names. - Click **Deploy** when you are done. H2O-3 will begin deploying. Note that this can take several minutes. +5. Click **Deploy** when you are done. H2O-3 will begin deploying. This can take several minutes. .. image:: ../images/google_deploy_compute_engine.png + :alt: H2O-3 cluster launcher deployment page with the deloyment settings on the left and the cluster launcher overview on the right. :align: center -5. A summary page displays when the compute engine is successfully deployed. This page includes the instance ID and the username (always **h2oai**) and password that will be required when starting H2O-3. Click on the Instance link to retrieve the external IP address for starting H2O-3. +6. A summary page displays when the compute engine is successfully deployed. This page includes the instance ID and the username (always **h2oai**) and password that will be required when starting H2O-3. Click on the Instance link to retrieve the external IP address for starting H2O-3. .. image:: ../images/google_deploy_summary.png + :alt: H2O-3 cluster summary page outlining cluster information (such as instance ID, instance zone, username/password, etc), get started next steps, a link to documentation, and support. :align: center -6. Connecto to the H2O-3 Cluster using one of the following methods: +7. Connect to to the H2O-3 Cluster using one of the following methods: .. tabs:: - .. group-tab:: R + .. group-tab:: Flow - .. code-block:: bash + In your browser, go to https://[External_IP]:54321 to start Flow. Enter your username and password when prompted. - h2o.connect(ip="[external ip]", port=54321, https=TRUE, username=username, password=password) + .. note:: + + When starting H2O Flow, you may receive a message indicating that the connection is not private. Note that the connection is secure and encrypted, but H2O uses a self-signed certificate to handle Nginx encryption, which prompts the warning. You can avoid this message by using your own self-signed certificate. .. group-tab:: Python @@ -60,8 +66,9 @@ Installation Procedure h2o.connect(url="https://[external ip]:54321", auth=(username, password)) - .. group-tab:: Flow + .. group-tab:: R - In your browser, go to https://[External_IP]:54321 to start Flow. Enter your username and password when prompted. + .. code-block:: bash + + h2o.connect(ip="[external ip]", port=54321, https=TRUE, username=username, password=password) - **Note**: When starting H2O Flow, you may receive a message indicating that the connection is not private. Note that the connection is secure and encrypted, but H2O uses a self-signed certificate to handle Nginx encryption, which prompts the warning. You can avoid this message by using your own self-signed certificate. diff --git a/h2o-docs/src/product/cloud-integration/ibm-dsx.rst b/h2o-docs/src/product/cloud-integration/ibm-dsx.rst index fb34a8f1b5ac..615e515fccef 100644 --- a/h2o-docs/src/product/cloud-integration/ibm-dsx.rst +++ b/h2o-docs/src/product/cloud-integration/ibm-dsx.rst @@ -1,32 +1,40 @@ -Using H2O with IBM Data Science Experience -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Use H2O with IBM Data Science Experience +======================================== The IBM Data Science Experience (DSX) provides an interactive, collaborative, cloud-based environment where data scientists can use multiple tools to activate their insights. With DSX, Data scientists can use the best of open source tools such as R and Python, tap into IBMs unique features, grow their capabilities, and share their successes. -This section shows how simple it is to use H2O R with IBM DSX. +H2O R with IBM DSX +------------------ -1. Sign in to `datascience.ibm.com `__. (Or select **Sign Up** if you do not yet have an account.) +This section shows how to use H2O R with IBM DSX. + +1. Sign in to `DSX `__ (or select **Sign Up** if you do not yet have an account). .. figure:: ../images/ibm-datasciencesite.png - :alt: Sign in + :alt: Sign in/sign up page for IBM Data Science Experience. 2. Click the dropdown in the upper-left corner, and select RStudio. .. figure:: ../images/ibm-select-r-studio.png - :alt: Start RStudio + :alt: How to start RStudio from the left sidebar. This covers the DSX Community page. -3. Install and start H2O R using the instructions included on the `H2O Download site `__. Note that this page opens by default to the **Download and Run** tab. Be sure to select the **Install in R** tab for R installation instructions. |install| +3. Install and start H2O R using the instructions included on the `H2O Download site `__. This page opens by default to the **Download and Run** tab. Be sure to select the **Install in R** tab for R installation instructions. |install| - You can also view a quick start video of installing and starting H2O in R by clicking `here `__. + You can also `view a quick start video of installing and starting H2O in R `__. .. |install| image:: ../images/ibm_install_in_r.png :height: 24 :width: 204 .. figure:: ../images/ibm-start-h2o.png - :alt: Install and start H2O + :alt: Install and start H2O in RStudio launched from DSX. The console shows the startup sequence from launching H2O-3. + +After H2O is installed and running, you are ready to use H2O in DSX! + +Additional resources +~~~~~~~~~~~~~~~~~~~~ -After H2O is installed and running, you are ready to use H2O in DSX! Refer to any of the following references for more information about using H2O with R: +Refer to any of the following references for more information about using H2O with R: - `New User Quick Start `__ - `R Booklet `__ diff --git a/h2o-docs/src/product/cloud-integration/kubernetes.rst b/h2o-docs/src/product/cloud-integration/kubernetes.rst index 332a7a3622f8..180c5af3a9b2 100644 --- a/h2o-docs/src/product/cloud-integration/kubernetes.rst +++ b/h2o-docs/src/product/cloud-integration/kubernetes.rst @@ -1,7 +1,7 @@ -Using H2O with Kubernetes -========================= +Use H2O with Kubernetes +======================= -H2O Software Stack +H2O software stack ------------------ In order to understand the behavior and limitations of a H2O distributed cluster, it is mandatory to understand the basics of H2O's design. The H2O cluster is stateful. If one H2O node is terminated, the cluster is immediately recognized as unhealthy and has to be restarted as a whole. @@ -13,12 +13,12 @@ This implies that H2O nodes must be treated as stateful by Kubernetes. In Kubern - Persistent storages and volumes associated with the StatefulSet of H2O Nodes will not be deleted once the cluster is brought down. -H2O Kubernetes Deployment +H2O Kubernetes deployment ------------------------- In order to spawn a H2O cluster inside a Kubernetes cluster, the following list of requirements must be met: -1. A Kubernetes cluster. For local development, k3s is a great choice. For easy start, OpenShift by RedHat is a great choice with their 30 day free trial. +1. A Kubernetes cluster. For local development, `k3s `__ is a great choice. For easy start, `OpenShift by RedHat `__ is a great choice with their 30 day free trial. 2. Docker image with H2O inside. 3. A Kubernetes deployment definition with a StatefulSet of H2O pods and a headless service. @@ -26,14 +26,16 @@ After H2O is started, there must be a way for H2O nodes to "find" themselves and For reproducibility, resource limits and requests should always be set to equal values. -**Note**: Official K8s images don’t apply any `security settings <../security.html>`__. The default user is ``root``. If you require a secure interface with H2O running the image, you need to change the user and execution command to add security parameters before running the image. The following is the default command used in Docker images: +.. note:: + + Official K8s images don’t apply any `security settings <../security.html>`__. The default user is ``root``. If you require a secure interface with H2O running the image, you need to change the user and execution command to add security parameters before running the image. The following is the default command used in Docker images: :: java -Djava.library.path=/opt/h2oai/h2o-3/xgb_lib_dir -XX:+UseContainerSupport -XX:MaxRAMPercentage=50 -jar /opt/h2oai/h2o-3/h2o.jar -Headless Service +Headless service ~~~~~~~~~~~~~~~~ .. code:: yaml @@ -52,9 +54,8 @@ Headless Service - protocol: TCP port: 54321 -The ``clusterIP: None`` defines the service as headless, and ``port: 54321`` is the default H2O port. Users and client libraries use this port to talk to the H2O cluster. - -The ``app: h2o-k8s`` setting is the name of the application with H2O pods inside. Be sure this setting corresponds to the name of the chosen H2O deployment name. +- ``clusterIP: None``: Defines the service as headless, and ``port: 54321`` is the default H2O port. Users and client libraries use this port to talk to the H2O cluster. +- ``app: h2o-k8s``: Set to the name of the application with H2O pods inside. Be sure this setting corresponds to the name of the chosen H2O deployment name. StatefulSet ~~~~~~~~~~~ @@ -111,7 +112,7 @@ Besides the standardized Kubernetes settings (e.g. replicas: 3 defining the numb - H2O communicates on port 54321, therefore ``containerPort: 54321`` must be exposed to make it possible for the clients to connect. - The **pod management policy** must be set to parallel: ``podManagementPolicy: "Parallel"``. This makes Kubernetes spawn all H2O nodes at once. If not specified, Kubernetes will spawn the pods with H2O nodes sequentially, one after another, significantly prolonging the startup process. -Native Kubernetes Resources +Native Kubernetes resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~ H2O is able to discover other pods with H2O under the same service automatically by using the resources native to Kubernetes: services and environment variables. @@ -123,23 +124,25 @@ In order to ensure reproducibility, all requests should be directed towards the Once the clustering is done, all nodes but the leader node mark themselves as "not ready", leaving only the leader node exposed. The ``readinessProbe`` residing on ``/kubernetes/isLeaderNode`` makes sure only the leader node is exposed once the cluster is formed by making all nodes but the leader node "not available". -The default port for H2O Kubernetes API is 8080. However, in the example, an optional environment variable changes the port to 8081 to demonstrate the functionality. +The default port for H2O Kubernetes API is ``8080``. However, in the previous example, an optional environment variable changes the port to ``8081`` to demonstrate the functionality. -Environment Variables +Environment variables ''''''''''''''''''''' If none of the optional lookup constraints are specified, a sensible default node lookup timeout will be set (defaults to 3 minutes). If any of the lookup constraints are defined, the H2O node lookup is terminated on whichever condition is met first. -1. ``H2O_KUBERNETES_SERVICE_DNS`` - **[MANDATORY]** Crucial for the clustering to work. The format usually follows the ``..svc.cluster.local`` pattern. This setting enables H2O node discovery via DNS. It must be modified to match the name of the headless service created. Also, pay attention to the rest of the address to match the specifics of your Kubernetes implementation. -2. ``H2O_NODE_LOOKUP_TIMEOUT`` - **[OPTIONAL]** Node lookup constraint. Specify the time before the node lookup times out. -3. ``H2O_NODE_EXPECTED_COUNT`` - **[OPTIONAL]** Node lookup constraint. This is the expected number of H2O pods to be discovered (should be equal to the number of replicas). -4. ``H2O_KUBERNETES_API_PORT`` - **[OPTIONAL]** Port for Kubernetes API checks and probes to listen on. Defaults to 8080. +- ``H2O_KUBERNETES_SERVICE_DNS``: *Required* Crucial for clustering to work. This format usually follows the ``..svc.cluster.local`` pattern. This setting enables H2O node discovery through DNS. It must be modified to match the name of the headless service you created. Be sure you also pay attention to the rest of the address: it needs to match the specifics of your Kubernetes implementation. +- ``H2O_NODE_LOOKUP_TIMEOUT``: Node lookup constraint. Specify the time before the node lookup times out. +- ``H2O_NODE_EXPECTED_COUNT``: Node lookup constraint. Specofu the expected number of H2O pods to be discovered. +- ``H2O_KUBERNETES_API_PORT``: Port for Kubernetes API checks to listen on (defaults to ``8080``). -Exposing H2O -~~~~~~~~~~~~ +Expose H2O +~~~~~~~~~~ In order to expose H2O and make it available from the outside of the Kubernetes cluster, an Ingress is required. Some vendors provide custom resources to achieve the same goal (e.g. -`OpenShift and Routes `__). An example of an ingress is found below. Path configuration, namespace and other Ingress attributes are always specific to user's cluster specification. +`OpenShift and Routes `__). Path configuration, namespace and other Ingress attributes are always specific to your cluster specification. + +The following example is for an Ingress: .. code:: yaml @@ -158,7 +161,7 @@ In order to expose H2O and make it available from the outside of the Kubernetes servicePort: 80 Reproducibility notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~ There are three key requirements to make sure actions invoked on H2O are reproducible: @@ -171,8 +174,8 @@ In a Kubernetes environment, one common mistake is to set different resource quo The ``readinessProbe`` residing on ``/kubernetes/isLeaderNode`` makes sure only the leader node is exposed once the cluster is formed by making all nodes but the leader node "not available". Without the readiness probe, reproducibility is not guaranteed. -Installing H2O with Helm -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Install H2O with Helm +--------------------- `Helm `__ can be used to deploy H2O into a kubernetes cluster. Helm requires setting up the KUBECONFIG environment variable properly or stating the KUBECONFIG destination explicitly. There are three steps required in order to use the official H2O Helm chart: @@ -189,7 +192,7 @@ Installing H2O with Helm The basic command ``helm install basic-h2o h2o/h2o`` only installs a minimal H2O cluster with few resources. There are various settings and modifications available. To inspect a complete list of the configuration options available, use the ``helm inspect values h2o/h2o --version |version|`` command. -Among the most common settings are number of H2O nodes (there is one pod per each H2O node) spawned, memory and CPU resources for each H2O node, and an ingress. Below is an example on how to configure these basic options. +Among the most common settings are number of H2O nodes (there is one pod per each H2O node) spawned, memory and CPU resources for each H2O node, and an ingress. The following is an example on how to configure these basic options. .. code:: yaml diff --git a/h2o-docs/src/product/cloud-integration/nimbix.rst b/h2o-docs/src/product/cloud-integration/nimbix.rst index 773e52893d31..a9b2d25f5537 100644 --- a/h2o-docs/src/product/cloud-integration/nimbix.rst +++ b/h2o-docs/src/product/cloud-integration/nimbix.rst @@ -1,5 +1,5 @@ -Using H2O with Nimbix -~~~~~~~~~~~~~~~~~~~~~ +Use H2O with Nimbix +=================== The Nimbix Cloud is a high performance computing (HPC) platform. Through either a portal or a processing API, the Nimbix Cloud runs compute-intensive applications on bare-metal machines. These applications can include CPU, GPU, FPGA systems, or a supercomputing cluster. @@ -10,17 +10,19 @@ This section shows to run H2O on the Nimbix Cloud and walks you through the foll - Pulling applications - Running applications -This assumes that you have a Nimbix account. If you do not, then contact your administrator or sign up for one at `http://www.nimbix.net `__. +.. note:: -Initial Setup -''''''''''''' + This assumes that you have a `Nimbix account `__. If you do not, then contact your administrator or sign up for one. -1. Log in to your Nimbix account at `https://mc.jarvice.com/ `__. +Initial setup +------------- + +1. Log in to your `Nimbix account `__. 2. Click the **Nimbix** logo in the upper right corner to expand the Nimbix sidebar. .. figure:: ../images/nimbix_menu_bar.png - :alt: Nimbix menu + :alt: Nimbix menu with compute, dashboard, pushtocompute, account, log out, and recent as available options. :height: 337 :width: 153 @@ -28,81 +30,95 @@ Initial Setup Your API key is important for SFTP file transfer. Every account has a specific file storage that is distributed among all of your applications. To access this, you can use SFTP on the command-line or another SFTP client such as Cyberduck or Filezilla. - Example: +Example +~~~~~~~ + +:: - :: + sftp @drop.jarvice.com + password: - sftp @drop.jarvice.com - password: +.. warning:: + + To avoid issues with Jupyter Notebooks opening to an empty folder, we suggest placing at least 1 file into your file storage before continuing. - **Warning**: To avoid issues with Jupyter Notebooks opening to an empty folder, we suggest placing at least 1 file into your file storage before continuing. + Alternatively, you can launch the Nimbix File Manager, which is a GUI based application that runs inside of Nimbix. - Alternatively, you can launch the Nimbix File Manager, which is a GUI based application that runs inside of Nimbix. +Initial application creation +---------------------------- -Initial Application Creation -'''''''''''''''''''''''''''' +This section describes how to create the following applications. -This section describes how to create the following applications. Note that when specifying the Docker repository, H2O.ai principal repo is "opsh2oai", and all h2o images have "nae" appended. +.. note:: + + When specifying the Docker repository, H2O.ai principal repo is "``opsh2oai``", and all h2o images have "``nae``" appended. -- H2o3 Core: Docker repository opsh2oai/h2o3-nae -- H2oAI: Docker repository opsh2oai/h2oai_nae +- H2O-3 Core: Docker repository ``opsh2oai/h2o3-nae`` +- H2OAI: Docker repository ``opsh2oai/h2oai_nae`` 1. In the right-side menu, select the **PushToCompute™** menu option, then click the **New** icon. .. figure:: ../images/nimbix_new.png - :alt: New application + :alt: New application button on Nimbux menu. :height: 159 :width: 200 -2. Specify a name for your application, for example "h2o3". -3. Enter the docker repository. For example "opsh2oai/h2o3_nae". +2. Specify a name for your application (for example "h2o3"). +3. Enter the docker repository (for example "``opsh2oai/h2o3_nae``"). 4. Select "Intel x86 64-bit (x86_64)" from the **System Architecture** drop down. .. figure:: ../images/nimbix_create_app.png - :alt: Create application + :alt: Create application panel where you name your app ID, docker repo, git source, and system architecture. :height: 307 :width: 458 5. Click **OK** when you are done. 6. Repeat steps 1 through 5 for the following applications: - - H2oAI: Docker repository opsh2oai/h2oai_nae - - H2o3 for Power8: Docker repository opsh2oai/h2o3_power_nae. **Note**: For H2o3 for Power8, DO NOT use "Intel x86 64-bit (x86_64)". Instead, select "IBM Power 64-bit, Little Endian (ppc64le)" from the **System Architecture** drop-down menu. + - H2OAI: Docker repository ``opsh2oai/h2oai_nae``. + - H2O-3 for Power8: Docker repository ``opsh2oai/h2o3_power_nae``. + + .. note:: -Pull Applications -''''''''''''''''' + For H2O-3 for Power8, don't use "Intel x86 64-bit (x86_64)". Instead, select "IBM Power 64-bit, Little Endian (ppc64le)" from the **System Architecture** drop-down menu. + +Pull applications +----------------- After applications are created, the next step is to pull each application. For each application, click the menu icon (three lines) in the upper-left corner of the application, then click **Pull**. .. figure:: ../images/nimbix_pull.png - :alt: Pull application + :alt: Pull application button on the All Apps page. :height: 347 :width: 374 Once you start a pull, you will receive an email from Nimbix stating that a Pull has been scheduled followed by another when the Pull is completed. After you receive the final email stating that the Pull has completed, your application is ready to use. -**Note**: To avoid UI issues with Nimbix, we recommend logging out and then logging back in to ensure that the template and UI for the Application has been properly loaded into the NAE framework. +.. note:: + + To avoid UI issues with Nimbix, we recommend logging out and then logging back in to ensure that the template and UI for the Application have been properly loaded into the NAE framework. -Running Applications -'''''''''''''''''''' +Running applications +-------------------- -This section shows how easy it is to run applications after they are built and pulled. +This section shows how to run applications after they are built and pulled. 1. Select the Application and the desired launch type (for example Batch, H2O-3 Cluster, Jupyter Notebook, or SSH). - .. figure:: ../images/nimbix_start_app.png - :alt: Start application + :alt: Start application panel where you select which application launch type you would like. :height: 312 :width: 551 2. Select the Machine Type and the number of cores, then click **Submit**. .. figure:: ../images/nimbix_machine_type.png - :alt: Select machine type and number of cores + :alt: Select machine type and number of cores for the H2O-3 cluster. :height: 194 :width: 416 That's it! At this point, you are now running your H2O applications in Nimbix. -**Warning**: Be sure to shut off your instances when you are done. +.. warning:: + + Be sure to shut off your instances when you are done.