当前位置: 首页 > news >正文

长安网站建设东莞市优速网络科技有限公司

长安网站建设,东莞市优速网络科技有限公司,wordpress 在线聊天主题,专门做外贸的网站pulsar集群搭建_亲测成功 单机运行请看: Linux MacBook单机部署Pulsar并开启认证功能 集群组成 搭建 Pulsar 集群至少需要 3 个组件:ZooKeeper 集群、BookKeeper 集群和 broker 集群(Broker 是 Pulsar 的自身实例)。这三个集群组件如下: …

pulsar集群搭建_亲测成功

单机运行请看:

Linux MacBook单机部署Pulsar并开启认证功能

集群组成

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

  • bookie 集群(也称为 BookKeeper 集群,3(或多) 个 BookKeeper 节点组成)

  • broker 集群(3(或多) 个 Pulsar 节点组成)

  1. Pulsar 的安装包已包含了搭建集群所需的各个组件库。无需单独下载 ZooKeeper 安装包和 BookKeeper 安装包。

环境准备

安装JDK

在所需服务器上安装 JDK(要求版本不低于 JDK 8)安装请看:

Linux卸载openjdk并安装Oracle jdk

MacBook安装jdk8

下载最新版本pulsar
官方下载地址:https://pulsar.apache.org/download/
上传至服务器

解压安装包到指定目录

tar -zxvf apache-pulsar-2.8.0-bin.tar.gz -C /home/software

安装建议

官方建议需要6台机器:

  • 3台用于运行Zookeeper集群, 建议使用性能较弱的机器, Pulsar仅将Zookeeper用于与协调有关的定期任务和与配置有关的任务,而不用于基本操作.

  • 3台用于运行bookie集群和broker集群,建议使用性能强劲的机器.

但是也可以在一台机器上同时部署Zookeeper,bookie,broker,也就是最少需要三台机器就可以部署一个Pulsar集群.

其实也还可以在3台机器上部署Zookeeper集群,另外3台机器部署bookie集群,在另外3台机器部署broker集群,也就是一共需要消耗9台机器.

总结: 部署一个Pulsar集群(包含一个Zookeeper集群(3个Zookeeper节点组成), 一个bookie集群(也称为Bookeeper集群,3个Bookeeper节点组成), 一个broker集群(3个Pulsar节点组成)), 最少需要3台机器, 官方建议6台机器, 最多需要9台机器.

3台机器集群为例

192.168.1.17

192.168.1.18

192.168.1.19

先搭建zookeeper的集群

#在17 18 19上分别创建目录
mkdir -pv /home/software/zookeeper/logs#17上执行
echo 1 > /home/software/zookeeper/myid 
#18上执行
echo 2 > /home/software/zookeeper/myid 
#19上执行
echo 3 > /home/software/zookeeper/myid#分别修改三台zookeeper配置
vim /home/software/apache-pulsar-2.8.0/conf/zookeeper.conf
#zookeeper数据保存目录 
dataDir=/home/software/zookeeper
#日志保存目录
dataLogDir=/home/software/zookeeper/logs
#端口,默认:2181,如果被占用,请修改,我这里修改为:12181
clientPort=12181#最后加入集群配置,server.后面的数字(编号),要和上面写入myid相对应
#端口一般配置为:2888:3888,我这里修改为了:12888:13888
server.1=192.168.1.17:12888:13888
server.2=192.168.1.18:12888:13888
server.3=192.168.1.19:12888:13888#分别启动三台zookeeper: 执行后台运行命令
bin/pulsar-daemon start zookeeper#停止zookeeper命令
bin/pulsar-daemon stop zookeeper#查看启动情况
ps aux|grep pulsar#查看端口启动情况
netstat -tpnl |grep 12181
netstat -tpnl |grep 2181    

最后验证 ZooKeeper 节点是否启动成功

#执行 zookeeper 客户端连接命令
#如果是默认端口情况下,执行如果命令连接
bin/pulsar zookeeper-shell#指定ip和端口的情况下,执行如下命令连接
bin/pulsar zookeeper-shell -server 192.168.1.17:12181bin/pulsar zookeeper-shell -server 192.168.1.18:12181bin/pulsar zookeeper-shell -server 192.168.1.19:12181#查看所有zk节点数据,命令如下
ls /
#显示如下,表示zk的集群已经搭建好了
[zookeeper]

初始化集群元数据

#先查看端口占用情况,避免后面启动时会报端口占用错误
netstat -tpnl |grep 8080  
netstat -tpnl |grep 8443
netstat -tpnl |grep 6650
netstat -tpnl |grep 6651# 在任一个 zooKeeper 节点,如:18,初始化集群元数据
# 进入Apache-pulsar 目录
# 执行命令初始化集群元数据
bin/pulsar initialize-cluster-metadata \
--cluster pulsar-cluster-iot \
--zookeeper 192.168.1.18:12181 \
--configuration-store 192.168.1.18:12181 \
--web-service-url http://192.168.1.17:18080,192.168.1.18:1808,192.168.1.19:1808 \
--web-service-url-tls https://192.168.1.17:8443,192.168.1.18:8443,192.168.1.19:8443 \
--broker-service-url pulsar://192.168.1.17:6650,192.168.1.18:6650,192.168.1.19:6650 \
--broker-service-url-tls pulsar+ssl://192.168.1.17:6651,192.168.1.18:6651,192.168.1.19:6651#注意: 这个命令只设置了一个节点的元数据, 后面访问其他节点有问题, 请用上面的命令
bin/pulsar initialize-cluster-metadata \
--cluster pulsar-cluster-iot \
--zookeeper 192.168.1.18:12181 \
--configuration-store 192.168.1.18:12181 \
--web-service-url http://192.168.1.18:18080 \
--web-service-url-tls https://192.168.1.18:8443 \
--broker-service-url pulsar://192.168.1.18:6650 \
--broker-service-url-tls pulsar+ssl://192.168.1.18:6651#连接任意一台zookeeper,比如:17
bin/pulsar zookeeper-shell -server 192.168.1.17:12181
#查询数据
ls /
#显示如下,有bookies,pulsar等信息,表示成功初始化
[admin, bookies, ledgers, managed-ledgers, namespace, pulsar, stream, zookeeper]

重新初始化或删除数据时

建议: 先停掉zookeeper, 然后直接删除三台zookeeper数据目录,然后在重新启动

重新初始化,删除zookeeper里的数据, 除了这个zookeeper不删除

这样删除启动bookie 报错,把zookeeper集群停了,删除目录数据

#删除命令
delete /bookiesdelete /counters
报错:
Node not empty: /counters#deleteall命令。它将递归删除路径下的所有节点
deleteall /counters

配置部署 BookKeeper 集群

#分别每个节点执行#创建bookie所需要目录
mkdir -pv /home/software/bookkeeper/tmp/journal
mkdir -pv /home/software/bookkeeper/tmp/ledger#注意下面的配置:修改每个节点对应的ip# 进入bookie 配置文件目录,编辑 bookkeeper.conf 文件
vim bookkeeper.conf# advertisedAddress 修改为服务器对应的ip,在另外两台服务器也做对应的修改advertisedAddress=192.168.1.17
advertisedAddress=192.168.1.17# 修改以下两个文件目录地址
journalDirectory=/home/software/bookkeeper/tmp/journalledgerDirectories=/home/software/bookkeeper/tmp/ledger# 修改zk地址和端口信息
zkServers=192.168.1.17:12181,192.168.1.18:12181,192.168.1.19:12181#查看8000端口是否占用, 如果占用,修改为8100
netstat -tpnl |grep 8000   #httpServerPort默认也是8000,建议修改,我这里修改为:8100
prometheusStatsHttpPort=8100# 初始化元数据,并启动 bookie 集群
# 执行初始化元数据命令;若出现提示,输入 Y,继续(只需在任意一个bookie节点执行一次)
bin/bookkeeper shell metaformat#初始化成功#修改端口
vim bookkeeper.conf
prometheusStatsHttpPort=8100#bookie关闭命令
bin/pulsar-daemon stop bookie#启动bookie命令,以后台进程启动bookie
bin/pulsar-daemon start bookie#查看日志,因为8000端口被占用,如果上面修改为:8100,就不会报此错误
vim logs/pulsar-bookie-rabbitmq1.log 
Caused by: java.io.IOException: Failed to bind to /0.0.0.0:8000
Caused by: java.net.BindException: 地址已在使用#按照以上步骤,启动另外两个 bookie 节点。#验证是否启动成功
bin/bookkeeper shell bookiesanity#出现如下显示,表示启动成功Bookie
Bookie sanity test succeeded

部署配置 Broker 集群

#修改配置文件 broker.confvim conf/broker.conf 
# 修改集群名,和 ZooKeeper 里初始化元数据时指定的集群名(--cluster pulsar-cluster-iot)相同
clusterName=pulsar-cluster-iot# 修改如下两个配置,指定的都是 ZooKeeper 集群地址和端口号zookeeperServers=192.168.1.17:12181,192.168.1.18:12181,192.168.1.19:12181
configurationStoreServers=192.168.1.17:12181,192.168.1.18:12181,192.168.1.19:12181# 修改如下参数为本服务器ip地址,另外两个 broker 节点配置文件也做对应修改
advertisedAddress=192.168.1.17#由于8080端口被占用,修改为18080
webServicePort=18080#启动 broker 节点# 以后台进程启动 broker
bin/pulsar-daemon start broker#停止 broker
bin/pulsar-daemon stop broker # 查看集群 brokers 节点情况
bin/pulsar-admin brokers list pulsar-cluster-iot
#报错:
HTTP 404 Not Found#客户端修改,需要修改端口:18080
vim conf/client.conf 
修改为18080端口
webServiceUrl=http://localhost:18080/bin/pulsar-admin brokers list pulsar-cluster-iot
bin/pulsar-admin brokers list pulsar-cluster
bin/pulsar-admin --admin-url http://192.168.1.17:18080 brokers list pulsar-cluster-iot#显示如下:表式集群搭建成功
"192.168.1.17:18080"
"192.168.1.18:18080"
"192.168.1.19:18080"#查看端口启动情况
netstat -tpnl |grep 8080
netstat -tpnl |grep 18080#报错如下,都是端口占用情况
Caused by: java.io.IOException: Failed to bind to /0.0.0.0:8080
Caused by: java.net.BindException: 地址已在使用

测试

#订阅
bin/pulsar-client consume \persistent://public/default/test \-n 100 \-s "consumer-test" \-t "Exclusive"#发送
bin/pulsar-client produce \persistent://public/default/test \-n 1 \-m "Hello Pulsar"----- 收到消息 -----
Hello Pulsar

参考链接:
https://www.jianshu.com/p/715ead13ecce
https://blog.51cto.com/u_536410/2408686
https://blog.csdn.net/daydreameri/article/details/105031977
https://www.jianshu.com/p/dd328bdd2a32

http://www.15wanjia.com/news/6906.html

相关文章:

  • 微网站建设方案公司网址怎么制作
  • 沈阳网站搜索引擎优化推广产品的方法和步骤
  • 网络平台开发泰州百度seo
  • java网站建设技术参数网站站点查询
  • 网站被取消备案济南做网站推广哪家好
  • 旅行网站排名促销方法100种
  • 福州 哈尔滨网站建设 网络服务网络推广的网站有哪些
  • 建站哪家好就要用兴田德润谷歌浏览器下载手机版安卓官网
  • 建设方案模板奉化云优化seo
  • 网站与数据库的联系做任务赚佣金的正规平台
  • 密云网站制作案例全网营销推广平台
  • 阿里云搭建企业网站游戏推广员招聘
  • 做网站前端用什么技术好北京网络排名优化
  • 茂易网站建设seo优化排名怎么做
  • wordpress新闻开封网站快速排名优化
  • 大网站是用什么做html5的百度爱采购推广一个月多少钱
  • 用软件做seo网站关键词推广淄博seo怎么选择
  • 将自己做的网站用电脑发到网上网址导航推广
  • b2b网站建设案例阿拉善盟seo
  • 怎么快速做网站排名东莞网站推广及优化
  • 遵义做网站公司长治网站seo
  • 企业网站建设服务哪家好百度竞价产品
  • 在哪买网站空间怎么注册自己的网站域名
  • 网站建设时间安排表国家免费技能培训有哪些
  • 苹果手机做网站腾讯体育nba
  • 建站公司兴田德润实惠石家庄手机端seo
  • 重庆开发网站佛山网络排名优化
  • 网站建设】电商培训大概多少学费
  • 如何做商业网站推广网上推广app怎么做
  • 视频上传网站如何做如何进行电子商务网站推广