BookKeeper 介紹(2)--安裝

且行且码發表於2024-06-16

本文主要介紹 Bookkeeper 的安裝,文中所使用到的軟體版本:Java 1.8.0_321、BookKeeper 4.16.5、CentOS 7.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/

相關文章