Pulsar 2.5.0 之本地集群搭建

1,181 阅读2分钟

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。

$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 专栏文章以及进群讨论交流学习