This is an automated email from the ASF dual-hosted git repository.
liuyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new ac465ee [website][upgrade]feat: docs migration for 2.7.1 / get
started (#12524)
ac465ee is described below
commit ac465ee3516d88125bb4bc18cd25c3da76efbd23
Author: Li Li <[email protected]>
AuthorDate: Mon Nov 1 09:49:28 2021 +0800
[website][upgrade]feat: docs migration for 2.7.1 / get started (#12524)
Signed-off-by: LiLi <[email protected]>
---
site2/website-next/docusaurus.config.js | 4 +
.../version-2.7.1/getting-started-docker.md | 183 +++++++++
.../version-2.7.1/getting-started-helm.md | 442 +++++++++++++++++++++
.../version-2.7.1/getting-started-standalone.md | 270 +++++++++++++
.../versioned_sidebars/version-2.7.1-sidebars.json | 22 +
site2/website-next/versions.json | 1 +
6 files changed, 922 insertions(+)
diff --git a/site2/website-next/docusaurus.config.js
b/site2/website-next/docusaurus.config.js
index 7d3f4a4..1ab2750 100644
--- a/site2/website-next/docusaurus.config.js
+++ b/site2/website-next/docusaurus.config.js
@@ -140,6 +140,10 @@ module.exports = {
to: "docs/2.7.2/",
},
{
+ label: "2.7.1",
+ to: "docs/2.7.1/",
+ },
+ {
label: "2.2.0",
to: "docs/2.2.0/",
},
diff --git
a/site2/website-next/versioned_docs/version-2.7.1/getting-started-docker.md
b/site2/website-next/versioned_docs/version-2.7.1/getting-started-docker.md
new file mode 100644
index 0000000..2d4dc04
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.1/getting-started-docker.md
@@ -0,0 +1,183 @@
+---
+id: standalone-docker
+title: Set up a standalone Pulsar in Docker
+sidebar_label: "Run Pulsar in Docker"
+original_id: standalone-docker
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+
+For local development and testing, you can run Pulsar in standalone
+mode on your own machine within a Docker container.
+
+If you have not installed Docker, download the [Community
edition](https://www.docker.com/community-edition)
+and follow the instructions for your OS.
+
+## Start Pulsar in Docker
+
+* For MacOS, Linux, and Windows:
+
+ ```shell
+
+ $ docker run -it \
+ -p 6650:6650 \
+ -p 8080:8080 \
+ --mount source=pulsardata,target=/pulsar/data \
+ --mount source=pulsarconf,target=/pulsar/conf \
+ apachepulsar/pulsar:@pulsar:version@ \
+ bin/pulsar standalone
+
+ ```
+
+A few things to note about this command:
+ * The data, metadata, and configuration are persisted on Docker volumes in
order to not start "fresh" every
+time the container is restarted. For details on the volumes you can use
`docker volume inspect <sourcename>`
+ * For Docker on Windows make sure to configure it to use Linux containers
+
+If you start Pulsar successfully, you will see `INFO`-level log messages like
this:
+
+```
+
+2017-08-09 22:34:04,030 - INFO - [main:WebService@213] - Web Service started
at http://127.0.0.1:8080
+2017-08-09 22:34:04,038 - INFO - [main:PulsarService@335] - messaging service
is ready, bootstrap service on port=8080, broker url=pulsar://127.0.0.1:6650,
cluster=standalone,
configs=org.apache.pulsar.broker.ServiceConfiguration@4db60246
+...
+
+```
+
+:::tip
+
+When you start a local standalone cluster, a `public/default`
+
+:::
+
+namespace is created automatically. The namespace is used for development
purposes. All Pulsar topics are managed within namespaces.
+For more information, see [Topics](concepts-messaging.md#topics).
+
+## Use Pulsar in Docker
+
+Pulsar offers client libraries for [Java](client-libraries-java.md),
[Go](client-libraries-go.md), [Python](client-libraries-python)
+and [C++](client-libraries-cpp). If you're running a local standalone cluster,
you can
+use one of these root URLs to interact with your cluster:
+
+* `pulsar://localhost:6650`
+* `http://localhost:8080`
+
+The following example will guide you get started with Pulsar quickly by using
the [Python](client-libraries-python)
+client API.
+
+Install the Pulsar Python client library directly from
[PyPI](https://pypi.org/project/pulsar-client/):
+
+```shell
+
+$ pip install pulsar-client
+
+```
+
+### Consume a message
+
+Create a consumer and subscribe to the topic:
+
+```python
+
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+consumer = client.subscribe('my-topic',
+ subscription_name='my-sub')
+
+while True:
+ msg = consumer.receive()
+ print("Received message: '%s'" % msg.data())
+ consumer.acknowledge(msg)
+
+client.close()
+
+```
+
+### Produce a message
+
+Now start a producer to send some test messages:
+
+```python
+
+import pulsar
+
+client = pulsar.Client('pulsar://localhost:6650')
+producer = client.create_producer('my-topic')
+
+for i in range(10):
+ producer.send(('hello-pulsar-%d' % i).encode('utf-8'))
+
+client.close()
+
+```
+
+## Get the topic statistics
+
+In Pulsar, you can use REST, Java, or command-line tools to control every
aspect of the system.
+For details on APIs, refer to [Admin API Overview](admin-api-overview).
+
+In the simplest example, you can use curl to probe the stats for a particular
topic:
+
+```shell
+
+$ curl http://localhost:8080/admin/v2/persistent/public/default/my-topic/stats
| python -m json.tool
+
+```
+
+The output is something like this:
+
+```json
+
+{
+ "averageMsgSize": 0.0,
+ "msgRateIn": 0.0,
+ "msgRateOut": 0.0,
+ "msgThroughputIn": 0.0,
+ "msgThroughputOut": 0.0,
+ "publishers": [
+ {
+ "address": "/172.17.0.1:35048",
+ "averageMsgSize": 0.0,
+ "clientVersion": "1.19.0-incubating",
+ "connectedSince": "2017-08-09 20:59:34.621+0000",
+ "msgRateIn": 0.0,
+ "msgThroughputIn": 0.0,
+ "producerId": 0,
+ "producerName": "standalone-0-1"
+ }
+ ],
+ "replication": {},
+ "storageSize": 16,
+ "subscriptions": {
+ "my-sub": {
+ "blockedSubscriptionOnUnackedMsgs": false,
+ "consumers": [
+ {
+ "address": "/172.17.0.1:35064",
+ "availablePermits": 996,
+ "blockedConsumerOnUnackedMsgs": false,
+ "clientVersion": "1.19.0-incubating",
+ "connectedSince": "2017-08-09 21:05:39.222+0000",
+ "consumerName": "166111",
+ "msgRateOut": 0.0,
+ "msgRateRedeliver": 0.0,
+ "msgThroughputOut": 0.0,
+ "unackedMessages": 0
+ }
+ ],
+ "msgBacklog": 0,
+ "msgRateExpired": 0.0,
+ "msgRateOut": 0.0,
+ "msgRateRedeliver": 0.0,
+ "msgThroughputOut": 0.0,
+ "type": "Exclusive",
+ "unackedMessages": 0
+ }
+ }
+}
+
+```
+
diff --git
a/site2/website-next/versioned_docs/version-2.7.1/getting-started-helm.md
b/site2/website-next/versioned_docs/version-2.7.1/getting-started-helm.md
new file mode 100644
index 0000000..c5c428a
--- /dev/null
+++ b/site2/website-next/versioned_docs/version-2.7.1/getting-started-helm.md
@@ -0,0 +1,442 @@
+---
+id: kubernetes-helm
+title: Get started in Kubernetes
+sidebar_label: "Run Pulsar in Kubernetes"
+original_id: kubernetes-helm
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+
+This section guides you through every step of installing and running Apache
Pulsar with Helm on Kubernetes quickly, including the following sections:
+
+- Install the Apache Pulsar on Kubernetes using Helm
+- Start and stop Apache Pulsar
+- Create topics using `pulsar-admin`
+- Produce and consume messages using Pulsar clients
+- Monitor Apache Pulsar status with Prometheus and Grafana
+
+For deploying a Pulsar cluster for production usage, read the documentation on
[how to configure and install a Pulsar Helm chart](helm-deploy).
+
+## Prerequisite
+
+- Kubernetes server 1.14.0+
+- kubectl 1.14.0+
+- Helm 3.0+
+
+:::tip
+
+For the following steps, step 2 and step 3 are for **developers** and step 4
and step 5 are for **administrators**.
+
+:::
+
+## Step 0: Prepare a Kubernetes cluster
+
+Before installing a Pulsar Helm chart, you have to create a Kubernetes
cluster. You can follow [the instructions](helm-prepare) to prepare a
Kubernetes cluster.
+
+We use [Minikube](https://minikube.sigs.k8s.io/docs/start/) in this quick
start guide. To prepare a Kubernetes cluster, follow these steps:
+
+1. Create a Kubernetes cluster on Minikube.
+
+ ```bash
+
+ minikube start --memory=8192 --cpus=4 --kubernetes-version=<k8s-version>
+
+ ```
+
+ The `<k8s-version>` can be any [Kubernetes version supported by your
Minikube
installation](https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/),
such as `v1.16.1`.
+
+2. Set `kubectl` to use Minikube.
+
+ ```bash
+
+ kubectl config use-context minikube
+
+ ```
+
+3. To use the [Kubernetes
Dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/)
with the local Kubernetes cluster on Minikube, enter the command below:
+
+ ```bash
+
+ minikube dashboard
+
+ ```
+
+ The command automatically triggers opening a webpage in your browser.
+
+## Step 1: Install Pulsar Helm chart
+
+0. Add Pulsar charts repo.
+
+ ```bash
+
+ helm repo add apache https://pulsar.apache.org/charts
+
+ ```
+
+ ```bash
+
+ helm repo update
+
+ ```
+
+1. Clone the Pulsar Helm chart repository.
+
+ ```bash
+
+ git clone https://github.com/apache/pulsar-helm-chart
+ cd pulsar-helm-chart
+
+ ```
+
+2. Run the script `prepare_helm_release.sh` to create secrets required for
installing the Apache Pulsar Helm chart. The username `pulsar` and password
`pulsar` are used for logging into the Grafana dashboard and Pulsar Manager.
+
+ ```bash
+
+ ./scripts/pulsar/prepare_helm_release.sh \
+ -n pulsar \
+ -k pulsar-mini \
+ -c
+
+ ```
+
+3. Use the Pulsar Helm chart to install a Pulsar cluster to Kubernetes.
+
+ > **NOTE**
+ > You need to specify `--set initialize=true` when installing Pulsar the
first time. This command installs and starts Apache Pulsar.
+
+ ```bash
+
+ helm install \
+ --values examples/values-minikube.yaml \
+ --set initialize=true \
+ --namespace pulsar \
+ pulsar-mini apache/pulsar
+
+ ```
+
+4. Check the status of all pods.
+
+ ```bash
+
+ kubectl get pods -n pulsar
+
+ ```
+
+ If all pods start up successfully, you can see that the `STATUS` is changed
to `Running` or `Completed`.
+
+ **Output**
+
+ ```bash
+
+ NAME READY STATUS RESTARTS
AGE
+ pulsar-mini-bookie-0 1/1 Running 0
9m27s
+ pulsar-mini-bookie-init-5gphs 0/1 Completed 0
9m27s
+ pulsar-mini-broker-0 1/1 Running 0
9m27s
+ pulsar-mini-grafana-6b7bcc64c7-4tkxd 1/1 Running 0
9m27s
+ pulsar-mini-prometheus-5fcf5dd84c-w8mgz 1/1 Running 0
9m27s
+ pulsar-mini-proxy-0 1/1 Running 0
9m27s
+ pulsar-mini-pulsar-init-t7cqt 0/1 Completed 0
9m27s
+ pulsar-mini-pulsar-manager-9bcbb4d9f-htpcs 1/1 Running 0
9m27s
+ pulsar-mini-toolset-0 1/1 Running 0
9m27s
+ pulsar-mini-zookeeper-0 1/1 Running 0
9m27s
+
+ ```
+
+5. Check the status of all services in the namespace `pulsar`.
+
+ ```bash
+
+ kubectl get services -n pulsar
+
+ ```
+
+ **Output**
+
+ ```bash
+
+ NAME TYPE CLUSTER-IP EXTERNAL-IP
PORT(S) AGE
+ pulsar-mini-bookie ClusterIP None <none>
3181/TCP,8000/TCP 11m
+ pulsar-mini-broker ClusterIP None <none>
8080/TCP,6650/TCP 11m
+ pulsar-mini-grafana LoadBalancer 10.106.141.246 <pending>
3000:31905/TCP 11m
+ pulsar-mini-prometheus ClusterIP None <none>
9090/TCP 11m
+ pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending>
80:32305/TCP,6650:31816/TCP 11m
+ pulsar-mini-pulsar-manager LoadBalancer 10.103.192.175 <pending>
9527:30190/TCP 11m
+ pulsar-mini-toolset ClusterIP None <none>
<none> 11m
+ pulsar-mini-zookeeper ClusterIP None <none>
2888/TCP,3888/TCP,2181/TCP 11m
+
+ ```
+
+## Step 2: Use pulsar-admin to create Pulsar tenants/namespaces/topics
+
+`pulsar-admin` is the CLI (command-Line Interface) tool for Pulsar. In this
step, you can use `pulsar-admin` to create resources, including tenants,
namespaces, and topics.
+
+1. Enter the `toolset` container.
+
+ ```bash
+
+ kubectl exec -it -n pulsar pulsar-mini-toolset-0 -- /bin/bash
+
+ ```
+
+2. In the `toolset` container, create a tenant named `apache`.
+
+ ```bash
+
+ bin/pulsar-admin tenants create apache
+
+ ```
+
+ Then you can list the tenants to see if the tenant is created successfully.
+
+ ```bash
+
+ bin/pulsar-admin tenants list
+
+ ```
+
+ You should see a similar output as below. The tenant `apache` has been
successfully created.
+
+ ```bash
+
+ "apache"
+ "public"
+ "pulsar"
+
+ ```
+
+3. In the `toolset` container, create a namespace named `pulsar` in the tenant
`apache`.
+
+ ```bash
+
+ bin/pulsar-admin namespaces create apache/pulsar
+
+ ```
+
+ Then you can list the namespaces of tenant `apache` to see if the namespace
is created successfully.
+
+ ```bash
+
+ bin/pulsar-admin namespaces list apache
+
+ ```
+
+ You should see a similar output as below. The namespace `apache/pulsar` has
been successfully created.
+
+ ```bash
+
+ "apache/pulsar"
+
+ ```
+
+4. In the `toolset` container, create a topic `test-topic` with `4` partitions
in the namespace `apache/pulsar`.
+
+ ```bash
+
+ bin/pulsar-admin topics create-partitioned-topic apache/pulsar/test-topic
-p 4
+
+ ```
+
+5. In the `toolset` container, list all the partitioned topics in the
namespace `apache/pulsar`.
+
+ ```bash
+
+ bin/pulsar-admin topics list-partitioned-topics apache/pulsar
+
+ ```
+
+ Then you can see all the partitioned topics in the namespace
`apache/pulsar`.
+
+ ```bash
+
+ "persistent://apache/pulsar/test-topic"
+
+ ```
+
+## Step 3: Use Pulsar client to produce and consume messages
+
+You can use the Pulsar client to create producers and consumers to produce and
consume messages.
+
+By default, the Pulsar Helm chart exposes the Pulsar cluster through a
Kubernetes `LoadBalancer`. In Minikube, you can use the following command to
check the proxy service.
+
+```bash
+
+kubectl get services -n pulsar | grep pulsar-mini-proxy
+
+```
+
+You will see a similar output as below.
+
+```bash
+
+pulsar-mini-proxy LoadBalancer 10.97.240.109 <pending>
80:32305/TCP,6650:31816/TCP 28m
+
+```
+
+This output tells what are the node ports that Pulsar cluster's binary port
and HTTP port are mapped to. The port after `80:` is the HTTP port while the
port after `6650:` is the binary port.
+
+Then you can find the IP address and exposed ports of your Minikube server by
running the following command.
+
+```bash
+
+minikube service pulsar-mini-proxy -n pulsar
+
+```
+
+**Output**
+
+```bash
+
+|-----------|-------------------|-------------|-------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|-------------------------|
+| pulsar | pulsar-mini-proxy | http/80 | http://172.17.0.4:32305 |
+| | | pulsar/6650 | http://172.17.0.4:31816 |
+|-----------|-------------------|-------------|-------------------------|
+🏃 Starting tunnel for service pulsar-mini-proxy.
+|-----------|-------------------|-------------|------------------------|
+| NAMESPACE | NAME | TARGET PORT | URL |
+|-----------|-------------------|-------------|------------------------|
+| pulsar | pulsar-mini-proxy | | http://127.0.0.1:61853 |
+| | | | http://127.0.0.1:61854 |
+|-----------|-------------------|-------------|------------------------|
+
+```
+
+At this point, you can get the service URLs to connect to your Pulsar client.
Here are URL examples:
+
+```
+
+webServiceUrl=http://127.0.0.1:61853/
+brokerServiceUrl=pulsar://127.0.0.1:61854/
+
+```
+
+Then you can proceed with the following steps:
+
+1. Download the Apache Pulsar tarball from the [downloads
page](https://pulsar.apache.org/en/download/).
+
+2. Decompress the tarball based on your download file.
+
+ ```bash
+
+ tar -xf <file-name>.tar.gz
+
+ ```
+
+3. Expose `PULSAR_HOME`.
+
+ (1) Enter the directory of the decompressed download file.
+
+ (2) Expose `PULSAR_HOME` as the environment variable.
+
+ ```bash
+
+ export PULSAR_HOME=$(pwd)
+
+ ```
+
+4. Configure the Pulsar client.
+
+ In the `${PULSAR_HOME}/conf/client.conf` file, replace `webServiceUrl` and
`brokerServiceUrl` with the service URLs you get from the above steps.
+
+5. Create a subscription to consume messages from `apache/pulsar/test-topic`.
+
+ ```bash
+
+ bin/pulsar-client consume -s sub apache/pulsar/test-topic -n 0
+
+ ```
+
+6. Open a new terminal. In the new terminal, create a producer and send 10
messages to the `test-topic` topic.
+
+ ```bash
+
+ bin/pulsar-client produce apache/pulsar/test-topic -m "---------hello
apache pulsar-------" -n 10
+
+ ```
+
+7. Verify the results.
+
+ - From the producer side
+
+ **Output**
+
+ The messages have been produced successfully.
+
+ ```bash
+
+ 18:15:15.489 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool
- 10 messages successfully produced
+
+ ```
+
+ - From the consumer side
+
+ **Output**
+
+ At the same time, you can receive the messages as below.
+
+ ```bash
+
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+ ----- got message -----
+ ---------hello apache pulsar-------
+
+ ```
+
+## Step 4: Use Pulsar Manager to manage the cluster
+
+[Pulsar Manager](administration-pulsar-manager) is a web-based GUI management
tool for managing and monitoring Pulsar.
+
+1. By default, the `Pulsar Manager` is exposed as a separate `LoadBalancer`.
You can open the Pulsar Manager UI using the following command:
+
+ ```bash
+
+ minikube service -n pulsar pulsar-mini-pulsar-manager
+
+ ```
+
+2. The Pulsar Manager UI will be open in your browser. You can use the
username `pulsar` and password `pulsar` to log into Pulsar Manager.
+
+3. In Pulsar Manager UI, you can create an environment.
+
+ - Click `New Environment` button in the top-left corner.
+ - Type `pulsar-mini` for the field `Environment Name` in the popup window.
+ - Type `http://pulsar-mini-broker:8080` for the field `Service URL` in the
popup window.
+ - Click `Confirm` button in the popup window.
+
+4. After successfully created an environment, you are redirected to the
`tenants` page of that environment. Then you can create `tenants`, `namespaces`
and `topics` using the Pulsar Manager.
+
+## Step 5: Use Prometheus and Grafana to monitor cluster
+
+Grafana is an open-source visualization tool, which can be used for
visualizing time series data into dashboards.
+
+1. By default, the Grafana is exposed as a separate `LoadBalancer`. You can
open the Grafana UI using the following command:
+
+ ```bash
+
+ minikube service pulsar-mini-grafana -n pulsar
+
+ ```
+
+2. The Grafana UI is open in your browser. You can use the username `pulsar`
and password `pulsar` to log into the Grafana Dashboard.
+
+3. You can view dashboards for different components of a Pulsar cluster.
diff --git
a/site2/website-next/versioned_docs/version-2.7.1/getting-started-standalone.md
b/site2/website-next/versioned_docs/version-2.7.1/getting-started-standalone.md
new file mode 100644
index 0000000..a959e33
--- /dev/null
+++
b/site2/website-next/versioned_docs/version-2.7.1/getting-started-standalone.md
@@ -0,0 +1,270 @@
+---
+slug: /
+id: standalone
+title: Set up a standalone Pulsar locally
+sidebar_label: "Run Pulsar locally"
+original_id: standalone
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+
+For local development and testing, you can run Pulsar in standalone mode on
your machine. The standalone mode includes a Pulsar broker, the necessary
ZooKeeper and BookKeeper components running inside of a single Java Virtual
Machine (JVM) process.
+
+> #### Pulsar in production?
+> If you're looking to run a full production Pulsar installation, see the
[Deploying a Pulsar instance](deploy-bare-metal) guide.
+
+## Install Pulsar standalone
+
+This tutorial guides you through every step of the installation process.
+
+### System requirements
+
+Currently, Pulsar is available for 64-bit **macOS**, **Linux**, and
**Windows**. To use Pulsar, you need to install 64-bit JRE/JDK 8 or later
versions.
+
+:::tip
+
+By default, Pulsar allocates 2G JVM heap memory to start. It can be changed in
`conf/pulsar_env.sh` file under `PULSAR_MEM`. This is extra options passed into
JVM.
+
+:::
+
+### Install Pulsar using binary release
+
+To get started with Pulsar, download a binary tarball release in one of the
following ways:
+
+* download from the Apache mirror (<a href="pulsar:binary_release_url"
download>Pulsar @pulsar:version@ binary release</a>)
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases
page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+
+ $ wget pulsar:binary_release_url
+
+ ```
+
+After you download the tarball, untar it and use the `cd` command to navigate
to the resulting directory:
+
+```bash
+
+$ tar xvfz apache-pulsar-@pulsar:[email protected]
+$ cd apache-pulsar-@pulsar:version@
+
+```
+
+#### What your package contains
+
+The Pulsar binary package initially contains the following directories:
+
+Directory | Contains
+:---------|:--------
+`bin` | Pulsar's command-line tools, such as
[`pulsar`](reference-cli-tools.md#pulsar) and
[`pulsar-admin`](https://pulsar.apache.org/tools/pulsar-admin/).
+`conf` | Configuration files for Pulsar, including [broker
configuration](reference-configuration.md#broker), [ZooKeeper
configuration](reference-configuration.md#zookeeper), and more.
+`examples` | A Java JAR file containing [Pulsar Functions](functions-overview)
example.
+`lib` | The [JAR](https://en.wikipedia.org/wiki/JAR_(file_format)) files used
by Pulsar.
+`licenses` | License files, in the`.txt` form, for various components of the
Pulsar [codebase](https://github.com/apache/pulsar).
+
+These directories are created once you begin running Pulsar.
+
+Directory | Contains
+:---------|:--------
+`data` | The data storage directory used by ZooKeeper and BookKeeper.
+`instances` | Artifacts created for [Pulsar Functions](functions-overview).
+`logs` | Logs created by the installation.
+
+:::tip
+
+If you want to use builtin connectors and tiered storage offloaders, you can
install them according to the following instructions:
+* [Install builtin connectors (optional)](#install-builtin-connectors-optional)
+* [Install tiered storage offloaders
(optional)](#install-tiered-storage-offloaders-optional)
+Otherwise, skip this step and perform the next step [Start Pulsar
standalone](#start-pulsar-standalone). Pulsar can be successfully installed
without installing bulitin connectors and tiered storage offloaders.
+
+:::
+
+### Install builtin connectors (optional)
+
+Since `2.1.0-incubating` release, Pulsar releases a separate binary
distribution, containing all the `builtin` connectors.
+To enable those `builtin` connectors, you can download the connectors tarball
release in one of the following ways:
+
+* download from the Apache mirror <a href="pulsar:connector_release_url"
download>Pulsar IO Connectors @pulsar:version@ release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases
page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+
+ $ wget pulsar:connector_release_url/{connector}-@pulsar:[email protected]
+
+ ```
+
+After you download the nar file, copy the file to the `connectors` directory
in the pulsar directory.
+For example, if you download the `pulsar-io-aerospike-@pulsar:[email protected]`
connector file, enter the following commands:
+
+```bash
+
+$ mkdir connectors
+$ mv pulsar-io-aerospike-@pulsar:[email protected] connectors
+
+$ ls connectors
+pulsar-io-aerospike-@pulsar:[email protected]
+...
+
+```
+
+:::note
+
+* If you are running Pulsar in a bare metal cluster, make sure `connectors`
tarball is unzipped in every pulsar directory of the broker
+(or in every pulsar directory of function-worker if you are running a separate
worker cluster for Pulsar Functions).
+* If you are [running Pulsar in Docker](getting-started-docker.md) or
deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or
[DCOS](deploy-dcos)),
+you can use the `apachepulsar/pulsar-all` image instead of the
`apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already
bundled [all builtin connectors](io-overview.md#working-with-connectors).
+
+:::
+
+### Install tiered storage offloaders (optional)
+
+:::tip
+
+Since `2.2.0` release, Pulsar releases a separate binary distribution,
containing the tiered storage offloaders.
+To enable tiered storage feature, follow the instructions below; otherwise
skip this section.
+
+:::
+
+To get started with [tiered storage offloaders](concepts-tiered-storage), you
need to download the offloaders tarball release on every broker node in one of
the following ways:
+
+* download from the Apache mirror <a href="pulsar:offloader_release_url"
download>Pulsar Tiered Storage Offloaders @pulsar:version@ release</a>
+
+* download from the Pulsar [downloads page](pulsar:download_page_url)
+
+* download from the Pulsar [releases
page](https://github.com/apache/pulsar/releases/latest)
+
+* use [wget](https://www.gnu.org/software/wget):
+
+ ```shell
+
+ $ wget pulsar:offloader_release_url
+
+ ```
+
+After you download the tarball, untar the offloaders package and copy the
offloaders as `offloaders`
+in the pulsar directory:
+
+```bash
+
+$ tar xvfz apache-pulsar-offloaders-@pulsar:[email protected]
+
+// you will find a directory named `apache-pulsar-offloaders-@pulsar:version@`
in the pulsar directory
+// then copy the offloaders
+
+$ mv apache-pulsar-offloaders-@pulsar:version@/offloaders offloaders
+
+$ ls offloaders
+tiered-storage-jcloud-@pulsar:[email protected]
+
+```
+
+For more information on how to configure tiered storage, see [Tiered storage
cookbook](cookbooks-tiered-storage).
+
+:::note
+
+* If you are running Pulsar in a bare metal cluster, make sure that
`offloaders` tarball is unzipped in every broker's pulsar directory.
+* If you are [running Pulsar in Docker](getting-started-docker.md) or
deploying Pulsar using a docker image (e.g. [K8S](deploy-kubernetes.md) or
[DCOS](deploy-dcos)),
+you can use the `apachepulsar/pulsar-all` image instead of the
`apachepulsar/pulsar` image. `apachepulsar/pulsar-all` image has already
bundled tiered storage offloaders.
+
+:::
+
+## Start Pulsar standalone
+
+Once you have an up-to-date local copy of the release, you can start a local
cluster using the [`pulsar`](reference-cli-tools.md#pulsar) command, which is
stored in the `bin` directory, and specifying that you want to start Pulsar in
standalone mode.
+
+```bash
+
+$ bin/pulsar standalone
+
+```
+
+If you have started Pulsar successfully, you will see `INFO`-level log
messages like this:
+
+```bash
+
+2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@95] - Configuration
Store cache started
+2017-06-01 14:46:29,192 - INFO - [main:AuthenticationService@61] -
Authentication is disabled
+2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@108] - Pulsar
WebSocket Service started
+
+```
+
+:::tip
+
+* The service is running on your terminal, which is under your direct control.
If you need to run other commands, open a new terminal window.
+
+:::
+
+You can also run the service as a background process using the `pulsar-daemon
start standalone` command. For more information, see
[pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+>
+> * By default, there is no encryption, authentication, or authorization
configured. Apache Pulsar can be accessed from remote server without any
authorization. Please do check [Security Overview](security-overview) document
to secure your deployment.
+>
+> * When you start a local standalone cluster, a `public/default`
[namespace](concepts-messaging.md#namespaces) is created automatically. The
namespace is used for development purposes. All Pulsar topics are managed
within namespaces. For more information, see
[Topics](concepts-messaging.md#topics).
+
+## Use Pulsar standalone
+
+Pulsar provides a CLI tool called
[`pulsar-client`](reference-cli-tools.md#pulsar-client). The pulsar-client tool
enables you to consume and produce messages to a Pulsar topic in a running
cluster.
+
+### Consume a message
+
+The following command consumes a message with the subscription name
`first-subscription` to the `my-topic` topic:
+
+```bash
+
+$ bin/pulsar-client consume my-topic -s "first-subscription"
+
+```
+
+If the message has been successfully consumed, you will see a confirmation
like the following in the `pulsar-client` logs:
+
+```
+
+09:56:55.566 [pulsar-client-io-1-1] INFO
org.apache.pulsar.client.impl.MultiTopicsConsumerImpl -
[TopicsConsumerFakeTopicNamee2df9] [first-subscription] Success subscribe new
topic my-topic in topics consumer, partitions: 4, allTopicPartitionsNumber: 4
+
+```
+
+:::tip
+
+As you have noticed that we do not explicitly create the `my-topic` topic, to
which we consume the message. When you consume a message to a topic that does
not yet exist, Pulsar creates that topic for you automatically. Producing a
message to a topic that does not exist will automatically create that topic for
you as well.
+
+:::
+
+### Produce a message
+
+The following command produces a message saying `hello-pulsar` to the
`my-topic` topic:
+
+```bash
+
+$ bin/pulsar-client produce my-topic --messages "hello-pulsar"
+
+```
+
+If the message has been successfully published to the topic, you will see a
confirmation like the following in the `pulsar-client` logs:
+
+```
+
+13:09:39.356 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1
messages successfully produced
+
+```
+
+## Stop Pulsar standalone
+
+Press `Ctrl+C` to stop a local standalone Pulsar.
+
+:::tip
+
+If the service runs as a background process using the `pulsar-daemon start
standalone` command, then use the `pulsar-daemon stop standalone` command to
stop the service.
+For more information, see
[pulsar-daemon](https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon).
+
+:::
+
diff --git a/site2/website-next/versioned_sidebars/version-2.7.1-sidebars.json
b/site2/website-next/versioned_sidebars/version-2.7.1-sidebars.json
new file mode 100644
index 0000000..0522640
--- /dev/null
+++ b/site2/website-next/versioned_sidebars/version-2.7.1-sidebars.json
@@ -0,0 +1,22 @@
+{
+ "version-2.7.1/docsSidebar": [
+ {
+ "type": "category",
+ "label": "Get Started",
+ "items": [
+ {
+ "type": "doc",
+ "id": "version-2.7.1/standalone"
+ },
+ {
+ "type": "doc",
+ "id": "version-2.7.1/standalone-docker"
+ },
+ {
+ "type": "doc",
+ "id": "version-2.7.1/kubernetes-helm"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/site2/website-next/versions.json b/site2/website-next/versions.json
index 597739a..5a2736d 100644
--- a/site2/website-next/versions.json
+++ b/site2/website-next/versions.json
@@ -2,5 +2,6 @@
"2.8.0",
"2.7.3",
"2.7.2",
+ "2.7.1",
"2.2.0"
]