Skip to content

Installing Pravega

Prior to installing Pravega, install the required prerequisites from the deployment guide. For non-production systems, you can use the containers provided by the docker installation to run non-production HDFS, Zookeeper or Bookkeeper.

There are two key components to Pravega that need to be run:

  • Controller - Control plane for Pravega. Installation requires at least one controller. Two or more are recommended for HA.
  • Segment Store - Storage node for Pravega. Installation requires at least one segment store.

Before you start, you need to download the latest Pravega release. You can find the latest Pravega release on the github releases page.

Recommendations

If you are getting started with a simple 3 node cluster, you may want to layout your services like this:

Node 1 Node 2 Node 3
Zookeeper X X X
Bookkeeper X X X
Pravega Controller X X
Pravega Segment Store X X X

All Nodes

On each node extract the distribution package to your desired directory:

tar xfvz pravega-0.1.0.tgz
cd pravega-0.1.0

Installing the Controller

The controller can simply be run using the following command. Replace <zk-ip> with the IP address of the Zookeeper nodes

ZK_URL=<zk-ip>:2181 bin/pravega-controller

Alternatively, instead of specifying this on startup each time, you can edit the conf/controller.conf file and change the zk url there:

    zk {
      url = "<zk-ip>:2181"
...
    }

Then you can run the controller with:

bin/pravega-controller

Installing the Segment Store

Edit the conf/config.properties file. The following properies need to be changed. Replace <zk-ip>, <controller-ip> and <hdfs-ip> with the IPs of the respective services:

pravegaservice.zkURL=<zk-ip>:2181
bookkeeper.zkAddress=<zk-ip>:2181
autoScale.controllerUri=tcp://<controller-ip>:9090

# Settings required for HDFS
hdfs.hdfsUrl=<hdfs-ip>:8020

Once the configuration changes have been made you can start the segment store with:

bin/pravega-segmentstore