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. 【C++】从零开始的CS:GO逆向分析3——写出一个透视

    [C++]从零开始的CS:GO逆向分析3--写出一个透视 本篇内容包括: 1. 透视实现的方法介绍 2. 通过进程名获取进程id和进程句柄 3. 通过进程id获取进程中的模块信息(模块大小,模块地址, ...

  2. abstract关键字的使用

    1.abstract:抽象的 2.abstract可以用来修饰的结构:类.方法 3.abstract修饰类:抽象类 此类不能实例化 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全 ...

  3. 1.MongoDB之服务启动

    1. 编写docker-compose.yaml文件 version: "3" services: mongo: image: mongo:4.2.6 ports: - 27017 ...

  4. 后端框架学习-----mybatis(使用mybatis框架遇到的问题)

    1.配置文件没有注册(解决:在核心配置文件中注册mapper,注册有三种形式.资源路径用斜杆,包和类用点) <mappers> <!--每一个mapper.xml文件都需要在myba ...

  5. 记一个深层的bug

    1. 业务场景 产品需要每隔几天进行一次组件的更新,在自动化测试中,每隔30s检测一次更新源上的某个文件MD5值是否与本地一致,不一致代表有更新的版本,开始更新. 2. 问题出现 一个再平常不过的繁忙 ...

  6. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包

    1.简介 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言.Flut ...

  7. 题解 P4058 [Code+#1]木材

    前言 这什么题啊,不就是个二分答案我从65到100都经历了一遍--(瞬间气哭) \(\sf {Solution}\) 题目理解起来不难的,大意就懒得写了. 一眼二分答案. 此题属于在形如 \(\{0, ...

  8. 关于网页实现串口或者TCP通讯的说明

    概述 最近经常有网页联系我,反馈为什么他按我说的方法,写的HTML代码,无法在chrome网页中运行.这里我统一做一个解释,我发现好多网页并没有理解我的意思. 其实,要实现在HTML中进行串口或者TC ...

  9. flutter 系列之:flutter 中的幽灵offstage

    目录 简介 Offstage详解 Offstage的使用 总结 简介 我们在使用flutter的过程中,有时候需要控制某些组件是否展示,一种方法是将这个组件从render tree中删除,这样这个组件 ...

  10. 「MySQL高级篇」MySQL之MVCC实现原理&&事务隔离级别的实现

    大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我! 引言 MVCC,非常顺口的一个词,翻译起来却不是特别顺口:多版本并发控制. 其中多版本是指什么呢?一条记录的多个版本. 并发控 ...