Imply Manager quickstart

In this quickstart, you'll install Imply on your local machine using the Imply Manager. There are two ways to run the installation:

With the Docker installation, you run the Imply Manager and cluster components as Docker containers. With Kubernetes, you define the cluster using a Helm configuration file.

These steps assume that you are using OSX, but they can be easily adapted for Linux or other Unix-like operating systems.

After you perform these steps, continue by following the steps in the general quickstart to load and visualize data.

Docker Quickstart

Docker requirements

To use the Imply Manager Docker quick installation, you need:

Containers

Imply is provided as a pair of Docker images available on Docker Hub:

Step 1: Set up dependencies

Imply Manager requires ZooKeeper and a MySQL server to operate. In this quickstart, we will run these dependencies as additional Docker containers on your local machine.

To ensure that our containers can communicate with each other, we will first create a user-defined bridge network with the following command:

docker network create imply

Start ZooKeeper:

docker run --name zk --network imply -d --rm zookeeper:3.4.14

Start MySQL:

docker run --name mysql --network imply -e MYSQL_ROOT_PASSWORD=imply -d --rm mysql:5.7.26

Step 2: Write configuration file

Create a file named env.list with the following contents, substituting {LICENSE_KEY} with the license key provided by Imply:

IMPLY_MANAGER_LICENSE_KEY={LICENSE_KEY}

IMPLY_MANAGER_STORE_TYPE=mysql
IMPLY_MANAGER_STORE_HOST=mysql
IMPLY_MANAGER_STORE_PORT=3306
IMPLY_MANAGER_STORE_USER=root
IMPLY_MANAGER_STORE_PASSWORD=imply
IMPLY_MANAGER_STORE_DATABASE=imply_manager

imply_defaults_zkType=external
imply_defaults_zkHosts=zk:2181
imply_defaults_zkBasePath=imply
imply_defaults_metadataStorageType=mysql
imply_defaults_metadataStorageHost=mysql
imply_defaults_metadataStoragePort=3306
imply_defaults_metadataStorageUser=root
imply_defaults_metadataStoragePassword=imply
imply_defaults_deepStorageType=local
imply_defaults_deepStorageBaseLocation=/mnt/var/druid/storage

Step 3: Run the Imply Manager containers

Start the manager container:

docker run --name imply-manager --network imply -p 9097:9097 --env-file env.list -d --rm imply/manager

Start an agent container:

docker run --network imply -p 9095:9095 -p 8888:8888 -e "IMPLY_MANAGER_HOST=imply-manager" -d --rm imply/agent

Step 4: Deploy the rest of the cluster components

Once the manager container is running, you can access the Imply Manager in your web browser at: http://localhost:9097.

Open your browser to that address and follow these steps:

  1. Create the administrator account and then click Login to proceed.
  2. From the dashboard, click + New cluster to create a new cluster definition.
  3. The default values are all appropriate for this quickstart. Click Create cluster to proceed.
  4. Click OK to confirm cluster creation.

At this point, the cluster definition has been submitted but no resources have been assigned to the cluster. You may have to wait a few seconds for the cluster to be ready, at which point you should see a link, Start by adding a server:

  1. Click the link or the Add server button.
  2. If the agent was able to connect to the manager container, there should be a single available server listed. Select this server.
  3. Under Roles, select: dataTier1, master, and query.
  4. Click OK to close the dialog.
  5. Click Apply changes and then click Apply with restart on the confirmation dialog.

The Cluster Overview screen should show the cluster in an UPDATING state. The update operation may take a few minutes. Once the update is finished, the cluster's state will change to RUNNING.

imply manager cluster startup

See Using the Imply Manager to learn more about using the Imply Manager. Also see Deploy with Docker for more details about a Docker-based deployment.

Kubernetes Quickstart

This guide walks you through deploying the Imply Manager on a Kubernetes (K8s) cluster using an Imply-maintained Helm Chart. The commands assume that you are using OSX, but can be easily adapted for a Windows or Linux OS.

Kubernetes Prerequisites

To complete this quickstart, you will need:

We'll set up a local single-node K8s cluster using Minikube for our Imply Manager deployment. To follow along, you should use a cluster with a minimum of 2 CPUs and 6 GB RAM.

If you already have a K8s cluster available for use, skip to the section on installing Helm. If you already have Helm installed, skip to the section on adding the Imply repository. Also see requirements listed on Deploy with Kubernetes.

Step 1: Install Minikube

Install Minikube on your system according to the installation documentation. If you are using Homebrew, run the following command:

brew install minikube

Step 2: Start Minikube

Start a local Kubernetes cluster with the required resources:

minikube start --cpus 2 --memory 6144 --disk-size 16g

Step 3: Install Helm

Install Helm into your K8s cluster according to the installation documentation. If you are using Homebrew, the command is:

brew install helm

The remaining steps assume that you are using Helm 3 or later.

Step 4: Add Imply repository

Add the Imply repository to Helm by running:

helm repo add imply https://static.imply.io/onprem/helm
helm repo update

Step 5: Create secret for license key

With Helm, there are two ways to provide your license key to the Imply Manager. You can either supply it directly in Helm's values.yaml configuration file, or create it as a K8s Secret and provide Helm with a reference to the secret name. The latter is more secure, and is the method we will be using here.

Create the secret containing the license key:

kubectl create secret generic imply-secrets --from-file=IMPLY_MANAGER_LICENSE_KEY

Step 6: Install Imply Manager chart

We are now ready to deploy our Imply chart. For this quickstart, we will install the default version of the chart, which will create:

In Deploy with Kubernetes, we will build on this basic cluster by discussing how to configure and scale this chart to be a highly-available cluster suitable for a production deployment.

Install the chart by running:

helm install imply imply/imply

The chart will take a few moments to deploy, after which you will be presented with information on how to access your cluster:

NAME: imply
LAST DEPLOYED: Wed Jan 22 10:39:45 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
Release name: imply

It may take a few minutes for the deployment to become available.

Manager
-------
Once all the pods are running, you can access the Manager console at http://127.0.0.1:9097 by running:

  kubectl --namespace default port-forward svc/imply-manager-int 9097

Pivot and Druid Console
-----------------------
Once the Imply Manager reports that the cluster is running, you can set up port forwarding by running:

  kubectl --namespace default port-forward svc/imply-query 8888 9095

Now move on to the "Log in and create your cluster" section. 

```note-info
If the manager or cluster is not available after a few minutes, use commands like `kubectl get pods`, `kubectl describe pods`, and `kubectl logs -f -lapp.kubernetes.io/name=imply-manager --tail=1000` to check if the pods were created and are running properly.

You can now access the Manager console for the cluster components, as described next. Also see Deploy with Kubernetes for more information on this type of deployment.

Next steps

Congratulations! Your cluster is now up and running. You can now access:

To get started with Pivot, continue with the Load data file section of the Pivot Quickstart.

Overview

Tutorial

Deploy

Administer

Manage Data

Query Data

Visualize

Configure

Special UI Features

Misc