Running the Development Environment Script

Describes how to run the setup script that downloads the Docker image and launches the Docker container.

About this task

The development environment script, mapr_devsandbox_container_setup.sh, downloads the Docker image associated with the container and launches the container image that starts the HPE Ezmeral Data Fabric cluster. It also performs the configuration steps needed to connect local HPE Ezmeral Data Fabric clients to the HPE Ezmeral Data Fabric cluster running in the container.

Procedure

  1. Download mapr_devsandbox_container_setup.sh from GitHub.
  2. Optional: Use a docker pull command to pre-download a copy of the image:
    docker pull maprtech/dev-sandbox-container:latest
    Pre-downloading is optional, but it makes the script run faster and prevents download issues when you run the script. The script checks to see if the image is already present on your system. If the image is present, the script uses the image. If it is not present, the script tries to download it.
  3. Modify the script so it is executable:
    chmod +x mapr_devsandbox_container_setup.sh
  4. Run the script. The following command uses the default values for the host network interface and image. By default, the script runs the latest version of the container, maprtech/dev-sandbox-container:latest, and uses host network interface en0:
    ./mapr_devsandbox_container_setup.sh

    To run an earlier version, replace latest with the tag corresponding to the version you want to use, and pass that as an argument to the script. The following example runs the 6.2.0 version:

    ./mapr_devsandbox_container_setup.sh -image maprtech/dev-sandbox-container:6.2.0.0_7.0.0_ubuntu18

    For a list of available tags, see https://hub.docker.com/r/maprtech/dev-sandbox-container/tags/.

    To use a host network interface other than en0 for the container, run this command:
    $./mapr_devsandbox_container_setup.sh -nwinterface enp4s0
    If you want to use a non-default image and a different interface, run a command like this:
    $./mapr_devsandbox_container_setup.sh -nwinterface enp4s0 -image maprtech/dev-sandbox-container:7.1.0.0_9.0.0_ubuntu18
    In the preceding command, enp4s0 is an example of a host network interface name that is likely different in your environment.
    NOTE
    The script can take 5-10 minutes to run the first time you run it. It requires downloading the Docker image from the Docker repository.
  5. When the Docker image is running, you see the following output:
    latest: Pulling from maprtech/dev-sandbox-container
    Digest: sha256:7d93044364d2961de7d4087562b1c03d2610c93229c85b54ebd0528b29046cf2
    Status: Image is up to date for maprtech/dev-sandbox-container:latest
    docker.io/maprtech/dev-sandbox-container:latest
    Developer Sandbox Container 447b55b4d6fb is running..
    services required for Ezmeral Data fabric are coming up
    services required for Ezmeral Data fabric are coming up
    services required for Ezmeral Data fabric are coming up
    services required for Ezmeral Data fabric are coming up
    
    Docker Container is up and running....
    Mac Client has been configured with the docker container.
    
    Please login to the container using (root password mapr): ssh root@localhost -p 2222
    Login to MCS at https://localhost:8443
    NOTE
    Use this format to access MCS or the Data Fabric UI:
    • To access MCS: https://<IP address>:8443/app/mcs
    • To access the Data Fabric UI: https://<IP address>:8443/app/dfui
  6. Log in to the Docker container:
    ssh root@localhost -p 2222
  7. Wait for the AdminApplication java process to start by viewing the output from jps:
    root@maprdemo:~# jps
    3472 WardenMain
    28369 Jps
    5105 CLDB
    13810 RunJar
    28259 FsShell
    13235 AdminApplication
    3232 QuorumPeerManager
    12280 Drillbit
    14122 RunJar
  8. Generate a user ticket:
    # maprlogin password
    [Password for user 'root' at cluster 'maprdemo.mapr.io': ]
    MapR credentials of user 'root' for cluster 'maprdemo.mapr.io' are written to '/tmp/maprticket_0'
  9. When AdminApplication is running, you can access the Control System in your browser by using the following URL:
    https://localhost:8443 
  10. After all cluster services are running, you can access the file system by using POSIX commands, with /mapr as your mount point. The following steps show how to determine that all services are running:
    1. Determine the id of your Docker container by examining the output from the following command:
      docker ps
    2. Examine the contents of the Docker logs by using the container id from Step a:
      docker logs ca2c94d9e822
    3. It can take a few minutes for all services to initialize, depending on the load in your environment. A message similar to the following in your log output indicates that all services are running:
      This container IP : 172.17.0.2
    4. Log in to the container using the command from Step 5.
    5. Run the following command to access the HPE Ezmeral Data Fabric file system using ls:
      root@maprdemo:~# ls /mapr

What to do next

NOTE
Whenever you change your network environment, you must reconfigure your container. Rerun the mapr_devsandbox_container_setup.sh script, and select option 2 when the script shows the following prompt:
MapR sandbox container is already running.
1. Kill the earlier run and start a fresh instance
2. Reconfigure the client and the running container for any network changes
Please enter choice 1 or 2 :