-
Notifications
You must be signed in to change notification settings - Fork 0
Pravega Release Validation Checklist
$ md5sum pravega.tgz
$ cat pravega.tgz.md5
should match.
$ sha1sum pravega.tgz
$ cat pravega.tgz.sha1
should match.
$ sha256sum pravega.tgz
$ cat pravega.tgz.sha256
should match.
$ md5sum pravega.zip
$ cat pravega.zip.md5
should match.
$ sha1sum pravega.zip
$ cat pravega.zip.sha1
should match.
$ sha256sum pravega.zip
$ cat pravega.zip.sha256
should match.
$ md5sum pravega-javadoc.tgz
$ cat pravega-javadoc.tgz.md5
should match.
$ sha1sum pravega-javadoc.tgz
$ cat pravega-javadoc.tgz.sha1
should match.
$ sha256sum pravega-javadoc.tgz
$ cat pravega-javadoc.tgz.sha256
should match.
$ md5sum pravega-javadoc.zip
$ cat pravega-javadoc.zip.md5
should match.
$ sha1sum pravega-javadoc.zip
$ cat pravega-javadoc.zip.sha1
should match.
$ sha256sum pravega-javadoc.zip
$ cat pravega-javadoc.zip.sha256
should match.
Unzip/untar pravega-javadoc.tgz/.zip
Go through the javadocs
These ports should be occupied: zookeeper on 4000 , controller on 9090, rest server on 9091, segmentstore on 6000
$ tar xvf pravega.tgz
$ cd pravega
$ ./bin/pravega-standalone
$ unzip pravega.zip
$ cd pravega
$ ./bin/pravega-standalone
$ unzip pravega.zip
$ cd pravega
$ gradle startStandalone
$ tar xvf pravega.tgz
$ cd pravega
$ gradle startStandalone
$ docker run -it -e HOST_IP=<ip> -p 9090:9090 -p 12345:12345 pravega/pravega:latest standalone
$ wget https://github.com/pravega/pravega/tree/master/docker/compose/docker-compose.yml
$ HOST_IP=<host-ip-of-your-local-machine> docker-compose up
Controller can be accessed at: ${HOST_IP}:9090
$ docker stack up --compose-file hdfs.yml pravega // Deploying HDFS
$ docker stack up --compose-file zookeeper.yml pravega // Deploying Zookeeper
$ ZK_URL=zookeeper:2181 HDFS_URL=hdfs:8020 docker stack up --compose-file pravega.yml pravega // Deploying Pravega
- Set up HDFS(2.7+) cluster
- Install Java8
- Install Zookeeper 3.5.1-alpha+
$ bin/zkCli.sh -server $ZK_URL create /pravega
$ bin/zkCli.sh -server $ZK_URL create /pravega/bookkeeper
- Install Bookkeeper 4.4.0+
# Comma separated list of <zp-ip>:<port> for all ZK servers
zkServers=localhost:2181
# Alternatively specify a different path to the storage for /bk
journalDirectory=/bk/journal
ledgerDirectories=/bk/ledgers
indexDirectories=/bk/index
zkLedgersRootPath=/pravega/bookkeeper/ledgers
$ bin/bookkeeper shell metaformat –nonInteractive
$ bin/bookkeeper bookie
$ untar/unzip pravega.tgz/pravega.zip
$ cd pravega
$ ZK_URL=<zk-ip>:2181 bin/pravega-controller
Edit the conf/config.properties file to set the zk, hdfs and controller ips.
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
$ bin/pravega-segmentstore
Prerequisties:
- Terraform needs to be installed
- AWS account
$ cd deployment/aws
$ sudo terraform apply
Following inputs need to be provided when prompted:
- AWS access key, AWS secret key
- AWS key pair absolute path
- AWS region (Only us-east-1 and us-west-1 are supported as of now)
Change default value of pravega_num
in variable.tf
$ md5sum pravega-client.tgz
$ cat pravega-client.tgz.md5
should match.
$ sha1sum pravega-client.tgz
$ cat pravega-client.tgz.sha1
should match.
$ sha256sum pravega-client.tgz
$ cat pravega-client.tgz.sha256
should match.
$ md5sum pravega-client.zip
$ cat pravega-client.zip.md5
should match.
$ sha1sum pravega-client.zip
$ cat pravega-client.zip.sha1
should match.
$ sha256sum pravega-client.zip
$ cat pravega-client.zip.sha256
should match.
Unzip/untar pravega-client.tgz/.zip Try importing client libraries and check if you are able to use some api
- Create a gradle/maven project
- Load client libraries
- Try using
Stream Manager
/Client Factory
.
After deploying Pravega:
Run some sample code snippets from pravega-samples to check basic functionality from
https://github.com/pravega/pravega-samples/blob/master/standalone-examples/README.md
By default pravega-samples
use the latest version of pravega from maven central repo.
$ cd pravega
$ ./gradlew install
$ mkdir pravega-samples
$ cd standalone-examples
$ git clone https://github.com/pravega/pravega-samples.git
$ ./gradlew installDist
Replace 127.0.0.1
with host ip of your local machine where the controller is running.
Start HelloWorld Writer
$ ./bin/helloWorldWriter [-scope myScope] [-name myStream] [-uri tcp://127.0.0.1:9090] [-routingkey myRK] [-message 'hello world']
Start HelloWorld Reader:
$ ./bin/helloWorldReader [-scope myScope] [-name myStream] [-uri tcp://127.0.0.1:9090]
Start ConsoleWriter:
$ ./bin/consoleWriter [-scope myScope] [-name myStream] [-uri tcp://127.0.0.1:9090]
Start ConsoleReader:
$ ./bin/consoleReader [-scope myScope] [-name myStream] [-uri tcp://127.0.0.1:9090]
Pravega - Streaming as a new software defined storage primitive
- Contributing
- Guidelines for committers
- Testing
-
Pravega Design Documents (PDPs)
- PDP-19: Retention
- PDP-20: Txn Timeouts
- PDP-21: Protocol Revisioning
- PDP-22: Bookkeeper Based Tier-2
- PDP-23: Pravega Security
- PDP-24: Rolling Transactions
- PDP-25: Read-Only Segment Store
- PDP-26: Ingestion Watermarks
- PDP-27: Admin Tools
- PDP-28: Cross Routing Key Ordering
- PDP-29: Tables
- PDP-30: Byte Stream API
- PDP-31: End-to-End Request Tags
- PDP-32: Controller Metadata Scalability
- PDP-33: Watermarking
- PDP-34: Simplified-Tier-2
- PDP-35: Move Controller Metadata to KVS
- PDP-36: Connection Pooling
- PDP-37: Server-Side Compression
- PDP-38: Schema Registry
- PDP-39: Key-Value Tables Beta 1
- PDP-40: Consistent Order Guarantees for Storage Flushes
- PDP-41: Enabling Transport Layer Security (TLS) for External Clients
- PDP-42: New Resource String Format for Authorization
- PDP-43: Large Events
- PDP-44: Lightweight Transactions
- PDP-45: Health Check
- PDP-46: Read Only Permissions For Reading Data
- PDP-47: Pravega Message Queues
- PDP-48: Key-Value Tables Beta 2
- PDP-49: Segment Store Admin Gateway
- PDP-50: Stream Tags
- PDP-51: Segment Container Event Processor
- PDP-53: Robust Garbage Collection for SLTS