IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Pulsar 集群部署 -> 正文阅读

[Java知识库]Pulsar 集群部署

部署 Pulsar 集群

部署 JDK 及初始化 Zookeeper 中的元数据

cat >> ~/.bash_profile <<'EOF'
# JDK
export JAVA_HOME=/root/jdk
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
EOF
souece ~/.bash_profile

# Tips:
# Pulsar 安装包包含了搭建集群所需的各个组件库,无需单独下载 ZooKeeper 和 BookKeeper 的安装包
# 生产环境建议将Zookeeper、Pulsar、BookKeeper 分别部署到不同节点 ...
# Download: https://pulsar.apache.org/en/download/
tar -zxf apache-pulsar-2.8.0-bin.tar.gz -C ~
ln -sv apache-pulsar-2.8.0 pulsar

# 配置文件列表 ...
[root@node1 conf]# ll
# -rw-r--r-- 1 root root  2107 Jan 22  2020 bkenv.sh
# -rw-r--r-- 1 root root 30222 Jan 22  2020 bookkeeper.conf
# -rw-r--r-- 1 root root 53756 Jan 22  2020 broker.conf
# -rw-r--r-- 1 root root  2361 Jan 22  2020 client.conf
# -rw-r--r-- 1 root root  2882 Jan 22  2020 discovery.conf
# -rw-r--r-- 1 root root  1503 Jan 22  2020 filesystem_offload_core_site.xml
# -rw-r--r-- 1 root root  5178 Jan 22  2020 functions_log4j2.xml
# drwxr-xr-x 2 root root    66 Aug  5 21:50 functions-logging
# -rw-r--r-- 1 root root 13359 Jan 22  2020 functions_worker.yml
# -rw-r--r-- 1 root root  1740 Jan 22  2020 global_zookeeper.conf
# drwxr-xr-x 2 root root    23 Aug  5 21:50 log4j2-scripts
# -rw-r--r-- 1 root root  5330 Jan 22  2020 log4j2.yaml
# drwxr-xr-x 3 root root    86 Aug  5 21:50 presto
# -rw-r--r-- 1 root root  8314 Jan 22  2020 proxy.conf
# -rw-r--r-- 1 root root  2770 Jan 22  2020 pulsar_env.sh
# -rw-r--r-- 1 root root  1910 Jan 22  2020 pulsar_tools_env.sh
# -rw-r--r-- 1 root root    96 Jan 22  2020 schema_example.conf
# -rw-r--r-- 1 root root 40140 Jan 22  2020 standalone.conf
# -rw-r--r-- 1 root root  4000 Jan 22  2020 websocket.conf
# -rw-r--r-- 1 root root   499 Aug  5 22:03 zookeeper.conf

# -------------------------------------------------------------------------- Zookeeper

# 修改内置的 Zookeeper 配置文件(所有节点均使用相同的配置)
mkdir -p /data/zookeeper/{data,log}
cat > ~/pulsar/conf/zookeeper.conf <<'EOF'
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
clientPort=2181
admin.enableServer=true
admin.serverPort=9990
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
forceSync=yes
sslQuorum=false
portUnification=false
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
metricsProvider.httpPort=8000
metricsProvider.exportJvmInfo=true
EOF

# 创建当前的 Zookeeper 节点 myid
echo 1 > /data/zookeeper/data/myid

# 后台启动
cd ~/pulsar/bin
./pulsar-daemon start zookeeper
# 执行zookeeper客户端连接命令进行验证
./pulsar zookeeper-shell

# 在其中一个 Zookeeper 节点的机器上初始化集群的元数据
./pulsar initialize-cluster-metadata \
--cluster pulsar-cluster \
--zookeeper node1:2181 \
--configuration-store node1:2181 \
--web-service-url http://node1:8080,node2:8080,node3:8080 \
--web-service-url-tls https://node1:8443,node2:8443,node3:8443 \
--broker-service-url pulsar://node1:6650,node2:6650,node3:6650 \
--broker-service-url-tls pulsar+ssl://node1:6651,node2:6651,node3:6651
# 进入Zookeeper的控制台通过 ls / 查看所有节点,当输出有 bookies、ledgers 等节点则说明初始化成功
# ------------------------------------- 参数说明
# cluster: 集群名称
# zookeeper: ZooKeeper集群连接参数,仅提供一个节点即可
# configuration-store: Pulsar 实例的配置存储集群(ZooKeeper)
# web-service-url: 集群Web服务的URL+端口,是标准的DNS名称格式,默认端口8080,不建议修改
# web-service-url-tls: 集群Web提供TLS服务的URL+端口,默认端口8443,不建议修改
# broker-service-url: 集群brokers服务URL,其中的DNS名称和Web服务保持一致,URL使用pulsar替代http/http,默认端口6650,不建议修改
# broker-service-url-tls: 集群brokers提供TLS服务的URL,默认端口6551,不建议修改

部署 Pulsar BooKKeeper

# 在每个需要部署 bookkeeper 的节点,修改 conf/bookkeeper.conf 配置文件,部分关键配置如下:
# https://pulsar.apache.org/docs/zh-CN/reference-configuration/#bookkeeper
vim ~/pulsar/conf/bookkeeper.conf
bookiePort=3181
httpServerPort=8000
prometheusStatsHttpPort=8100
advertisedAddress=192.168.6.1
zkServers=192.168.6.1:2181,192.168.6.2:2181,192.168.6.3:2181
journalDirectories=/data/pulsar/bookkeeper/journal
ledgerDirectories=/data/pulsar/bookkeeper/ledgers

# Tips:
# advertisedAddress: 当前节点主机名或IP
# prometheusStatsHttpPort: 默认是 8000,但在 bookkeeper.conf 中的 httpServerPort 默认也是 8000,会导致端口被占用
# zkServers: 指定Zookeeper集群,用来存放 Bookkeeper 节点的元数据
# journalDirectories: 当前 bookkeeper 节点的 Journal 数据存放路径(可指定多个在不同磁盘创建的路径,实现提高写入性能)
# ledgerDirectories: 当前 bookkeeper 节点的 ledger 存放目录

mkdir -p /data/pulsar/bookkeeper/{journal,ledgers}

# 执行初始化元数据命令,若出现提示则输入 Y 继续(该步骤只需在1个bookie节点执行1次)
./bookkeeper shell metaformat

# 在所有相关节点执行如下命令在后台启动 bookie
./pulsar-daemon start bookie
# 验证是否启动成功 (出现: Bookie sanity test succeeded 则代表启动成功)
./bookkeeper shell bookiesanity

部署 Pulsar Broker


# 在每个需要部署 Broker 的节点,修改 conf/broker.conf 配置文件,部分关键配置如下:
vim ~/pulsar/conf/broker.conf
clusterName=pulsar-cluster
zookeeperServers=node1:2181,node2:2181,node3:2181
configurationStoreServers=node1:2181,node2:2181,node3:2181
advertisedAddress=node1

# Tips:
# clusterName: 指定pulsar集群名称,需要之前 Zookeeper 初始化时  --cluster 的参数值相同
# advertisedAddress: 当前节点主机名或IP
# zookeeperServers: 指定Zookeeper集群,用来存放 broker 节点的元数据
# configurationStoreServers: 多集群部署时管理多个pulsar集群元数据的Zookeeper集群地址

# 在所有相关节点执行如下命令在后台启动 broker
./pulsar-daemon start broker

# 查看集群 brokers 节点情况
./pulsar-admin brokers list pulsar-cluster

# 若集群部署正常的话会显示如下结果:
# Tips: 代表此时集群内有存活的节点: IP1、IP2、IP3,端口号都是8080。到这一步,Pulsar的部署就完成了
# "node3:8080"
# "node1:8080"
# "node2:8080"

# -------------------------------------------------------------------------- *.conf

bookkeeper.conf	    
# BookKeeper 是个复制的日志存储系统,Pulsar 使用它来持久化存储所有消息

broker.conf	        
# 负责处理来自生产者的传入消息,将消息分发给使用者,在集群之间复制数据等等

client.conf        
# pulsar-client CLI 工具可用于将消息发布到Pulsar并消费来自Pulsar主题的消息,可使用此工具代替客户端库

discovery.conf	    
# Service discovery 配置文件,连接到 Broker 的客户端需要能够使用单个URL与整个Pulsar实例进行通信,Pulsar提供了内置的服务发现机制

zookeeper.conf	    
# 为内置的 ZooKeeper 进行配置,它为 Pulsar 处理各种与配置和协调相关的基本任务

global_zookeeper.conf	
# 为 configuration store 处理配置。多集群 Pulsar 实例时需单独配置,单集群 Pulsar 实例不需要

proxy.conf	        
# Pulsar 代理配置文件

standalone.conf	    
# 单机版配置文件

websocket.conf	    
# websocket 配置文件

schema_example.conf
# ......

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章           查看所有文章
加:2021-08-06 21:09:49  更:2021-08-06 21:10:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 19:03:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码