Skip to content

Before You Start

The Getting Started guides that follows leverages the standalone punchplatform. Make sure you get the latest one from our download area.

In minutes you will be able to run, operate, test and develop various use cases. The standalone punchplatform is also very useful in operation, coupled with your production platform, to run prototype or test setups either in sandbox mode or directly on the production traffic.

Danger

What you cannot do is to go production with the standalone, that is not its purpose. For production, use the official deployment packages. They take care of properly installing the punchplatform components. The PunchPlatform team will provide production support only on versions installed using the official deployment packages.

Requirements

At least 8 GB of RAM memory and 30 GB of free storage on your hard drive. In general, memory requirement will depends on the number and the complexity of storm topologies/spark applications you will be running at a time (e.g. input and output channels, tenants, ...).

The standalone runs on the following systems:

  • MacOS Sierra 10.12 or later,
  • Ubuntu 18.04 LTS or later (64bits),
  • Debian 7 or later (64bits),
  • CentOS/RHEL 7 or later (64bits)

In all cases check if you have the required dependencies:

  • bash
  • jq 1.5 (or above)
  • curl
  • python 3.6.8 with pyenv and pip modules Jinja2 and PyYAML installed. See the instructions hereafter.

Python 3.6.8

if you want to use Punch, you also need to install python version 3.6.8.
Check our Pyenv instructions to make sure you have a clean and proper installation.

Mac OS

Note

we assume that HomeBrew is already install on your machine

brew install jq curl
sudo easy_install pip
pip install virtualenv PyYAML Jinja2

Ubuntu/Debian

sudo apt install curl jq python-minimal openjdk-8-jdk unzip python-pip python-virtualenv
pip install PyYAML Jinja2

CentOS/RedHat

sudo yum install zip unzip wget
sudo curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && sudo python get-pip.py
sudo pip install virtualenv PyYAML Jinja2
sudo wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -O /usr/bin/jq && sudo chmod +x /usr/bin/jq
sudo yum install java-1.8.0-openjdk-devel

Important

A troubleshooting procedure for the standalone is available at Troubleshooting your standalone

Congratulation, now we can get started using the PunchPlatform !

Installation

This chapter assumes you have already downloaded the standalone punchplatform archive from our download area. Simply unzip it, you should have a punchplatform-standalone-x.y.z directory on your filesystem.

Important

Install the Standalone as a non-root user. I.e. use it under your standard user account.

cd punchplatform-standalone-x.y.z
./install.sh

This unarchives all our friends (Kafka, Storm, Elasticsearch, Spark etc...), and patches their configuration files (cleanly) so that you have a simple local PunchPlatform setup. All Punch binary and configuration files will be installed under this directory, nowhere else on your machine. When a prompt ask you to patch your environment, if you answer "yes", it will only add a few lines at the end of your ~/.bashrc (on linux) or ~/.bash_profile (on MacOS) to update your path variable. You then only need to start a new terminal.

If you prefer not impacting your environment, just say no. To setup your environment you must then execute the following command every time you start a new terminal:

source ./activate.sh

Assuming you are happy with a local setup, you can start all of the standalone platform components (Zookeeper, Storm, Elasticsearch, Kibana, Spark).

punchplatform-standalone.sh --start

Check if your standalone version is running properly:

punchplatform-standalone.sh --status

Check a summary your standalone UI:

punchplatform-standalone.sh --summary