pulsar集群搭建
前置条件,需要JDK环境
192.168.1.1 192.168.1.2 192.168.1.3
写入hosts 所有机器都需要执行
$ cat >>/etc/hosts<<EOF 192.168.1.1 pulsar01 zk01 192.168.1.2 pulsar02 zk02 192.168.1.3 pulsar03 zk03
JDK 所有机器都需要执行
下载地址 https://www.oracle.com/java/technologies/downloads/
版本:jdk-8u351-linux-x64.tar.gz$ tar xvfz jdk-8u351-linux-x64.tar.gz $ mv jdk1.8.0_351 /opt/module/jdk1.8.0_351
编辑 ~/.bash_profile 加入环境配置
JAVA_HOME=/opt/module/jdk1.8.0_351 CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME
$ source ~/.bash_profile 生效命令
下载pulsar 所有机器都需要执行
$ wget 'https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-2.10.2/apache-pulsar-2.10.2-bin.tar.gz' -O apache-pulsar-2.10.2-bin.tar.gz $ tar xvfz apache-pulsar-2.10.2-bin.tar.gz $ mv apache-pulsar-2.10.2-bin /opt/module/pulsar-2.10.2
如果上方地址下载不成功,需要手动下载后导入
https://pulsar.apache.org/download/
部署Zookeeper 所有机器都需要执行
zookeeper为pulsar管理各种与协调相关和配置相关的基本任务,而且pulsar安装包里已经集成了zookeeper组件
加入配置到zookeeper配置文件
官方文档里面支持 etcd还有别的组件来替代zookeeper,此文档先用zookeeper配置cat >>/opt/module/pulsar-2.10.2/conf/zookeeper.conf<<EOF server.1=zk01:2185:2186 server.2=zk02:2185:2186 server.3=zk03:2185:2186 EOF
在每个主机上指定节点ID
zk01mkdir -p /opt/module/pulsar-2.10.2/data/zookeeper echo "1" > /opt/module/pulsar-2.10.2/data/zookeeper/myid
zk02
mkdir -p /opt/module/pulsar-2.10.2/data/zookeeper echo "2" > /opt/module/pulsar-2.10.2/data/zookeeper/myid
zk03
mkdir -p /opt/module/pulsar-2.10.2/data/zookeeper echo "3" > /opt/module/pulsar-2.10.2/data/zookeeper/myid
启动zookeeper
/opt/module/pulsar-2.10.2/bin/pulsar-daemon start zookeeper
使用命令查看端口是否正常
net -anp|grep 2181
部署Bookkeeper 所有机器都需要执行
编辑配置文件,找到以下配置项
# Default port for Prometheus metrics exporter advertisedAddress=pulsar01 #56行 这里需要填入本地ip,每台机器都不一样,另外两台机器按实际填入 prometheusStatsHttpPort=8100 #575行 修改成8100,因为8000已经被zookeeper占用 metadataServiceUri=metadata-store:zk:zk01:2181,zk02:2181,zk03:2181 #638行 加入zk地址
初始化元数据
/opt/module/pulsar-2.10.2/bin/bookkeeper shell metaformat
启动 bookkeeper
/opt/module/pulsar-2.10.2/bin/pulsar-daemon start bookie
#出现Y/N: 输入Y即可
测试 bookkeeper
/opt/module/pulsar-2.10.2/bin/bookkeeper shell bookiesanity
出现末尾出现 Bookie sanity test succeeded 算成功
初始化集群数据,在其中一台执行就行
$ bin/pulsar initialize-cluster-metadata \ --cluster pulsar-cluster-qj \ --metadata-store zk:zk01:2181,zk02:2181,zk03:2181 \ --configuration-metadata-store zk:zk01:2181,zk02:2181,zk03:2181 \ --web-service-url http://pulsar01:8080,pulsar02:8080,pulsar03:8080 \ --web-service-url-tls https://pulsar01:8443,pulsar02:8443,pulsar03:8443 \ --broker-service-url pulsar://pulsar01:6650,pulsar02:6650,pulsar03:6650 \ --broker-service-url-tls pulsar+ssl://pulsar01:6651,pulsar02:6651,pulsar03:6651
--cluster集群名字
--metadata-store 元数据存储连接字符串
--configuration-metadata-store 整个实例的配置存储连接字符串
--web* 集群的web服务url
--broker* 集群 允许与集群中的代理进行交互的代理服务URL出现下面这个算成功
配置broker 所有机器都需要执行
clusterName=pulsar-cluster-qj #115行,和初始化的时候填写的一样 metadataStoreUrl=zk:zk01:2181,zk02:2181,zk03:2181 #27行填写zk集群url
启动broker
/opt/module/pulsar-2.10.2/bin/pulsar-daemon start broker
查看状态
/opt/module/pulsar-2.10.2/bin/pulsar-admin brokers list pulsar-cluster-qj
出现集群机器信息表示成功
收尾
标签:opt,bin,zookeeper,module,集群,pulsar,搭建,2.10 From: https://www.cnblogs.com/oncream/p/17022195.html配置pulsar的环境变量,命令操作就方便许多
编辑环境变量文件 vim ~/.bash_profile
添加PULSAR_HOME=/opt/module/pulsar-2.10.2/bin
修改PATH,在末尾加入:$PULSAR_HOME
生效配置文件source ~/.bash_profile
官方使用etcd或者RocksDB替换Zookeeper做为pulsar metadata stroe 文档
https://pulsar.apache.org/docs/next/administration-metadata-store/