Pulsar官方文档翻译-入门和实战-搭建本地单机集群环境

官网原文标题《Setting up a local standalone cluster》

翻译时间:2018-09-28

官网原文地址:http://pulsar.apache.org/docs/en/standalone/

译者:本文介绍了如何在本地搭建单机集群。准备环境,是学习Pulsar的第一步。

下一步阅读《消息核心概念(Messaging Concepts)》

--------------------分割线----------------

 

搭建本地单机集群

如果是为了本地开发和测试,可以在你自己的电脑上,以单机模式运行Pulsar。单机模式包括运行在java虚拟机上的一个Pulsar broker以及它所必须的ZooKeeper和BookKeeper。

手动运行单机Pulsar

系统需求

目前Pulsar可以运行在MacOS和Linux上。你需要安装Java 8来运行pulsar。

 

安装Pulsar

首先通过以下任意一种方式下载binary tarball。

 1、Apache镜像下载

  • Pulsar 2.1.1-incubating binary release

 2、Pulsar下载页

 3、Pulsar发布页

 4、使用wget

$ wget https://archive.apache.org/dist/incubator/pulsar/pulsar-2.1.1-incubating/apache-pulsar-2.1.1-incubating-bin.tar.gz

下载tarball后,解压,进入解压后的文件夹。

 

包里有什么呢?

初始Pulsar的binary包中有如下目录:

目录 内容
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

 

安装内建的Connector

从2.1.0-incubating发布后,Pulsar发布了一个单独的binary分发版,含有所有内建connector。如果你想要使用这些内建connector,你可以通过下述方式下载connector tarball。

1、Apache镜像下载

  • Pulsar IO Connectors 2.1.1-incubating release

2、Pulsar下载页

3、Pulsar发布页

4、使用wget

$ wget https://archive.apache.org/dist/incubator/pulsar/pulsar-2.1.1-incubating/apache-pulsar-io-connectors-2.1.1-incubating-bin.tar.gz

下载好tarball后,在pulasr目录下解压io-connectors包,然后在pulsar目录下拷贝connectors。

$ tar xvfz /path/to/apache-pulsar-io-connectors-2.1.1-incubating-bin.tar.gz

// you will find a directory named `apache-pulsar-io-connectors-2.1.1-incubating` in the pulsar directory
// then copy the connectors

$ cd apache-pulsar-io-connectors-2.1.1-incubating/connectors connectors

$ ls connectors
pulsar-io-aerospike-2.1.1-incubating.nar
pulsar-io-cassandra-2.1.1-incubating.nar
pulsar-io-kafka-2.1.1-incubating.nar
pulsar-io-kinesis-2.1.1-incubating.nar
pulsar-io-rabbitmq-2.1.1-incubating.nar
pulsar-io-twitter-2.1.1-incubating.nar
...

启动集群

当你本地有了最新的发布拷贝后,你可以通过bin目录下的pulsar命令来启动本地集群。启动时候需要指定你想以单机模式运行。

$ bin/pulsar standalone

如果Pulsar已经成功启动,你应该可以看到如下INFO级别的日志。

2017-06-01 14:46:29,192 - INFO  - [main:WebSocketService@95] - Global Zookeeper 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

自动创建namespace

当你启动本地单机集群,Pulsar将会自动创建public/default namespace,你可以用来作开发目的。所有的Pulsar topic都将在此namespace下管理。更多信息,参考Topics。

在Docker运行Pulsar

此外,你还可以在docker运行单机pulsar

docker run -it -p 80:80 -p 8080:8080 -p 6650:6650 apachepulsar/pulsar-standalone

命令对localhost开放这些端口

  • 80:pulsar dashboard的端口
  • 8080:pulsar服务的http service url
  • 6650:pulsar服务的binary协议服务url

docker容器运行后,你可以通过http://localhost进入dashboard。

测试你的cluster安装

Pulsar提供了名为pulsar-client 的CLI工具,使你可以做一些诸如发送消息到topic的事情。这条命令将会发送一个简单的“hellp-pulsar”的消息到my-topic的Topic。

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

如果此消息成功的发布到topic,你可以在pulsar-client中看到下面的确认log。

13:09:39.356 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced

不需要明确的创建主题

你可能注意到,你并没在传递hello-pulsar消息前,去创建my-topic主题。如果你尝试往一个还不存在的topic写入消息,那么Pulsar会自动创建主题。

 

本地使用Pulsar client

目前pulsar提供了Java、Python和C++的类库。如果你运行了本地独立集群,可以通过下述根URL和你的集群交互。

  • http://localhost:8080
  • pulsar://localhost:6650

下面是某topic的producer的java客户端的例子:

String localClusterUrl = "pulsar://localhost:6650";

PulsarClient client = PulsarClient.builder().serviceURL(localClusterUrl).build();
Producer producer = client.newProducer().topic("my-topic").create();

下面是Pythion的例子:

import pulsar

client = pulsar.Client('pulsar://localhost:6650')
producer = client.create_producer('my-topic')

最后是一个C++ producer的例子:

Client client("pulsar://localhost:6650");
Producer producer;
Result result = client.createProducer("my-topic", producer);
if (result != ResultOk) {
    LOG_ERROR("Error creating producer: " << result);
    return -1;
}

 

你可能感兴趣的:(Pulsar官方文档翻译,pulsar,官方,环境,实战,安装)