@羲凡——只为了更好的活着

Pulsar 安装完整版——pulsar2.4.1

pulsar自从腾讯使用后各种火,最近查看官方文档,实操后整理了一份安装手册,贡献给大家

安装分一下几步:
零、前期准备
一、部署ZooKeeper集群
二、初始化集群元数据
三、部署BookKeeper集群
四、部署Pulsar brokers
安装pulsar2.4.1官网要求每台机器安装至少Java1.8的环境

零、前期准备

1.下载安装包

下载官网:https://archive.apache.org/dist/pulsar/pulsar-2.4.1/
也可以直接下面点击下面链接下载:
https://archive.apache.org/dist/pulsar/pulsar-2.4.1/apache-pulsar-2.4.1-bin.tar.gz

2.解压并配置环境变量

群集中的每台机器都要安装Pulsar软件包,包括运行ZooKeeper和BookKeeper的机器。
tar包解压——tar -zxf apache-pulsar-2.4.1-bin.tar.gz -C /opt/modules/
环境变量——sudo vi /etc/profile

#PULSAR_HOME
export PULSAR_HOME=/opt/modules/pulsar-2.4.1
export PATH=$PATH:$PULSAR_HOME/bin
3.安装内置连接器(可选)

其实就是下载几个nar包放在 $PULSAR_HOME/connectors目录(该目录需要新建)下,自己在地址上随便下载几个放进去就行了
下载地址:https://archive.apache.org/dist/pulsar/pulsar-2.4.1/connectors/
官网链接:http://pulsar.apache.org/docs/en/deploy-bare-metal/#installing-builtin-connectors-optional

4.安装分层存储卸载机制(可选)

其实就是下载一个nar包放在 PULSAR_HOME/offloaders目录(该目录需要新建)下,将下面的tar包解压后将tiered-storage-jcloud-2.4.1.nar包放在$PULSAR_HOME/offloaders目录下
下载地址:https://archive.apache.org/dist/pulsar/pulsar-2.4.1/apache-pulsar-offloaders-2.4.1-bin.tar.gz
官网链接:http://pulsar.apache.org/docs/en/deploy-bare-metal/#installing-tiered-storage-offloaders-optional

一、部署ZooKeeper集群

如果已经安装好了,请跳过此步骤。
没安装的,亲查看博客:https://blog.csdn.net/weixin_42003671/article/details/88686454

二、初始化集群元数据

每个集群将一些元数据写入ZooKeeper。它只需要写一次

pulsar initialize-cluster-metadata \
--cluster pulsar-cluster-1 \
--zookeeper cdh01.com:2181 \
--configuration-store cdh01.com:2181 \
--web-service-url http://cdh03.com:8080 \
--web-service-url-tls https://cdh03.com:8443 \
--broker-service-url pulsar://cdh03.com:6650 \
--broker-service-url-tls pulsar+ssl://cdh03.com:6651

初始化完成,会在最后一行显示 Cluster metadata for ‘pulsar-cluster-1’ setup correctly
如果弄错了想删除已经初始化后的集群,可以在zookeeper中删除两个路径即可

rmr /namespace
rmr /admin/clusters/pulsar-cluster-1

三、部署BookKeeper集群

建议选择当前稳定版本

1.下载安装包

下载官网:https://archive.apache.org/dist/bookkeeper/bookkeeper-4.8.2/
也可以直接下面点击下面链接下载:
https://archive.apache.org/dist/bookkeeper/bookkeeper-4.8.2/bookkeeper-server-4.8.2-bin.tar.gz

2.解压并配置环境变量

tar包解压——tar -zxf bookkeeper-server-4.8.2-bin.tar.gz
环境变量——sudo vi /etc/profile

#BOOKKEEPER_HOME
export BOOKKEEPER_HOME=/opt/modules/bookkeeper-server-4.8.2
export PATH=$PATH:$BOOKKEEPER_HOME/bin
3.修改配置文件

vim $BOOKKEEPER_HOME/conf/bk_server.conf

bookiePort=3181 ##默认是3181,如果默认端口没有被占用请用默认端口
## 修改成自己的zk中的一台机器
metadataServiceUri=zk+hierarchical://cdh01.com:2181/ledgers
## 修改成自己的zk
zkServers=cdh01.com:2181,cdh02.com:2181,cdh03.com:2181
##开启Pulsar Functions功能
extraServerComponents=org.apache.bookkeeper.stream.server.StreamStorageLifecycleComponent
4.分发安装包(略)
5.BookKeeper集群元数据设置

BookKeeper群集中的任何 bookie中运行一次

bookkeeper shell metaformat
6.启动bookie(三台机器都启动)
bookkeeper-daemon.sh start bookie
7.检查bookie是否正常运行(三台机器都检测)
bookkeeper shell bookiesanity

如果在某台bookie上检测报错,最简单的一种方式是将$PULSAR_HOME/data 目录下的文件删除

四、部署Pulsar brokers

注意事项:各端口一定要是和前面初始化集群元数据的端口保持一致
注意事项:clusterName必须和前面初始化集群元数据时的保持一致

1.修改配置文件

vim $PULSAR_HOME/conf/broker.conf

zookeeperServers=cdh01.com:2181,cdh02.com:2181,cdh03.com:2181
configurationStoreServers=cdh01.com:2181,cdh02.com:2181,cdh03.com:2181
brokerServicePort=6650
brokerServicePortTls=6651
webServicePort=8080
webServicePortTls=8443
clusterName=pulsar-cluster-1

## 如果你只有一台bookie机器,需要将以下三个参数设置成1(默认是2),否者不用改
# Number of bookies to use when creating a ledger
managedLedgerDefaultEnsembleSize=1
# Number of copies to store for each message
managedLedgerDefaultWriteQuorum=1
# Number of guaranteed copies (acks to wait before write is complete)
managedLedgerDefaultAckQuorum=1

## 启用Pulsar Functions
functionsWorkerEnabled=true

启用Pulsar Functions 除了修改functionsWorkerEnabled(上面的broker.conf中已修改)
还要修改vim $PULSAR_HOME/conf/functions_worker.yml

pulsarFunctionsCluster: pulsar-cluster-1
2.分发安装包并启动broker

a.分发安装包

scp -r pulsar-2.4.1 root@cdh01.com:/opt/modules/
scp -r pulsar-2.4.1 root@cdh02.com:/opt/modules/

b.修改每台机器 vim $PULSAR_HOME/conf/client.conf将localhost改成本机IP或hostname

webServiceUrl=http://cdh03.com:8080/  #将localhost改成本机IP或hostname
brokerServiceUrl=pulsar://cdh03.com:6650/  #将localhost改成本机IP或hostname

c.启动

pulsar-daemon start broker

五、测试

订阅test主题(-n:消费的消息数量,-s:订阅的名字,-t:订阅的类型)

pulsar-client consume persistent://public/default/test \
-n 100 -s "consumer-test" -t "Exclusive"

发消息到test主题(-n:发送消息的次数,-m:消息内容)

pulsar-client produce persistent://public/default/test \
-n 1 -m "Hello Pulsar"

结果

----- got message -----
Hello Pulsar

====================================================================

@羲凡——只为了更好的活着

若对博客中有任何问题,欢迎留言交流

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐