先下载对应版本解压放置好,注意这里要下载,不要从其他机器同步pulsar目录,生产环境这样做极其危险,因为你无法确保在pulsar目录下是否有原来节点的独有数据,有可能会造成线上事故。即使已经都做了单独目录配置,也不要这么做,不合规。
然后将现有的broker节点的broker.conf同步到新的broker节点,只需要更改advertisedAddress为新机器的内网IP即可,其余配置不需要动。
zookeeperServers=zookeeper-1-ip:2181,zookeeper-2-ip:2181,zookeeper-3-ip:2181
configurationStoreServers=zookeeper-1-ip:2181,zookeeper-2-ip:2181,zookeeper-3-ip:2181
你必须配置集群的名字( 初始化集群元数据 提供的集群名字必须和这个配置项匹配):
clusterName=pulsar-biz-cluster
开启prometheus的所有metrics:
# Enable topic level metrics
exposeTopicLevelMetricsInPrometheus=true
# Enable consumer level metrics. default is false
exposeConsumerLevelMetricsInPrometheus=true
# Enable producer level metrics. default is false
exposeProducerLevelMetricsInPrometheus=true
# Enable managed ledger metrics (aggregated by namespace). default is false
exposeManagedLedgerMetricsInPrometheus=true
# Enable cursor level metrics. default is false
exposeManagedCursorMetricsInPrometheus=true
# Enable expose the precise backlog stats.
# Set false to use published counter and consumed counter to calculate, this would be more efficient but may be inaccurate.
# Default is false.
exposePreciseBacklogInPrometheus=false
如果不设置为本机ip,会使用hostname:
advertisedAddress=要写broker所在机器的ip
#关闭自动创建topic的功能
allowAutoTopicCreation=false
启动新节点的broker:
/app/3rd/apache-pulsar-2.8.0/bin/pulsar-daemon start broker
然后程序修改下broker集群的url地址即可(我们并没有用proxy,够用的前提下为了极致省钱,其实这么做是不对的)。
特别注意:
advertisedAddress一定要配置正确,如果有两台broker配置了相同的ip,那么有一台的broker会有问题,这台broker上的topic将无法正常使用。