Pulsar 2.5.0 之本地集群搭建
官网原文标题《Set up a standalone Pulsar locally》
翻译时间:2020-02-12
官网原文地址:http://pulsar.apache.org/docs/en/standalone/
译者:本文介绍了如何在本地搭建单机集群。
为了开发和测试,你需要在你的本地机器上安装本地集群模式,本地集群模式包括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版本包
Apache 镜像
Pulsar 下载页
Pulsar 主页
wget
$ wget https://archive.apache.org/dist/pulsar/pulsar-2.5.0/apache-pulsar-2.5.0-bin.tar.gz
下载完成 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。
Apache镜像下载
Pulsar IO Connectors 2.5.0-incubating release
Pulsar下载页
Pulsar发布页
使用wget
$wget https://archive.apache.org/dist/pulsar/pulsar-2.5.0/connectors/{connector}-2.5.0.nar
下载好tarball后,在pulasr目录下解压io-connectors包,然后在pulsar目录下拷贝connectors。例如 pulsar-io-aerospike-2.5.0.nar
$ mkdirconnectors
$ mvpulsar-io-aerospike-2.5.0.nar connectors
$ lsconnectors
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
$wgethttps://archive.apache.org/dist/pulsar/pulsar-2.5.0/apache-pulsar-offloaders-2.5.0-bin.tar.gz
下载好tarball后,在pulsar目录下解压offloaders包,然后在pulsar目录下拷贝offloaders。
$ tarxvfz apache-pulsar-offloaders-2.5.0-bin.tar.gz
// you willfinda directory named`apache-pulsar-offloaders-2.5.0`inthe pulsar directory
//thencopy the offloaders
$ mvapache-pulsar-offloaders-2.5.0/offloaders offloaders
$ lsoffloaders
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-0114:46:29,192-INFO-[main:WebSocketService@95]-Configuration Store cache started
2017-06-0114:46:29,192-INFO-[main:AuthenticationService@61]-Authentication is disabled
2017-06-0114: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-topicintopics 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-1messages successfully produced
停止集群
Ctrl+C 停止本地集群
如果是使用 pulsar-daemon start standalone 命令启动, 需要使用pulsar-daemon stop standalone 命令停止服务,了解更多, 查阅 pulsar-daemon.