Pulsar 2.5.0 之本地集群搭建
官网原文标题《Set up a standalone Pulsar locally》
翻译时间:2020-02-12
官网原文地址:pulsar.apache.org/docs/en/sta…
译者:本文介绍了如何在本地搭建单机集群。
为了开发和测试,你需要在你的本地机器上安装本地集群模式,本地集群模式包括Pulsar broker, 以及必须ZooKeeper and BookKeeper组件,都是运行在你的单个虚拟机实例上。
提示:如果你需要运行所有的组件,请参考 Deploying a Pulsar instance 指南.
系统必要条件
Pulsar可以运行在MacOS和Linux上。需要安装Java 8来运行pulsar。
Pulsar 启动默认分配2G堆内存,如果需要调整修改conf/pulsar_env.sh 文件中的PULSAR_MEM参数
使用二进制包 release版本安装 Pulsar
通过如下任何一个地址下载二进制realease版本包
$ wget archive.apache.org/dist/pulsar…
下载完成 tarball 通过tar命令解压,cd命令进入目录
$ tar xvfz apache-pulsar-2.5.0-bin.tar.gz
$ cd apache-pulsar-2.5.0
解压目录结构如下
| 录 | 内容 |
|---|---|
| bin | Pulsar的命令行工具,例如pulsar和pulsar-admin |
| conf | Pulsar的配置文件,包括broker配置、zookeeper配置等等 |
| example | Pulsar function例子的Java jar文件 |
| lib | Pulsar用到的Jar文件 |
| licenses | 各种Pulsar codebase组件的License文件,.txt形式, |
一旦你开始运行Pulsar,下面的这些目录将会被创建.
| 目录 | 内容 |
|---|---|
| data | ZooKeeper和BookKeeper使用的数据存储目录 |
| instances | 为Pulsar Function创建的Artifact |
| logs | 安装时创建的log |
安装 builtin connectors (可选)
从2.1.0-incubating发布后,Pulsar发布了一个单独的binary分发版,含有所有内建connector。如果你想要使用这些内建connector,你可以通过下述方式下载connector tarball。
下载好tarball后,在pulasr目录下解压io-connectors包,然后在pulsar目录下拷贝connectors。例如 pulsar-io-aerospike-2.5.0.nar
$ mkdir connectors
$ mv pulsar-io-aerospike-2.5.0.nar connectors
$ ls connectors
pulsar-io-aerospike-2.5.0.nar
安装 tiered storage offloaders (可选)
如果你想要使用这些内建tiered storage offloaders,你可以通过下述方式下载tiered storage offloaders tarball。
- Apache镜像下载
- Pulsar Tiered Storage Offloaders 2.5.0 release
- Pulsar下载页
- Pulsar发布页
- 使用wget
$wget https://archive.apache.org/dist/pulsar/pulsar-2.5.0/apache-pulsar-offloaders-2.5.0-bin.tar.gz
下载好tarball后,在pulsar目录下解压offloaders包,然后在pulsar目录下拷贝offloaders。
$ tar xvfz apache-pulsar-offloaders-2.5.0-bin.tar.gz
// you will find a directory named `apache-pulsar-offloaders-2.5.0` in the pulsar directory
// then copy the offloaders
$ mv apache-pulsar-offloaders-2.5.0/offloaders offloaders
$ ls offloaders
tiered-storage-jcloud-2.5.0.nar
如果想了解tiered storage配置的信息 请参考 Tiered storage cookbook.
集群部署需要把offloaders tarball解压到所有pulsar目录下
Docker部署需要用apachepulsar/pulsar-all镜像覆盖原apachepulsar/pulsar镜像
启动本地集群
$ bin/pulsar standalone
启动成功,看到如下信息:
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
服务运行在终端,如果需要再后台启动,需要使用pulsar-daemon start standalone 命令,更多详情,请参考 pulsar-daemon.
默认情况下没有加密,没有安全认证,不需要配置安全认证参数。允许通过非安全认证策略访问。安全配置请参考 Security Overview
启动本地单机集群,Pulsar将会自动创建public/default namespace,你可以用来作开发目的。所有的Pulsar topic都将在此namespace下管理,了解更多 Topics.
测试你的cluster安装
Pulsar提供了名为pulsar-client 的CLI工具,使你可以做一些诸如发送或消费消息到topic
测试消费者
$ bin/pulsar-client consume my-topic -s "first-subscription"
如果消费成功,你可以在pulsar-client中看到如下信息
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
my-topic 不存在,无论是消费者还是生产者都会自动这个主题
测试生产者
$ bin/pulsar-client produce my-topic --messages "hello-pulsar"
如果消息发送成功,你可以在pulsar-client中看到如下信息
13:09:39.356 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced
停止集群
Ctrl+C 停止本地集群
如果是使用 pulsar-daemon start standalone 命令启动, 需要使用pulsar-daemon stop standalone 命令停止服务,了解更多, 查阅 pulsar-daemon.
关注公众号:TalkNewClass 免费阅读pulsar 专栏文章以及进群讨论交流学习