BookKeeper 介绍(2)--安装

且行且码 2024-06-17 08:09:00 阅读 83

本文主要介绍 Bookkeeper 的安装,文中所使用到的软件版本:Java 1.8.0_321、BookKeeper 4.16.5、CentOS7.9.2009。

1、单机安装

官网(https://bookkeeper.apache.org/releases)下载安装包并解压:

tar zxvf bookkeeper-server-4.16.5-bin.tar.gz

在单台机器上允许多个 bookies:

bin/bookkeeper localbookie 10

2、集群安装

假设在 10.49.196.30、10.49.196.31、10.49.196.32 上部署 Bookkeeper。

2.1、Zookeeper 安装

可以使用独立的 Zookeeper,安装方式可参考:Zookeeper入门实战(1)-概念、安装及命令行;这里使用 Bookkeep 自带的 Zookeeper,修改配置启动即可。

A、修改 conf/zookeeper.conf

#注释掉如下行

#dynamicConfigFile=conf/zookeeper.conf.dynamic

#新增如下内容

server.1=10.49.196.30:2888:3888

server.2=10.49.196.31:2888:3888

server.3=10.49.196.32:2888:3888

#关闭 AdminServer

admin.enableServer=false

B、启动 Zookeeper

在三台机器上运行:

bin/bookkeeper-daemon.sh start zookeeper

2.2、元数据设置

A、修改 conf/bk_server.conf

该文件是 bookie 的配置文件,主要需要修改metadataServiceUri 参数,其他可根据需要修改。

metadataServiceUri=zk+hierarchical://10.49.196.30:2181;10.49.196.31:2181;10.49.196.32:2181/ledgers

B、元数据设置

在任一机器上运行(只需运行一次):

bookkeeper-server/bin/bookkeeper shell metaformat

2.3、启动 bookies

bin/bookkeeper-daemon.sh start bookie

2.4、关闭集群

bin/bookkeeper-daemon.sh stop bookie #关闭 bookie

bin/bookkeeper-daemon.sh stop zookeeper #关闭 zookeeper

3、bookkeepeer 命令

bookkeeper 命令可以用来在前台启动服务(bookkeeper-daemon.sh 是在后台启动服务)、在单台机器运行多个 bookies、运行管理命令等。查看用法:

bin/bookkeeper help

输出:

Usage: bookkeeper <command>

where command is one of:

[service commands]

bookie Run a bookie server

autorecovery Run AutoRecovery service

zookeeper Run zookeeper server

[development commands]

localbookie <n> Run a test ensemble of <n> bookies locally

standalone Run a standalone cluster (with all service components) locally

[tooling commands]

upgrade Upgrade bookie filesystem

shell Run shell for admin commands

[other commands]

help This help message

bin/bookkeeper shell 运行管理命令,查看使用方法:

bin/bookkeeper shell help

如查看 bookie 的相关信息:

bin/bookkeeper shell bookieinfo

4、bookkeepeer 配置

可以在 conf/bk_server.conf 配置文件中修改配置,以调整 BookKeeper 的性能和行为。下面介绍一些常用参数配置。

4.1、Server parameters

参数 说明 默认值
bookiePort bookie 端口 3181
listeningInterface bookie 监听的网卡,不设置将监听所有网卡
advertisedAddress 设置 bookie IP 地址或主机名
useHostNameAsBookieID bookie 注册到 zookeeper 时是否使用主机名;如为 false,注册时将使用 IP 地址 false

4.2、Http server settings

参数 说明 默认值
httpServerEnabled 是否启用 HTTP 服务 false
httpServerPort HTTP 服务端口 8080
httpServerHost HTTP 服务地址 0.0.0.0

4.3、Journal settings

参数 说明 默认值
journalDirectories Bookkeeper 预写日志目录;可以设置多个,用英文逗号分隔 /tmp/bk-journal
journalDirectory 自 4.5.0 过期,使用journalDirectories 代替 /tmp/bk-txn
journalMaxSizeMB journal 日志文件的最大大小,单位为 MB 2048
journalMaxBackups journal 文件的最大个数 5
journalQueueSize journal 队列大小 10000

4.4、Ledger storage settings

参数 说明 默认值
ledgerDirectories ledger 数据保存目录 /tmp/bk-data
indexDirectories ledger 索引文件保存目录,如不设置使用ledgerDirectories 参数的值 /tmp/bk-data

4.5、Default Entry log settings

参数 说明 默认值
logSizeLimit entry 日志文件的最大大小,单位为字节 2147483648
readBufferSizeBytes 读缓存通道大小,单位为字节 512
writeBufferSizeBytes 写缓存通道大小,单位为字节 65536

4.6、Metadata Service Settings

参数 说明 默认值
metadataServiceUri 元数据服务的 zookeeper 地址 zk+hierarchical://localhost:2181/ledgers

4.7、Statistics

参数 说明 默认值
enableStatistics 是否启用统计功能 false
statsProviderClass

提供统计信息的类

Prometheus : org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider

Codahale : org.apache.bookkeeper.stats.codahale.CodahaleMetricsProvider

org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
limitStatsLogging

是否限制统计功能打印日志

false

4.8、Prometheus Metrics Provider Settings

参数 说明 默认值
prometheusStatsHttpAddress Prometheus 统计程序 HTTP 地址 0.0.0.0
prometheusStatsHttpPort Prometheus 统计程序 HTTP 端口 8000
prometheusStatsLatencyRolloverSeconds 获取统计信息的时间间隔,单位为秒 60

参考:

https://bookkeeper.apache.org/docs/overview/


上一篇: C语言——文件操作

下一篇: protobuf

本文标签

存储   


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。