一、集群组成说明
1. 搭建 Pulsar 集群至少需要 3 个组件:ZooKeeper 集群、BookKeeper 集群和 broker 集群(Broker 是 Pulsar 的自身实例)。这三个集群组件如下:
ZooKeeper 集群(3 个 ZooKeeper 节点组成)
bookie 集群(也称为 BookKeeper 集群,3 个 BookKeeper 节点组成)
broker 集群(3 个 Pulsar 节点组成)
2. Pulsar 的安装包已包含了搭建集群所需的各个组件库。无需单独下载 ZooKeeper 安装包和 BookKeeper 安装包。

二、安装JDK

在 3 台 Linux 裸机服务器上安装 JDK(要求版本不低于 JDK 8)安装略过

下载最新版本pulsar,https://pulsar.apache.org/download/ 上传至3台服务器

解压安装包到指定目录

$tar -zxvf apache-pulsar-2.3.2-bin.tar.gz -C /data

三、配置部署 ZooKeeper 集群

/data/apache-pulsar-2.3.2$ cd /data/apache-pulsar-2.3.2/conf

/data/apache-pulsar-2.3.2$ vim zookeeper.conf

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/data/zookeeper/zookeeper

dataLogDir=/data/zookeeper/logs

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

maxClientCnxns=300

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

autopurge.snapRetainCount=180

# Purge task interval in hours

# Set to "0" to disable auto purge feature

autopurge.purgeInterval=180

server.1=HOSTNAME:2888:3888

server.2=HOSTNAME:2888:3888

server.3=HOSTNAME:2888:3888

# 新建文件目录
/data/apache-pulsar-2.3.2$ mkdir -PV /data/zookeeper/zookeeper

/data/apache-pulsar-2.3.2$ mkdir -PV /data/zookeeper/logs

# 新建文件 myid,分别在指定的sever上写入配置文件中指定的编号
server.1服务器上

echo 1 > data/zookeeper/zookeeper/myid

server.2服务器上

/data/apache-pulsar-2.3.2$ echo 2 > data/zookeeper/zookeeper/myid

server.3服务器上

/data/apache-pulsar-2.3.2$ echo 3 > data/zookeeper/zookeeper/myid

# 执行后台运行命令
/data/apache-pulsar-2.3.2$ bin/pulsar-daemon start zookeeper

# 执行 zookeeper 客户端连接命令
/data/apache-pulsar-2.3.2$ bin/pulsar zookeeper-shell

#注意Enter 键进入命令行界面后,可完全使用 ZooKeeper 的各种命令,如ls、get等命令。使用quit命令退出

#在任一个 ZooKeeper 节点,初始化集群元数据。

/data/apache-pulsar-2.3.2$bin/pulsar initialize-cluster-metadata \

--cluster pulsar-cluster-zk \

--zookeeper HOSTNAMEIP:2181 \

--configuration-store HOSTNAMEIP:2181 \

--web-service-url http://HOSTNAMEIP:8080 \

--web-service-url-tls https://HOSTNAMEIP:8443 \

--broker-service-url pulsar://HOSTNAMEIP:6650 \

--broker-service-url-tls pulsar+ssl://HOSTNAMEIP:6651

#查看集群元数据是否初始化成功,看到如下图所内容,表示初始化成功

$ bin/pulsar zookeeper-shell

四、配置部署 BookKeeper 集群

编辑 bookkeeper.conf 文件

/data/apache-pulsar-2.3.2$ vim conf/bookkeeper.conf

advertisedAddress=HOSTNAMEIP

zkServers=ZKSERVER1:2181,ZKSERVER2:2181,ZKSERVER3:2181

journalDirectory=/data/bookkeeper/journal

ledgerDirectories=/data/bookkeeper/ledgers

#创建bookie所需要目录

/data/apache-pulsar-2.3.2$ mkdir -pv /data/bookkeeper/

#执行初始化元数据命令;若出现提示,输入 Y,继续(只需在一个bookie节点执行一次)
/data/apache-pulsar-2.3.2$ bin/bookkeeper shell metaformat

#以后台进程启动bookie
/data/apache-pulsar-2.3.2$ bin/pulsar-daemon start bookie
#按照以上步骤,启动另外两个 bookie 节点。

如果出现报错

就是/data/bookkeeper/journal/current/VERSION   /data/bookkeeper/ledgers/current/VERSION 这两个文件与zk上的文件不一致造成的,将journal 和ledgers文件删除,在把zk的注册信息删除,重新注册一遍就好

验证是否启动成功
/data/apache-pulsar-2.3.2$ bin/bookkeeper shell bookiesanity

/data/apache-pulsar-2.3.2$  vim logs/pulsar-bookie-HOSTNAME.out.2

如果验证出现以上错误。

#解决方案:查看8000端口是否被占用

$egrep -v '^#|^$' conf/bookkeeper.conf

将prometheusStatsHttpPort=8000 端口更改掉

将bookie关闭

/data/apache-pulsar-2.3.2$ $bin/pulsar-daemon stop bookie

启动bookie

/data/apache-pulsar-2.3.2$ $bin/pulsar-daemon start bookie

验证是否启动成功,出现如下显示,表示启动成功Bookie

/data/apache-pulsar-2.3.2$ bin/bookkeeper shell bookiesanity

五、部署配置 Broker 集群

/data/apache-pulsar-2.3.2$ vim conf/broker.conf

zookeeperServers=ZKSERVER1:2181,ZKSERVER2:2181,ZKSERVER3:2181

configurationStoreServers=ZKSERVER1:2181,ZKSERVER2:2181,ZKSERVER3:2181

advertisedAddress=HOSTNAME

clusterName=pulsar-cluster-zk

#以后台进程启动 broker
/data/apache-pulsar-2.3.2$ bin/pulsar-daemon start broker

查看集群 brokers 节点情况
/data/apache-pulsar-2.3.2$ bin/pulsar-admin brokers list pulsar-cluster

六、docker 安装 apachepulsar/pulsar-dashboard

#docker安装略过

#docker run --name pulsar-dashboard -dit -p 80:80 -e SERVICE_URL=http://PULSARSEVERIP:8080  apachepulsar/pulsar-dashboard

通过浏览器访问docker 宿主机IP

转载于:https://blog.51cto.com/536410/2408686

Pulsar集群搭建部署相关推荐

  1. Spark2.2.0集群搭建部署之【HADOOP集群篇】

    软件准备信息,详见Spark2.2.0集群搭建部署之[软件准备篇] 基础配置信息,详见Spark2.2.0集群搭建部署之[基础配置篇] SSH无密访问,详见park2.2.0集群搭建部署之[无密访问篇 ...

  2. Spark2.2.0集群搭建部署之【基础配置篇】

    软件准备信息,详见Spark2.2.0集群搭建部署之[软件准备篇] Spark集群在生产环境中,主要部署在linux的集群中,所以需要先安装JDK,SCALA等基础配置. 由于Spark是计算框架,所 ...

  3. Pulsar集群搭建和基本命令使用

    目录 1. Pulsar集群搭建 2. Pulsar基本命令使用 3. 使用pulsar-mamager对Pulsar进行可视化管理 4. 参考资料 1. Pulsar集群搭建 为了方便快捷,此处使用 ...

  4. Apache Pulsar集群搭建

    目录结构 一.集群组成说明 二.安装前置条件 三.ZooKeeper集群搭建 1.解压Pulsar安装包 2.修改zookeeper.conf配置文件(三个节点上都需执行此操作),新增或修改如下关键配 ...

  5. k8s高可用集群搭建部署

    简介 k8s普通搭建出来只是单master节点,如果该节点挂掉,则整个集群都无法调度,K8s高可用集群是用多个master节点加负载均衡节点组成,外层再接高可用分布式存储集群例如ceph集群,实现计算 ...

  6. Minio分布式集群搭建部署

    分布式 Minio 可以让你将多块硬盘或者多台服务器组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障.Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你 ...

  7. Spark2.2.0集群搭建部署之【软件准备篇】

    本文主要展示如何在虚拟机上搭建部署Spark2.2.0的详细步骤,包括环境安装.无密登录.Hadoop集群,Spark集群. 需要准备的软件为: VMware-WorkStation CentOS-7 ...

  8. MYSQL集群搭建部署详细步骤

    目录 前言 mysql cluster中的几个概念解释 架构图及说明 下载mysql cluster 安装mysql cluster之前 安装配置管理节点 安装配置数据和mysql节点 测试 启动和关 ...

  9. 聊聊 Pulsar: Pulsar 分布式集群搭建

    一.集群搭建要求 1.1 搭建设计 搭建 Pulsar 集群至少需要 3 个组件:ZooKeeper 集群.Bookkeeper 集群和 Broker 集群(Broker 是 Pulsar 的自身实例 ...

最新文章

  1. 两张图看懂GC 日志
  2. spring-boot-mybatis
  3. java - 分页类
  4. 机器学习(六)——SVM(4)、学习理论
  5. 嘘,这是手淘双11 GMV 暴涨的秘密
  6. mysql中触发器中分隔符_php – 在触发器中使用分隔符的Mysql错误
  7. javascript async await
  8. [Linux]局域网设置-远程登录GDMSETUP
  9. java 基础--类与对象的创建,引用,static静态方法的创建与使用,static变量
  10. ppt演讲计时器_靠这招,我成了领导眼中的PPT演讲高手!
  11. segger_rtt使用帮助
  12. 翻译: 顶级人工智能会议 CVPR NeurIPS AAAI 等
  13. 微信公众号开发之授权
  14. net c# 代码连接数据库
  15. 阿里巴巴编程规范(new)
  16. sqlserver2017下载、安装、卸载
  17. php 简繁体转换类库,OpenCC for PHP 优雅的简繁体转换
  18. Android开发-UI开发
  19. 【室内温度+树莓派性能监控】树莓派+DS18B20温度传感器+0.96寸OLED显示屏使用及安装经验分享
  20. 仓央嘉措经典语句分享

热门文章

  1. Java NIO学习系列五:I/O模型
  2. 2017年你不能错过的Java类库
  3. Eclipse中的checkstyle插件
  4. Java书籍Top 10
  5. 最有影响力的自然语言处理NLP论文
  6. 鸟哥的Linux私房菜(服务器)- 架站文件習題解答篇
  7. Day 4:PredictionIO——如何创建一个博客推荐器
  8. JWT - just what?
  9. C语言解释器的实现--存储结构(一)
  10. js 中的break continue return