|
| 1 | +# Apache Pulsar benchmarks |
| 2 | + |
| 3 | +This folder houses all of the assets necessary to run benchmarks for Apache Pulsar. |
| 4 | + |
| 5 | +## Creating a Pulsar cluster on Amazon Web Services (AWS) using Terraform and Ansible |
| 6 | + |
| 7 | +In order to create an Apache Pulsar cluster on AWS, you'll need to have the following installed: |
| 8 | + |
| 9 | +* [Terraform](https://terraform.io) |
| 10 | +* [The `terraform-inventory` plugin for Terraform](https://github.com/adammck/terraform-inventory) |
| 11 | +* [Ansible](http://docs.ansible.com/ansible/latest/intro_installation.html) |
| 12 | +* The messaging benchmarks repository: |
| 13 | + |
| 14 | + ```bash |
| 15 | + $ git clone https://github.com/streamlio/messaging-benchmark |
| 16 | + $ cd messaging-benchmark/driver-pulsar/deploy |
| 17 | + ``` |
| 18 | + |
| 19 | +In addition, you will need to: |
| 20 | + |
| 21 | +* [Create an AWS account](https://aws.amazon.com/account/) (or use an existing account) |
| 22 | +* [Install the `aws` CLI tool](https://aws.amazon.com/cli/) |
| 23 | +* [Configure the `aws` CLI tool](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) |
| 24 | + |
| 25 | +Once those conditions are in place, you can create the necessary AWS resources using a single Terraform command (from this directory): |
| 26 | + |
| 27 | +```bash |
| 28 | +$ terraform apply |
| 29 | +``` |
| 30 | + |
| 31 | +That will install the following [EC2](https://aws.amazon.com/ec2) instances (plus some other resources, such as a [Virtual Private Cloud](https://aws.amazon.com/vpc/) (VPC)): |
| 32 | + |
| 33 | +Resource | Description | Count |
| 34 | +:--------|:------------|:----- |
| 35 | +Pulsar/BookKeeper instances | The VMs on which a Pulsar broker and BookKeeper bookie will run | 3 |
| 36 | +ZooKeeper instances | The VMs on which a ZooKeeper node will run | 3 |
| 37 | +Client instance | The VM from which the benchmarking suite itself will be run | 1 |
| 38 | + |
| 39 | +When you run `terraform apply`, you will be prompted to type `yes`. Type `yes` to continue with the installation or anything else to quit. |
| 40 | + |
| 41 | +Once the installation is complete, you will see a confirmation message listing the resources that have been installed. |
0 commit comments