Set up a standalone Pulsar locally

本教程将详细介绍安装的每一步。

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.

提示

By default, Pulsar allocates 2G JVM heap memory to start. It can be changed in file under PULSAR_MEM. This is extra options passed into JVM.

Note

Broker 仅支持运行在 64 位 JVM。

安装二进制版本 Pulsar

首先,通过以下方式下载二进制安装包:

  • download from the Apache mirror ()

  • 从 Pulsar 发布页面下载

  • 使用 命令下载:

下载好压缩文件后,解压缩并使用 cd 命令进入文件所在位置:

  1. $ tar xvfz apache-pulsar-2.9.2-bin.tar.gz
  2. $ cd apache-pulsar-2.9.2

软件包包含的内容:

Pulsar 二进制包包含下列目录:

运行 Pulsar 会立即生成以下目录。

目录内容
dataZooKeeper和BookKeeper使用的数据存储目录
instances为 创建的组件。
logs安装时生成的日志文件

提示

想要使用内置连接器和分层存储卸载程序,可以按照以下说明进行安装:

2.1.0-孵化 发布以后,Pulsar 发布了一个单独的二进制分布,其中包含所有的内置连接器。 要启用这些内置连接器,可以通过以下方式下载连接器安装包:

  • download from the Apache mirror

  • 从 Pulsar 官网下载页下载

  • 从 Pulsar 下载

  • 使用 wget 命令下载:

    1. $ wget https://archive.apache.org/dist/pulsar/pulsar-2.9.2/connectors/{connector}-2.9.2.nar

下载 nar 文件后,将其复制到 pulsar 目录下的 connectors 目录中。 比如,要下载 pulsar-io-aerospike-2.9.2.nar 连接器文件,则输入以下命令:

  1. $ mkdir connectors
  2. $ mv pulsar-io-aerospike-2.9.2.nar connectors
  3. $ ls connectors
  4. pulsar-io-aerospike-2.9.2.nar
  5. ...

安装分层存储卸载程序(可选)

提示

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.

要使用,需要在所有 broker 节点上下载卸载程序的压缩文件,下载方式有以下几种:

下载卸载程序压缩包后,解压缩,并将卸载程序复制为 offloaders 存储在 pulsar 目录中:

  1. $ tar xvfz apache-pulsar-offloaders-2.9.2-bin.tar.gz
  2. // you will find a directory named `apache-pulsar-offloaders-2.9.2` in the pulsar directory
  3. // then copy the offloaders
  4. $ mv apache-pulsar-offloaders-2.9.2/offloaders offloaders
  5. $ ls offloaders
  6. tiered-storage-jcloud-2.9.2.nar

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 or deploying Pulsar using a docker image (e.g. or DC/OS), you can use the apachepulsar/pulsar-all image instead of the apachepulsar/pulsar image. image has already bundled tiered storage offloaders.

当有最新版本的本地副本后,可以使用 命令启动本地集群(该命令存储在 bin 目录中),并且可以指定为以单机模式启动 Pulsar。

  1. $ bin/pulsar standalone

成功启动 Pulsar 后,可以看到如下所示的 INFO 级日志消息:

  1. 2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@95] - Configuration Store cache started
  2. 2017-06-01 14:46:29,192 - INFO - [main:AuthenticationService@61] - Authentication is disabled
  3. 2017-06-01 14:46:29,192 - INFO - [main:WebSocketService@108] - Pulsar WebSocket Service started

Pulsar 中有一个名为 pulsar-client 的 CLI 工具。 Pulsar-client 工具允许使用者在运行的集群中 consume 并 produce 消息到 Pulsar topic。

first-subscription 订阅中 consume 一条消息到 my-topic 的命令如下所示:

如果消息成功发送到 topic,则会在 pulsar-client 日志中出现一个确认,如下所示:

  1. 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

提示

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 一条消息

向名称为 my-topic 的 topic 发送一条简单的消息 hello-pulsar,命令如下所示:

  1. $ bin/pulsar-client produce my-topic --messages "hello-pulsar"

如果消息成功发送到 topic,则会在 pulsar-client 日志中出现一个确认,如下所示:

    使用 Ctrl+C 终止单机模式 Pulsar 的运行。

    提示

    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.