Apache Pulsar[4] 伪集群环境搭建

1 准备工作

操作系统:macOs
运行环境:java8

2 集群组成

zk集群(3个节点)
bk集群(3个节点)
pulsar集群(3个节点)

3 搭建过程

3.1 zk集群搭建

zk版本:3.4.12

  • 1 下载并解压zk
  • 2 将解压好的zookeeper文件夹复制3份分别命名为zookeeper1,zookeeper2,zookeeper3


    image.png
  • 3 以其中一个节点为例进行配置
    (3.1)新建两个目录分别使data、log(本文建在/opt目录下)


    image.png

    (3.2) data和log目录下各建三个子目录(zk1、zk2、zk3)


    image.png

    (3.3) 将conf目录下的zoo_sample.cfg文件重命名为zoo.cfg

修改如下5个参数
dataDir
dataLogDir
clientPort
admin.enableServer
admin.serverPort
添加如下集群节点信息
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

在一台服务器上,部署多个实例,需要指定不同的端口号。
[1]clientPort: 3个zk节点中分别配置为:2181,2182,2183
[2]admin.enableServer:3个zk节点中都配置为 true
[3]admin.serverPort:3个zk节点中分别配置为:9181,9182,9183
[4]集群节点信息:3个zk节点中都配置为:
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

(3.4) 在zookeeper1/data/目录下创建名字为myid文件。
向myid文件中写入内容 1
myid文件内容,3个zk节点中分别为1,2,3

(3.5) 修改完三个节点后分别启动三个节点
./bin/zkServer.sh start zk启动命令
(3.6) 用zk客户端命令(./bin/zkCli.sh -timeout 5000 -server 127.0.0.1:2181)连接zk节点,连接zookeeper1。
(3.6) 写入pulsar元数据配置
create /cluster pulsar-cluster
create /zookeeper 127.0.0.1:2181
create /configuration-store 127.0.0.1:2181
create /web-service-url http://pulsar.cluster.com:8080
create /web-service-url-tls https://pulsar.cluster.com:8443
create /broker-service-url pulsar://pulsar.cluster.com:6650
create /broker-service-url-tls pulsar+ssl://pulsar.cluster.com:6651


--cluster
集群名称

--zookeeper
ZooKeeper集群连接参数,仅需要包含集群中的一个节点即可

--configuration-store
Pulsar实例的配置存储集群(ZooKeeper),和-zookeeper参数一样只需要包含集群中的一个节点即可

--web-service-url
集群Web服务的URL+端口,URL必须是一个i标准的DNS名称,默认端口8080,不建议修改。

--web-service-url-tls
集群Web提供TLS服务的URL+端口,端口默认8443,不建议修改。

--broker-service-url
集群brokers服务URL,URL中DNS的名称和Web服务保持一致,URL使用pulsar替代http/http,端口默认6650,不建议修改。

--broker-service-url-tls
集群brokers提供TLS服务的URL,默认端口6551,不建议修改。

3.2 bk集群搭建

bk版本:4.9.2

  • 1 下载并解压bk
  • 2 将解压好的bk文件夹复制3份分别命名为bk1、bk2、bk3


    image.png
  • 3 以其中一个节点为例进行配置
    (3.1)修改 bk_server.conf 文件内容

修改如下5个参数
bookiePort
httpServerPort
storageserver.grpc.port
journalDirectories
ledgerDirectories
添加如下zk集群节点信息
zkServers=localhost:2181,localhost:2182,localhost:2183

在一台服务器上,部署多个实例,需要指定不同的端口号。
[1]bookiePort: 3个bookie节点中分别配置为:3181,3182,3183
[2]httpServerPort: 3个bookie节点中都配置为:8050,8060,8070
[3]storageserver.grpc.port: 3个bookie节点中都配置为: 4181,4182,4183
[4]zk集群节点信息:3个bookie中都配置为:
zkServers=localhost:2181,localhost:2182,localhost:2183
(3.2) 执行初始化集群元数据命令(在一个bookie上执行即可),命令如下。

./bin/bookkeeper shell metaformat

(3.3) 3个bookie下,分别执行命令启动bookie,命令如下

./bin/bookkeeper bookie

./bin/bookkeeper shell bookiesanity 检查是否启动成功

3.3 pulsar集群搭建

版本:2.5.2

  • 1 下载并解压pulsar
  • 2 将解压好的pulsar文件夹复制3份分别命名为pulsar1、pulsar2、pulsar3


    image.png
  • 以其中一个节点为例进行配置
    (3.1)修改broker.conf文件内容

修改如下4个参数
brokerServicePort
brokerServicePortTls
webServicePort
webServicePortTls
添加如下zk集群节点信息
zookeeperServers=localhost:2181,localhost:2182,localhost:2183
configurationStoreServers=localhost:2181,localhost:2182,localhost:2183

在一台服务器上,部署多个实例,需要指定不同的端口号。
[1]brokerServicePort: 3个broker节点中分别配置为:6650,6660,6670
[2]brokerServicePortTls: 3个broker节点中分别配置为:6651,6661,6671
[3]webServicePort: 3个broker节点中分别配置为:8080,8081,8082
[4]webServicePortTls: 3个broker节点中分别配置为:8443,8444,8445
[5]zk集群节点信息:3个broker中都配置为:
zookeeperServers=localhost:2181,localhost:2182,localhost:2183
configurationStoreServers=localhost:2181,localhost:2182,localhost:2183
(3.2) 在3个broker下分别执行启动命令

./bin/pulsar broker

到这里集群搭建完成

4 pulsar配置

创建集群(集群名:pulsar-cluster)

./bin/pulsar-admin clusters create --url http://pulsar.cluster.com:8080 pulsar-cluster

创建租户(租户名:my-tenant)

./bin/pulsar-admin tenants create my-tenant

创建命名空间(命名空间名,指定了租户my-tenant:my-tenant/my-namespace)

./bin/pulsar-admin namespaces create my-tenant/my-namespace

创建持久性分区topic(topic全名:persistent://my-tenant/my-namespace/my-topic)

./bin/pulsar-admin topics create-partitioned-topic persistent://my-tenant/my-namespace/my-topic -p 3

更新命名空间为其指定集群

./bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace --clusters pulsar-cluster

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342