轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
apache/bookkeeper
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

bookkeeper Docker 镜像下载 - 轩辕镜像

bookkeeper 镜像详细信息和使用指南

bookkeeper 镜像标签列表和版本信息

bookkeeper 镜像拉取命令和加速下载

bookkeeper 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

bookkeeper
apache/bookkeeper
自动构建

bookkeeper 镜像详细信息

bookkeeper 镜像标签列表

bookkeeper 镜像使用说明

bookkeeper 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Apache Bookkeeper是Apache软件基金会的复制日志服务,用于构建复制状态机,保证副本状态机事件顺序一致。本Docker镜像提供便捷的Bookkeeper运行方式,支持独立和集群部署,依赖Zookeeper,适用于本地测试和集群演示。
5 收藏0 次下载activeapache镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

bookkeeper 镜像详细说明

bookkeeper 使用指南

bookkeeper 配置说明

bookkeeper 官方文档

Apache Bookkeeper Docker镜像文档

镜像概述和主要用途

Apache Bookkeeper是Apache软件基金会的开源项目,提供复制日志服务,用于构建复制状态机。日志包含一系列事件,可应用于状态机,Bookkeeper保证每个副本状态机按相同顺序接收所有事件。本Docker镜像提供便捷的Bookkeeper运行环境,支持独立模式和集群模式部署,依赖Zookeeper进行状态存储和Bookie(Bookkeeper服务器)节点发现,适用于本地开发、测试及集群功能演示。

核心功能和特性

  • 可靠复制日志:提供高可用的复制日志服务,确保分布式系统中各副本状态机数据一致性
  • 多部署模式:支持单容器独立运行和多容器集群部署
  • Zookeeper集成:依赖Zookeeper存储元数据和实现Bookie节点自动发现
  • 灵活配置:支持通过环境变量或挂载配置文件自定义Bookkeeper参数
  • 可扩展性:支持动态扩展Bookie节点数量和客户端应用(如dice)实例

使用场景和适用范围

  • 本地开发测试:快速搭建Bookkeeper环境验证基本功能
  • 集群演示:展示Bookkeeper集群的部署、扩展及故障转移能力
  • 分布式系统原型:作为底层复制日志服务构建分布式应用原型

使用方法和配置说明

独立BookKeeper集群

可在单个容器中运行独立BookKeeper集群,模拟本地部署:

docker run -it \
     --entrypoint "/bin/bash" \
     apache/bookkeeper \
     -c "/opt/bookkeeper/bin/bookkeeper localbookie 3"

也可先启动容器,再在容器内执行bin/bookkeeper localbookie 3

测试集群:需先进入容器,执行BookKeeper shell命令:

# 进入容器
docker exec -it <容器ID或名称> bash

# 测试命令示例
./bin/bookkeeper shell listbookies -rw
./bin/bookkeeper shell simpletest

TL;DR — BookKeeper集群

Docker Compose

通过docker-compose快速部署完整集群:

git clone [***]
cd bookkeeper/docker
docker-compose up -d

默认启动3个Bookie节点和1个dice应用,日志示例:

bookie1_1    | 2017-12-08 23:18:11,315 - INFO  - [bookie-io-1:BookieRequestHandler@51] - Channel connected  [id: 0x405d690e, L:/172.19.0.3:3181 - R:/172.19.0.6:34922]
bookie2_1    | 2017-12-08 23:18:11,326 - INFO  - [bookie-io-1:BookieRequestHandler@51] - Channel connected  [id: 0x7fa8645d, L:/172.19.0.4:3181 - R:/172.19.0.6:38862]
dice_1       | Value = 1, epoch = 5, leading

扩展dice应用数量:

docker-compose up -d --scale dice=3

扩展Bookie节点数量:

docker-compose up -d --scale bookie1=3

关闭集群(清理容器避免残留数据影响下次启动):

docker-compose down

Makefile

通过Makefile部署集群:

git clone [***]
cd bookkeeper/docker
make run-demo

无X环境(如默认MacOS)需在6个终端分别执行:

make run-zk
make run-bk BOOKIE=1
make run-bk BOOKIE=2
make run-bk BOOKIE=3
make run-dice
make run-dice

重启集群前需清理数据:sudo rm -rf /tmp/test_bk,避免Zookeeper连接失败

分步部署

1. 创建Docker网络

创建专用网络确保容器间名称解析一致性:

docker network create "bk_network"

2. 启动Zookeeper

使用官方Zookeeper镜像在创建的网络中启动Zookeeper:

docker run -d \
    --network "bk_network" \
    --name "test_zookeeper" \
    --hostname "test_zookeeper" \
    zookeeper

3. 初始化元数据存储

首次部署集群需初始化元数据(当前BookKeeper镜像启动首个Bookie时会自动执行此步骤):

docker run -it --rm \
    --network "bk_network" \
    --env BK_zkServers=test_zookeeper:2181 \
    apache/bookkeeper \
    /opt/bookkeeper/bin/bookkeeper shell metaformat

4. 启动Bookie节点

启动3个Bookie节点组成集群:

# 启动bookie1
docker run -it\
    --network "bk_network" \
    --env BK_zkServers=test_zookeeper:2181 \
    --name "bookie1" \
    --hostname "bookie1" \
    apache/bookkeeper

# 同理启动bookie2和bookie3,只需修改--name和--hostname

5. 运行客户端应用

使用dice应用测试集群(验证 leader 选举和日志写入):

docker run -it --rm \
    --network "bk_network" \
    --env ZOOKEEPER_SERVERS=test_zookeeper:2181 \
    caiok/bookkeeper-tutorial

配置说明

配置方式

Bookkeeper支持两种配置方式,优先级从高到低为:

  1. 环境变量:格式为BK_<原配置键>,如BK_zkServers对应配置文件中的zkServers
  2. 挂载配置文件:将本地配置目录挂载到容器/opt/bookkeeper/conf目录

配置示例(混合使用两种方式):

docker run --name bookie1 -d \
    -v $(local_configure_dir):/opt/bookkeeper/conf/ \  # 挂载配置文件
    -e BK_bookiePort=3181 \                           # 环境变量设置端口
    -e BK_zkServers=zk-server1:2181,zk-server2:2181 \ # 环境变量设置Zookeeper地址
    -e BK_journalPreAllocSizeMB=32 \                  # 环境变量设置日志预分配大小
    apache/bookkeeper

配置覆盖规则

环境变量值会覆盖挂载配置文件中的对应值。例如:

  • 挂载的bk_server.conf中设置zkServers=zk-server3:2181
  • 同时通过-e BK_zkServers=zk-server1:2181,zk-server2:2181设置环境变量
  • 最终生效值为环境变量指定的zk-server1:2181,zk-server2:2181

常用环境变量

环境变量说明默认值
BK_bookiePortBookie监听端口3181
BK_zkServersZookeeper集群地址列表,格式host:port,host:port127.0.0.1:2181
BK_zkLedgersRootPathZookeeper中账本元数据根路径/bookkeeper/ledgers
BK_CLUSTER_ROOT_PATHZookeeper集群根路径空(账本路径为/ledgers)
BK_DATA_DIR数据存储根目录,包含journal、ledgers、index子目录/data/bookkeeper

配置文件说明

容器内配置文件位于/opt/bookkeeper/conf,源自Bookkeeper源码仓库的conf目录,主要文件包括:

  • bk_server.conf:核心服务配置
  • bkenv.sh:环境变量配置
  • log4j2.xml:服务日志配置
  • log4j2.shell.xml:shell命令日志配置

建议修改前先熟悉各文件功能及默认配置。

注意事项

  • 事务日志存储:journal目录应使用专用存储设备以保证性能,避免与其他IO密集型操作共享磁盘
  • 数据清理:如需重置Bookie节点,可执行以下命令(替换默认启动命令):
    # 清理cookie并格式化
    /opt/bookkeeper/bin/bookkeeper shell bookieformat -nonInteractive -force -deleteCookie
    # 启动自动恢复
    /opt/bookkeeper/bin/bookkeeper autorecovery
    

许可信息

镜像中软件的许可信息参见Apache Bookkeeper LICENSE。

查看更多 bookkeeper 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.