一、环境准备

搭建 Pulsar 集群至少需要 3 个组件:ZooKeeper 集群、BookKeeper 集群和 broker 集群(Broker 是 Pulsar 的自身实例)。这
三个集群组件如下:

  • l ZooKeeper 集群(3 个 ZooKeeper 节点组成)
  • l bookie 集群(也称为 BookKeeper 集群,3 个 BookKeeper 节点组成)
  • l broker 集群(3 个 Pulsar 节点组成)

Pulsar 的安装包已包含了搭建集群所需的各个组件库。无需单独下载 ZooKeeper 安装包和 BookKeeper 安装包。(在实际
中,zookeeper我们并不仅仅应用在pulsar上, 包括HBase等其他的组件也需要依赖, 所以我们此处zookeeper使用外置zk集群环境)

三台机器:192.168.87.130,192.168.87.131,192.168.87.132

二、集群搭建

1、将pulsar安装包分别上传至三台机器/usr/local下,并解压至/usr/local/apache-pulsar-2.8.1

2、进入confo下修改bookkeeper集群配置文件:vim bookkeeper.conf

修改其第56行:修改本地ip地址
advertisedAddress=192.168.87.130
修改其39行:
journalDirectory=/usr/local/apache-pulsar-2.8.1/tmp/journal
修改其389行:
ledgerDirectories=/usr/local/apache-pulsar-2.8.1/tmp/ledger
修改602行:
zkServers=127.0.0.1:2181

3、进入conf下修改broker集群配置文件:vim broker.conf

修改第98行: 修改集群的名称
clusterName=pulsar-cluster
修改第23行: 配置zookeeper地址
zookeeperServers=192.168.87.130:2181
修改第26行: 配置zookeeper地址
configurationStoreServers=192.168.87.130:2181
修改第44行: 更改为本地ip地址
advertisedAddress=192.168.87.130

4、将配置好的bookkeeper.conf和broker.conf分别复制到另两台机子上:

scp bookkeeper.conf 192.168.87.131:$PWD
scp bookkeeper.conf 192.168.87.132:$PWD
scp broker.conf 192.168.87.131:$PWD
scp broker.conf 192.168.87.132:$PWD

5、修改两外两台机器的broker地址和bookies地址:

vim bookkeeper.conf
修改其第56行:修改本地ip地址
advertisedAddress=192.168.87.131
vim broker.conf
修改第44行: 更改为本地ip地址
advertisedAddress=192.168.87.131
第三台节点: 都更改为对应IP地址或者主机名即可

三、集群初始化和启动

1、启动zk集群

2、初始化元数据(任一台机器即可)

进入pulsar安装目录bin下执行如下命令:

./pulsar initialize-cluster-metadata \
--cluster pulsar-cluster \
--zookeeper 192.168.87.130:2181 \
--configuration-store 192.168.87.130:2181 \
--web-service-url http://192.168.87.130:8080,192.168.87.131:8080,192.168.87.132:8080 \
--broker-service-url pulsar://192.168.87.130:6650,192.168.87.131:6650,192.168.87.132:6650

接着初始化bookkeeper集群:若出现提示请输入Y

./bookkeeper shell metaformat

3、启动bookkeeper服务(3台机器都要启动)

./pulsar-daemon start bookie
验证是否启动:三台都监测
./bookkeeper shell bookiesanity
提示:Bookie sanity test succeeded 认为启动成功
关闭bookie:./pulsar-daemon stop bookie

4、启动broker(3台机器都要启动)

./pulsar-daemon start broker
验证是否启动:./pulsar-admin brokers list pulsar-cluster
关闭broker:./pulsar-daemon stop broker

四、集群模式测试:

使用bin目录下pulsar-client开启消费者监听:

./pulsar-client consume persistent://public/default/test -s "consumer-test"

开启生产者生产一条数据:

./pulsar-client produce persistent://public/default/test --messages "hello-pulsar"

 五、pulsar-manger安装:

1、将apache-pulsar-manager-0.2.0-bin.tar.gz包解压至/usr/local目录下,同时解压pulsar-manager.tar

tar -xvf pulsar-manager.tar

解压完对应目录:

 

 2、拷贝dist包到 pulsar-manager目录下并更名为ui

在 /usr/local/pulsar-manager下执行如下命令:

cp -r dist pulsar-manager/ui

3、启动pulsar-manager:进入/usr/local/pulsar-manager/pulsar-manager目录执行(注意:必须在bin的上层目录下,不能进入bin目录执行)

nohup ./bin/pulsar-manager &

4、初始化超级用户密码(分别执行如下两命令)

CSRF_TOKEN=$(curl http://192.168.87.130:7750/pulsar-manager/csrf-token)
curl \
-H "X-XSRF-TOKEN: $CSRF_TOKEN" \
-H "Cookie: XSRF-TOKEN=$CSRF_TOKEN;" \
-H 'Content-Type: application/json' \
-X PUT http://192.168.87.130:7750/pulsar-manager/users/superuser \
-d '{"name": "pulsar", "password": "pulsar", "description": "test", "email": "username@test.org"}'

5、登录浏览器访问:http://192.168.87.130:7750/ui/index.html

 

 6、添加pulsar环境