Docker中安装和配置Apache Pulsar

Docker部署pulsar独立集群消息队列服务器 2、生成Pulsar容器,把容器的6650和8080端口映射到宿主机的6650和8080端口,standalone参数表示pulsar为独立集群模式,把容器中的conf目录映射到宿主机的/var/lib/docker/volumes/pulsarconf,把容器中的data目录映射到宿主机的/var/lib/docker/volumes/pulsardata。8.2、进入刚刚新建的环境,可以看到有以下几个概念: 租户、命名空间、订阅主题、角色。=, 填写外网能访问的URL地址,注意端口一定要正确。 阅读详情
AI摘要

本文介绍在Docker中安装和配置Apache Pulsar的详细步骤。包括安装Docker和Docker Compose、拉取Pulsar镜像、创建Docker Compose文件、启动和验证集群、访问Web UI、使用命令行客户端测试、配置多节点集群和客户端连接,还提及清理和停止集群的方法,适合开发和测试环境。

1. 安装Docker和Docker Compose

确保您的系统中已安装Docker和Docker Compose。如果还没有安装,可以参考以下链接进行安装:

2. 拉取Pulsar镜像

Pulsar的官方Docker镜像可以通过Docker Hub获取。首先,拉取最新的Pulsar镜像:

docker pull apache/pulsar

3. 创建Pulsar的Docker Compose文件

为了更容易管理和启动多个服务,建议使用Docker Compose。创建一个名为 docker-compose.yml 的文件,内容如下:

version: '3'  # 使用的Docker Compose版本

services:
  # Pulsar 服务定义,负责消息传递的主要工作
  pulsar:
    image: apache/pulsar  # 使用官方的Pulsar镜像
    environment:
      # 配置JVM内存大小
      - PULSAR_MEM="-Xms2g -Xmx2g"  # 设置Pulsar的堆内存大小
      # 设置Pulsar的租户和集群名称
      - PULSAR_TENANT=public  # 设置默认的租户
      - PULSAR_CLUSTER=standalone  # 设置集群名称为"standalone"
      # 配置Zookeeper服务的地址,Pulsar依赖Zookeeper来管理集群元数据
      - PULSAR_ZOOKEEPER_SERVERS=zookeeper:2181  # 指定Zookeeper的服务地址
      # 配置Pulsar的客户端、HTTP、管理服务端口
      - PULSAR_BROKER_SERVICE_PORT=6650  # Pulsar的客户端服务端口
      - PULSAR_HTTP_SERVICE_PORT=8080  # Pulsar的HTTP接口服务端口(用于Web UI)
      - PULSAR_MANAGEMENT_SERVICE_PORT=8090  # Pulsar的管理接口服务端口
    ports:
      # 绑定本地端口到容器端口
      - "6650:6650"  # 映射Pulsar客户端连接端口
      - "8080:8080"  # 映射Web UI端口(用于访问Pulsar Dashboard)
      - "8090:8090"  # 映射管理接口端口
    depends_on:
      # Pulsar依赖于Zookeeper和Bookkeeper服务启动
      - zookeeper
      - bookkeeper
    command: >
      bin/pulsar standalone  # 启动Pulsar的standalone模式(适合单机部署)
    networks:
      - pulsar-net  # 使用名为pulsar-net的网络

  # Zookeeper 服务定义,Pulsar集群的协调服务
  zookeeper:
    image: wurstmeister/zookeeper  # 使用Wurstmeister提供的Zookeeper镜像
    environment:
      - ZOOKEEPER_CLIENT_PORT=2181  # Zookeeper的客户端连接端口
    ports:
      - "2181:2181"  # 映射Zookeeper客户端连接端口
    networks:
      - pulsar-net  # 同样使用pulsar-net网络,以便服务之间通信

  # Bookkeeper 服务定义,Pulsar的持久化存储
  bookkeeper:
    image: apache/pulsar  # 使用Pulsar官方镜像,因为Bookkeeper是Pulsar的一部分
    environment:
      - PULSAR_MEM="-Xms2g -Xmx2g"  # 设置Bookkeeper的JVM内存大小
      - PULSAR_ZOOKEEPER_SERVERS=zookeeper:2181  # 配置Zookeeper地址(Bookkeeper也需要Zookeeper来协调)
      - PULSAR_METRICS_PROVIDER=org.apache.pulsar.broker.PulsarMetricsProvider  # 配置性能度量提供者
    depends_on:
      # Bookkeeper依赖于Zookeeper服务启动
      - zookeeper
    networks:
      - pulsar-net  # 同样使用pulsar-net网络

# 定义网络
networks:
  pulsar-net:
    driver: bridge  # 使用桥接网络驱动程序,确保容器能够相互通信

这个docker-compose.yml文件定义了三个服务:

  • Pulsar: 作为Pulsar broker,提供消息服务。
  • Zookeeper: 用于协调Pulsar集群的元数据和状态。
  • Bookkeeper: 用于持久化消息。
注释解释:
  1. version: '3':

    • 指定了Docker Compose的版本。这是Compose文件的标准格式版本,通常与Docker引擎的版本兼容。
  2. services::

    • 定义了一个或多个服务,每个服务都是一个Docker容器。在这个配置中,我们定义了三个主要服务:pulsar、zookeeper和bookkeeper。
  3. pulsar服务:

    • image: apache/pulsar: 使用官方的Pulsar镜像。
    • environment:: 设置环境变量来配置Pulsar容器。包括内存大小、集群名称、Zookeeper地址、端口等。
    • ports:: 将Pulsar的容器端口映射到主机的端口上。6650用于客户端连接,8080用于Web UI,8090用于管理服务。
    • depends_on:: 定义Pulsar服务依赖于zookeeper和bookkeeper服务启动,确保这些服务在Pulsar启动前已经运行。
    • command:: 指定启动容器时的命令,这里使用bin/pulsar standalone来启动Pulsar的单机模式。
  4. zookeeper服务:

    • image: wurstmeister/zookeeper: 使用wurstmeister/zookeeper镜像,这个镜像提供了一个Zookeeper容器实例。
    • ports:: 将Zookeeper的端口2181暴露到主机上,Pulsar会通过该端口与Zookeeper进行通信。
  5. bookkeeper服务:

    • image: apache/pulsar: Bookkeeper与Pulsar共享同一个镜像,因为它是Pulsar的一部分。
    • depends_on:: Bookkeeper依赖Zookeeper服务,因此必须在Zookeeper启动之后再启动。
  6. networks::

    • 定义了一个名为pulsar-net的网络,确保所有的服务能够在同一网络下相互通信。此网络使用bridge驱动,它是Docker的默认网络驱动。
运行时步骤:
  • 使用 docker-compose up -d 启动服务。
  • 使用 docker-compose ps 检查容器状态。
  • 使用浏览器访问 http://localhost:8080,进入Pulsar的Web UI。

4. 启动Pulsar集群

在docker-compose.yml文件所在的目录中执行以下命令启动Pulsar集群:

docker-compose up -d

这个命令会拉取镜像并启动Pulsar、Zookeeper和Bookkeeper服务。

5. 验证Pulsar集群是否正常运行

您可以通过以下命令检查Docker容器的运行状态:

docker-compose ps

如果所有容器的状态是“Up”,则表示服务已经成功启动。

6. 访问Pulsar Web UI(可选)

Pulsar提供了一个Web UI界面,可以用于管理和查看集群状态。您可以通过访问 http://localhost:8080 来查看Pulsar的Web控制台。

7. 使用Pulsar命令行客户端进行测试

您可以使用Pulsar提供的命令行工具测试集群是否正常工作。首先进入Pulsar容器:

docker exec -it <pulsar_container_id> bash

然后,您可以使用pulsar-client命令来发送和接收消息。例如,发送一个简单的消息:

bin/pulsar-client produce my-topic --messages "Hello Pulsar"

接收消息:

bin/pulsar-client consume my-topic -n 1

8. 配置多节点Pulsar集群

对于生产环境,您可能需要配置多节点Pulsar集群。在此情况下,您需要:

  • 部署多个Pulsar、Zookeeper和Bookkeeper实例。
  • 配置Pulsar的集群和分区设置,以确保高可用性和扩展性。

对于多节点集群配置,您需要在docker-compose.yml中配置不同的节点,并设置正确的环境变量。也可以在多个主机上部署容器实例。

9. 配置Pulsar客户端连接

在客户端应用中,您需要使用Pulsar的客户端连接到您的Pulsar集群。以下是C#客户端代码示例,使用Apache Pulsar C#客户端库:

using Pulsar.Client;

class Program
{
    static async Task Main(string[] args)
    {
        var client = await PulsarClient.CreateAsync(new ClientConfiguration
        {
            ServiceUrl = "pulsar://localhost:6650"
        });

        var producer = await client.NewProducer()
            .Topic("my-topic")
            .CreateAsync();

        await producer.SendAsync(Encoding.UTF8.GetBytes("Hello Pulsar"));

        var consumer = await client.NewConsumer()
            .Topic("my-topic")
            .SubscriptionName("my-subscription")
            .SubscribeAsync();

        var message = await consumer.ReceiveAsync();
        Console.WriteLine(Encoding.UTF8.GetString(message.Data));

        await client.CloseAsync();
    }
}

10. 清理和停止Pulsar集群

如果您需要停止并清理Pulsar集群,可以运行:

docker-compose down

总结

使用Docker部署Pulsar集群非常适合开发和测试环境。通过上述步骤,您可以快速搭建一个单节点或多节点的Pulsar集群,并使用Web UI、命令行客户端或编程接口进行消息传递。

apache pulsar 安装最新版本, docker安装pulsar4.0.0 北极星mq安装 如果上述脚本没用启动成功,则去两个容器查看错误进行解决!可能为容器没用启动成功,或者容器映射没有设置权限等!docker exec -it xxx你的imageId /bin/bash。在/opt/pulsar/init.sh 将下方命令复制,并运行。我在虚拟机创建的,虚拟机ip为51,修改为你的地址进入登录页面。3.1 根据官网推荐命令,再次自定义。4. 安装pulsar-manager。2.2 版本3.3.2。 阅读详情

相关推荐

Docker:安装Apache Pulsar 消息队列的详细指南

本文详细介绍了Apache Pulsar的Docker化安装部署方法,包括单节点Pulsar服务和管理界面Pulsar Manager的安装配置。通过Docker命令快速搭建Pulsar环境,并演示了租户和命名空间的基础管理操作。同时提供了Spring Boot项目与Pulsar集成的完整方案,从依赖配置到客户端初始化,为开发人员构建实时消息系统提供实用参考。

木头 2209

Pulsar快速上手

本课程系统讲解Apache Pulsar,从原理到使用最后到开发整个学习过程教学内容:Pulsar原理,包括:背景、工作原理、订阅模式;Pulsar使用方式,包括:3种使用方式(图形界面/命令行/SDK);Pulsar客户端开发:包括:独占Exclusive,灾备Failover,共享Shared,多主题Multiple-Topic教学目标:让学员可以快速掌握Pulsar,并能在生产环境使用

Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

一、前言: 现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ、Redis、Zookeeper,这些中间件在部署的时候一般都是以主从架构或者集群的架构来部署,公司一般都会在开发环境、测试环境和生产环境各部署一套。 当我们开发的时候,一般就会连着开发环境。但是呢,一般公司的开发环境都只能在内网使用,当我们回家了,除非公司提供有 VPN,不然就没办法使用了。有时候我们是有VPN了,但是开发起来还是很不方便。例如我们现在的 MQ 中间件使用的是 Pulsar,但是 Pulsar 的 tenant 和 namespace 都是不能自动创建的,所以平时开发起来非常的不方便,只能每次需要时都找一

0202 - Apache Pulsar快速上手-在Docker下安装

需要视频教程,详见https://edu.youkuaiyun.com/course/detail/24993/287978 1. 下载镜像文件 docker hub地址 https://hub.docker.com/r/apachepulsar/pulsar-standalone 官方推荐 docker pull apachepulsar/pulsar-standalone pulsar本身镜像文件...

MrRongCodeLife的博客 2849

VSCode里玩转AvaloniaUI:手把手教你搭建跨平台桌面应用开发环境(附.NET 7配置避坑)

本文详细介绍了如何在VSCode中搭建AvaloniaUI跨平台桌面应用开发环境,包括.NET 7配置避坑指南。从环境准备、项目创建到调试优化,手把手教你利用VSCode和Avalonia实现高效开发,特别解决了.NET 7依赖等常见问题,助力开发者快速上手跨平台应用开发。

weixin_28826545的博客 576

OKCC呼叫中心部署实战指南:从零搭建高效外呼系统

本文提供OKCC呼叫中心系统的完整部署实战指南,从服务器选型、操作系统准备到详细安装步骤和性能优化,帮助企业从零搭建高效外呼系统。重点介绍FreeSWITCH核心组件的安装配置技巧,以及常见问题排查方法,助力企业提升客户服务效率。

weixin_29275257的博客 162

Apache Pulsar Pulsar Manager 部署实战:Docker 安装、PostgreSQL 定制与 JWT 认证配置

> 本文基于仓库文档 [administration-pulsar-manager.md](https://link.gitcode.com/i/c2d649516465f84dd4f53e0036f29837) 编写,并结合仓库内 Helm 部署、Token 认证管理等配套文档与 `conf/broker.conf` 配置进行源码级佐证。Pulsar Manager 是 Apache Pulsa

gitblog_00137的博客 376

【测绘程序设计】——潮汐调和分析

最小二乘潮汐调和分析源码、使用示例及数据

C_xxy's blog 2652

Pulsar Express 使用教程

Pulsar Express 使用教程 1. 项目介绍 Pulsar Express 是一个简单易用的 Web 界面,专为 Apache Pulsar 设计。它提供了一个直观的用户界面,帮助用户管理和监控 Pulsar 集群。Pulsar Express 支持多种部署方式,包括本地运行、Docker 容器运行以及通过 npm 安装。 2. 项目快速启动 2.1 通过 Docker 运行 docke...

gitblog_00055的博客 749

【突变检验方法一】MATLAB实现Pettitt突变检验

MATLAB实现Pettitt突变检验及贝叶斯突变检测等

WW、forever的博客 1万+

【从零开始学习 SystemVerilog】1.1、SystemVerilog 概述

【从零开始学习 SystemVerilog】1.1、SystemVerilog 概述

努力,加油每一天鸭~ 1036

apache Pulsar安装

官网地址:http://pulsar.apache.org/zh-CN/ 安装方式有两种: 下载安装包安装 http://pulsar.apache.org/docs/zh-CN/standalone/ docker安装 (简单快捷) 虚拟机内存尽量调大点,不然会遇到OOM问题 # 拉取目前最新的版本2.8.0 docker run -it -d \ -p 6650:6650 \ -p 8080:8080 \ --mount source=pulsardata,target=/p.

kylin5221的博客 1461

数字图像处理:直方图匹配或规定化Histogram Matching (Specification)原理及感悟

本文介绍了连续图像和数字图像直方图匹配(直方图规定化)的原理、处理过程,并提供了案例进行了讲解。可以看到,直方图均衡处理是直方图匹配的一个重要桥梁。 最后,对于直方图规定化这个翻译个人觉得很low,个人感觉叫指定直方图更好理解,但Histogram Specification怎么翻译确实不太好把握,因此还是叫Histogram Matching直方图匹配最好。

老猿Python 2877

二进制和docker两种方式部署Apache pulsar(standalone)

二进制和docker两种方式部署Apache pulsar(standalone)

虽非技冠群英首,愿与同道共长歌; 大鹏一日同风起,扶摇直上九万里; 1344

基于特征模仿的YOLOv5中间层知识蒸馏:原理、实现与实验全解析

目标检测中的模型轻量化是一个关键挑战。本文提出一种基于特征模仿(Feature Imitation)的YOLOv5中间层知识蒸馏方法,通过让学生模型学习教师模型的中间层特征表示,显著提升轻量级检测器的性能。我们将详细阐述蒸馏损失函数的设计、特征对齐策略、训练流程,并提供完整可运行的代码实现。同时,推荐多个适合蒸馏训练的数据集,并通过实验验证方法的有效性。

YOLO 185

【异常】Claude Code CLI 模型调用异常 There‘s an issue with the selected model (claude-sonnet-4-6). It may not

摘要: Claude Code CLI v2.1.45版本存在适配缺陷,导致调用claude-sonnet-4-6模型时触发"模型不存在"的误报错误(跨Windows/Linux平台)。该问题为版本回归类异常,非模型或账户权限问题。解决方案包括:1) 校验模型名称格式为claude-sonnet-4-6;2) 降级至v2.1.34或等待官方修复;3) 检查API配置有效性;4) 通过CLI交互界面手动选择模型;5) 临时切换同系列可用模型。官方已确认该bug并将发布修复版本。

奶爸的编程之路,也就一周冷个三天 6373

Apache Pulsar-Docker安装

Docker安装 Step 1 docker 安装 apachepulsar/pulsar-all docker run --name pulsar -dit -p 8080:8080 -p 6650:6650 apachepulsar/pulsar-all bin/pulsar standalone   Step 2 docker 安装 apachepulsar/pulsar-das...

pgig的专栏 6659

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Pulsar Express:Apache Pulsar的简易Web界面

Pulsar Express:Apache Pulsar的简易Web界面 项目介绍 Pulsar Express 是一个为Apache Pulsar设计的简易Web界面,旨在帮助用户更轻松地管理和监控Pulsar集群。无论你是Pulsar的初学者还是经验丰富的开发者,Pulsar Express 都能为你提供一个直观且功能丰富的界面,让你能够快速上手并高效地管理Pulsar集群。 项目技术分析 P...

gitblog_00267的博客 841

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

如何使用 Apache Flume 发送日志数据至 Apache Pulsar

Apache Flume 是一个分布式的、可靠易用的系统,可以有效地收集和汇总来自多种源系统的大量日志数据,或转移这些数据至一个数据中心存储。 Apache Pulsar 是 Yahoo 基于 Apache BookKeeper 开发和开源的下一代分布式消息系统。Apache Pulsar 已经从下一代分布式消息系统演化成为一个流原生数据平台。 本文主要介绍使用 Flume 实现日志搜集,并发送日...

Apache Pulsar 1330

pulsar 单节点,docker的安装

Pulsar个人学习手册 1,Pulsar的安装 pulsar的安装有三种方式 本地模式 Docker模式 Kubernetes模式 1,本地安装 1,前提准备 64位的 Linux,Windows,macOS 64位的1.8或以上的java环境 Pulsar 默认需要2G大小的堆内存来启动。当然可以在 conf/pulsar_env.sh 文件里更改 Pulsar 中 Broker 组件只支持64位 JVM 2,下载软件包 Pulsar下载地址 3,启动Pulsar 前台运行

weixin_44776246的博客 1879

Apache Pulsar 快速上手教程:用 Cassandra Sink 连接器零代码将数据写入 Cassandra

本教程基于 Apache Pulsar 的 Pulsar IO 框架,带你完整体验一条"无需编写一行代码即可将数据从 Pulsar 迁出到外部系统"的实战链路:从下载二进制发行版、安装内置连接器、以 standalone 模式启动 Pulsar,到通过 Docker 拉起单节点 Cassandra、创建 keyspace 与表,最后使用 `pulsar-admin` CLI 提交并验证一个 Cas

gitblog_00237的博客 444

Apache Pulsar 连接 Apache Cassandra 实战:零代码 Pulsar IO Sink 快速入门指南

本指南以 Apache Pulsar 的 IO 框架为主线,通过完整实操演示如何在不编写一行业务代码的前提下,将 Pulsar 集群中的消息实时写入 Apache Cassandra 数据库。你将掌握 Pulsar 二进制发行包与内置连接器(Builtin Connectors)的安装、Standalone 模式的启动与健康检查,以及使用 `pulsar-admin` CLI 创建、查看、验证和删

gitblog_01002的博客 263

Apache Pulsar C++ 客户端完整指南:安装、构建、连接与生产消费实战

本文聚焦 Apache Pulsar 官方 C++ 客户端库(`libpulsar`),完整覆盖在 Linux 与 macOS 上通过预编译包或源码构建的方式安装客户端、理解 `pulsar://` 与 `pulsar+ssl://` 协议 URL 的连接规则,以及基于 `Client`、`Consumer`、`Producer` 三大核心类编写消息生产、消费与 TLS 认证程序的实战方法。文中所

gitblog_00572的博客 715

Apache Pulsar 单机 Standalone 模式实战:本地快速搭建、验证与客户端接入指南

本文基于 Apache Pulsar 官方文档《Setting up a local standalone cluster》展开,带你完整掌握 Pulsar 单机(Standalone)模式的本地部署:从下载二进制发行包、解压目录结构、可选安装内置连接器与分层存储 Offloader,到启动集群、验证消息收发,直至用 Java/Python/C++ 客户端代码接入本地集群;并结合当前仓库源码(启动

gitblog_00629的博客 483

docker run -it 如何退出_Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法_docker

这篇文章主要介绍了Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下一、前言:现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ、Redis、Zookeeper,这些中间件在部署的时候一般都是以主从架构或者集群的架构来部署,公司一般都会在开发环境、测试环境和生产环境...

weixin_39712821的博客 361

号称下一代消息中间件!来看看它有多牛逼

点击关注公众号,回复“1024”获取2TB学习资源!最近这个 Apache Pulsar 消息中间件非常的火,号称下一代消息中件,今天,就一起来看看它到底有多牛逼?概述Apache Pul...

民工哥的博客 1303
上一篇: Windows环境部署Apache Pulsar
下一篇: HTML5实现一个白板
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值