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

zk01

mkdir -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

出现集群机器信息表示成功

收尾

配置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/

pulsar集群搭建——生产环境的更多相关文章

  1. 搭建Hadoop集群(生产环境)

    1.搭建之前:百度copy一下介绍 (本博客几乎全都是生产环境的配置..包括mongo等hbase其他) Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层 ...

  2. Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】

    1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2   初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3   初始接管VIP:14 ...

  3. CDH5.2+CM5.2+impala2+Spark1.1 集群搭建基础环境准备

    測试集群简单介绍:一共同拥有4台机器:10.10.244.136.10.10.244.137.10.10.244.138.10.10.244.139. 10.10.244.136是管理节点.另外3台是 ...

  4. hadoop 1.2 集群搭建与环境配置

    一.虚拟机环境 见我的另一篇博客http://www.cnblogs.com/xckk/p/6000881.html, 需要安装JDK环境,centos下安装JDK可参考: http://www.ce ...

  5. ZooKeeper学习笔记一:集群搭建

    作者:Grey 原文地址:ZooKeeper学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.6.3/zookeeperS ...

  6. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  7. Hadoop+HBase 集群搭建

    Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...

  8. Elasticsearch集群搭建及使用Java客户端对数据存储和查询

    本次博文发两块,前部分是怎样搭建一个Elastic集群,后半部分是基于Java对数据进行写入和聚合统计. 一.Elastic集群搭建 1. 环境准备. 该集群环境基于VMware虚拟机.CentOS ...

  9. zookeeper与卡夫卡集群搭建

    首先这片博客没有任何理论性的东西,只是详细说明kafka与zookeeper集群的搭建过程,需要三台linux服务器. java环境变量设置 zookeeper集群搭建 kafka集群搭建 java环 ...

  10. 大数据中Hadoop集群搭建与配置

    前提环境是之前搭建的4台Linux虚拟机,详情参见 Linux集群搭建 该环境对应4台服务器,192.168.1.60.61.62.63,其中60为主机,其余为从机 软件版本选择: Java:JDK1 ...

随机推荐

  1. NOI2014 洛谷P2114 起床困难综合征(位运算)

    呃...这道题算是noi中比较简单的题吧...... 众所周知,位运算是个好东西,它就是对应的位进行运算,跟其他的位没有关系. 我们要选取一个m值使最后的攻击力最大,对于这个m,从高位开始枚举,判断该 ...

  2. BZOJ3732 Network(Kruskal重构树)

    Kruskal重构树的模板题. 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N.图中有M条边 (1 <= M <= 30,000) ,第j条边的长度为: ...

  3. 关于for循环当中发生强制类型转换的问题

    Map map1 = new HashMap(); Map map2 = new HashMap(); Map map3 = new HashMap(); List<Map> list = ...

  4. git中 gitignore 忽略文件操作

    通常,.gitignore文件被放置在存储库的根目录中.根目录也称为父目录和当前工作目录.根文件夹包含组成项目的所有文件和其他文件夹.也就是说,您可以将它放在存储库中的任何文件夹中.你甚至可以有多个. ...

  5. 你真的会使用Typora吗?

    你真的会使用Typora吗? 标题 一级标题:# 空格+内容 二级标题:## 空格+内容 字体 加粗:内容两边各加两个*号 你真美! 斜体:内容两边各加一个*号 你真帅! 删除线:两边各加两个~号(波 ...

  6. 2流高手速成记(之四):SpringBoot整合redis及mongodb

    最近很忙,好不容易才抽出了时间,咱们接上回 上次我们主要讲了如何通过SpringBoot快速集成mybatis/mybatis-plus,以实现业务交互中的数据持久化,而这一切都是基于关系型数据库(S ...

  7. AT24C02

    AT24C02是一款拥有256bytes(32Page)的EEPROM. 一 :特点(部分) 1:双线接口: 2:双向数据传输协议: 3:400KHz波特率: 4:硬件写保护: 5:最大5ms写入同步 ...

  8. LcdTools如何使用PX01进行EDP屏EDID比对及设置显示EDID比对结果

    PX01点EDP屏在上电过程会自动读取屏EDID,那怎么进行EDID比对呢? LcdTools打开点屏工程,在上电时序函数中先用SetCmpEDID()指令设置EDID比对值,再调用CheckEDID ...

  9. .Net Core redis 调用报错 '6000 Redis requests per hour' 解决 6000 此调用限制

    问题描述 redis 是一种基于内存,性能高效的 NoSQL 数据库,性能高主要就体现在数据交互耗时较短,能够段时快速的对用户的请求做出反应,所以在业务比较复杂或交互量需求大时,必然会超过 6000次 ...

  10. 重大发现,AQS加锁机制竟然跟Synchronized有惊人的相似

    在并发多线程的情况下,为了保证数据安全性,一般我们会对数据进行加锁,通常使用Synchronized或者ReentrantLock同步锁.Synchronized是基于JVM实现,而Reentrant ...