BookKeeper
bookiePort bookeeper server監聽端口
allowLoopback 是否接受回127.0.0.1地址
listeningInterface 默認網口,比如:eth0
journalDirectory WAL存入目錄
ledgerDirectories 帳目快照保存地址,推薦WAL與該目錄不同硬盤
ledgerManagerType bookeeper 帳目保存類型
zkLedgersRootPath zookeeper保存的bookeeper數據路徑
ledgerStorageClass 帳目存儲類
entryLogFilePreallocationEnabled 是否預分配entry logger
minorCompactionThreshold 當entry logger達到閥值將執行minor compaction,0爲禁止
minorCompactionInterval 時間控制minor compaction
majorCompactionThreshold 當entry logger達到閥值將執行major compaction,0爲禁止
majorCompactionInterval 時間控制major compaction
compactionMaxOutstandingRequests 沒有flush的最大entry數,壓縮將entry加入entrylog,並且緩存offset,大的值將佔用更多 的內存,通常不需要修改。
compactionRate 壓縮讀取條目的速率
isThrottleByBytes 壓縮時是否節流
compactionRateByEntries 壓縮讀取條目的速率,Entry計數
compactionRateByBytes 壓縮讀取條目的速率,Byte計數
journalMaxSizeMB journal文件最大值,單位爲M,當達到該值,將產生新文件
journalMaxBackups 最大的舊文件數量,方便特定場景下恢復
journalPreAllocSizeMB 每次預分配置的空間大小
journalWriteBufferSizeKB journal 讀buffer大小
journalRemoveFromPageCache 當flush後是否回收 page cache
journalAdaptiveGroupWrites 是否journal group讀,增加吞吐量
journalMaxGroupWaitMSec 最大小的寫延遲,以增加吞吐量
journalAlignmentSize journal日誌統一大小
journalBufferedWritesThreshold 寫buffer大小,增加寫效率
journalFlushWhenQueueEmpty 如果queue 是空將flush
numJournalCallbackThreads 處理日誌回調線程數
rereplicationEntryBatchSize 可重新複製的最大entry數量
gcWaitTime 執行gc的時間間隔
gcOverreplicatedLedgerWaitTime overreplicated的gc回收時間間隔,不應太頻繁應該會訪問zk元數據
flushInterval flush帳目index到disk的間隔,會產大量隨時寫,將ledger與journal在不同磁盤,將增加效率
bookieDeathWatchInterval 確認bookie 服務停止的最大時間
zkServers zookeeper信息
zkTimeout seession time時間
serverTcpNoDelay 是否使用Nagle算法
openFileLimit ledge 同時打開索引文件的數量,如果超過將swap到磁盤,將會影響性能
pageSize index緩存節的大小,大的緩存葉可以改善寫的性能,如果你有少量的ledge並且包括少量的entry,分配小的pagesize將提高內存利用率
pageLimit 用於緩存的page 數量,如果超過將增加內存與磁盤的交互頻率,如果-1,將採用1/3 jvm的大小,在少量的ledge並且包括少量的entry情況下,小的pagelimit將增加效率
readOnlyModeEnabled 在ledger目錄全部寫滿時,bookie將爲只讀模式,否則server將下線
diskUsageThreshold 磁盤空間用量閥值,如果超出切換爲readonly模式
diskCheckInterval 磁盤空間用量檢查間隔
auditorPeriodicCheckInterval 審計檢查全部ledger,會增加集羣負載,不推薦太頻繁
auditorPeriodicBookieCheckInterval 審計檢查全部bookie時間間隔
numAddWorkerThreads 寫請求線程數,0代表直接使用netty處理
numReadWorkerThreads 讀請求線程數
maxPendingReadRequestsPerThread 最大peding的讀請求,防止請求隊列無限增漲
readBufferSizeBytes 讀緩存大小
writeBufferSizeBytes寫緩存大小
useHostNameAsBookieID 由hostname註冊bookie標識,否則使用ip
statsProviderClass
prometheusStatsHttpPort prometheus端口
dbStorage_writeCacheMaxSizeMb
dbStorage_writeCacheMaxSizeMb entry寫入entrylog緩存大小,利用堆外內存
dbStorage_readAheadCacheMaxSizeMb 讀緩存,預分配,利用堆外內存
dbStorage_readAheadCacheBatchSize 每次分配的讀緩存大小
dbStorage_rocksDB_blockCacheSize rocketdb緩存塊大小
dbStorage_rocksDB_writeBufferSizeMB
dbStorage_rocksDB_sstSizeInMB
dbStorage_rocksDB_blockSize
dbStorage_rocksDB_bloomFilterBitsPerKey
dbStorage_rocksDB_numLevels
dbStorage_rocksDB_numFilesInLevel0
dbStorage_rocksDB_maxSizeInLevel1MB
Broker
enablePersistentTopics 是否持久化topic
enableNonPersistentTopics 是否非持久化topic
functionsWorkerEnabled function work server是否開啓
zookeeperServers zookeeper信息
configurationStoreServers 存儲連接信息(以逗號分隔)
brokerServicePort broker數據端口
brokerServicePortTls TLS端口
webServicePort http端口
webServicePortTls https端口
webSocketServiceEnabled 開啓websocket
bindAddress hostname/ip地址綁定服務地址,默認0.0.0.0
advertisedAddress 對外服務地址,默認InetAddress.getLocalHost().getHostName()
clusterName 集羣標識
brokerDeduplicationEnabled 開啓去重,可以在namespace重寫
brokerDeduplicationMaxNumberOfProducers 保存去重信息的最大的porducer數量
brokerDeduplicationEntriesInterval 去重最大條目閥值
brokerDeduplicationProducerInactivityTimeoutMinutes 當producer斷開,去重信息廢除時間
zooKeeperSessionTimeoutMillis zookeeper session timeout時間
brokerShutdownTimeoutMs broker優雅關閉時間
backlogQuotaCheckEnabled 開啓broker配額
backlogQuotaCheckIntervalInSeconds 配額檢查時間
backlogQuotaDefaultLimitGB broker配額積累的最大值
allowAutoTopicCreation 開啓自動創建topic
brokerDeleteInactiveTopicsEnabled 開啓刪除不活動的topic
brokerDeleteInactiveTopicsFrequencySeconds 檢查不活動topic時間頻率
messageExpiryCheckIntervalInMinutes message過期檢查頻率
brokerServiceCompactionMonitorIntervalInSeconds minor compaction檢查時間
activeConsumerFailoverDelayTimeMillis 確定延時時間執行consumer failover切換
Enable check for minimum allowed client library version 是否最低客戶端版本檢查
clientLibraryVersionCheckAllowUnversioned 是否接受無版本客戶端
statusFilePath 用於文件路徑的rotation status檢查,在服務發現與健康檢查時使用
preferLaterVersions 是否優先使用最新版本
tlsEnabled 開啓TLS
tlsCertificateFilePath 證書路徑
tlsKeyFilePath 私鑰路徑
tlsTrustCertsFilePath 可信證書路徑
tlsAllowInsecureConnection 接受客戶端 不可信證書
tlsProtocols 指定TSL協議,比如:TLS1.0
tlsCiphers 指定加密方法,比如:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
tokenSecretKey secret key授權驗證token
tokenPublicKey 配置公鑰授權驗證token
tokenPublicAlg 配置驗證token算法
tokenAuthClaim 用於哪個聲明完成驗證,principal/role,默認sub
maxUnackedMessagesPerConsumer 停止發送數據到consumer當未應答數據達到該值時,0禁止
maxUnackedMessagesPerSubscription 停止發送數據到subscription當未所有subscription未應答數據達到該值
subscriptionRedeliveryTrackerEnabled 開啓重新交付跟蹤
maxConcurrentLookupRequest 最大的併發lookup request,lookup request查找topic所在的server
maxConcurrentTopicLoadRequest 最大併發topic loading request
authenticationEnabled 開啓認證
authenticationProviders 認證實現類
authorizationEnabled 開啓授權
superUserRoles 開啓超級用戶
brokerClientAuthenticationPlugin broker認證配置,用於集羣間認證
brokerClientAuthenticationParameters 認證參數
athenzDomainNames Athen認證配置
bookkeeperClientAuthenticationPlugin bookeeper認證plugin
bookkeeperClientAuthenticationParametersName bookeeper認證plugin 參數
bookkeeperClientTimeoutInSeconds bookeeper操作timeout
bookkeeperClientSpeculativeReadTimeoutInMillis bookeeper讀操作超時推測,如果在timeout內沒有完成,主動重新執行
bookkeeperClientHealthCheckEnabled 開啓bookie健康檢查
bookkeeperClientHealthCheckIntervalSeconds bookie健康檢查頻率
bookkeeperClientHealthCheckErrorThresholdPerInterval 健康檢查錯誤閥值
bookkeeperClientHealthCheckQuarantineTimeInSeconds 再指定時間內失敗次數認定爲不健康
pulsar
ensemble size 即broker size
Quorum write size 即 replica size
Quorum ack size 即 複製應答size
managedLedgerDefaultEnsembleSize 默認ledger保存的ensemble size
managedLedgerDefaultWriteQuorum 默認的 QW 數量
managedLedgerDefaultAckQuorum 默認的QA數量
managedLedgerCacheSizeMB broker上所以有ledger共享緩存,堆外內存
managedLedgerCacheEvictionWatermark 觸發清除緩存的閥值
managedLedgerDefaultMarkDeleteRateLimit 消費者確認消費每秒產生的消息速率
managedLedgerMaxEntriesPerLedger ledger最大的entry log數量,達到該值將產生新ledger
managedLedgerMinLedgerRolloverTimeMinutes 最小產生新ledger時間
managedLedgerMaxLedgerRolloverTimeMinutes 最大產生新ledger時間,達到該值將強制產生
managedLedgerCursorMaxEntriesPerLedger cusor ledger保存沒個消費者的遊標,最大產生新ledger的entry數量
managedLedgerCursorRolloverTimeInSeconds 最大產生新ledger的時間
autoSkipNonRecoverableData 當ledger不能恢復,是否跳過壞數據,保存集羣可用性。
loadBalancerEnabled 是否開啓load balancer
managedLedgerMaxUnackedRangesToPersist 最大應答holes,由於各種不確定因素會產極少的應答hole,該參數指定最大的hole數量,利用壓縮方法持久化,防止回放。
loadBalancerPlacementStrategy loader balance策略
loadBalancerReportUpdateThresholdPercentage load balance 信息更新閥值
loadBalancerReportUpdateMaxIntervalMinutes load balance 信息更新時間間隔
loadBalancerHostUsageCheckIntervalMinutes load balance 信息收集頻繁
loadBalancerSheddingIntervalMinutes 檢查broker負載時間
loadBalancerSheddingGracePeriodMinutes 防止某些topic頻繁轉移到其它broker
loadBalancerBrokerMaxTopics 每個broker最大的topic數量
loadBalancerBrokerUnderloadedThresholdPercentage broker負載不足閥值
loadBalancerBrokerOverloadedThresholdPercentage broker 過載閥值
loadBalancerResourceQuotaUpdateIntervalMinutes 理新資源配額時間間隔
loadBalancerBrokerComfortLoadLevelPercentage broker負載正常閥值
loadBalancerAutoBundleSplitEnabled 是否開啓namespace級別的負載拆分
loadBalancerNamespaceBundleMaxTopics 一個namspace包括的最大topic數量
loadBalancerNamespaceBundleMaxSessions namespace內producer+ consumer的session最大值,超過將拆分
loadBalancerNamespaceBundleMaxMsgRate namespace內producer+ consumer的數據比率最大值,超過將拆分
loadBalancerNamespaceBundleMaxBandwidthMbytes namespace內producer+ consumer的帶寬最大值,超過將拆分
loadBalancerNamespaceMaximumBundles namespace內bundle的最大數量,bundle爲一個虛擬的topic group,擁有相同的namespace
replicationMetricsEnabled 是否開啓metric複製
replicationConnectionsPerBroker 最大數據的複製連接,用於遠程集羣複製
replicationProducerQueueSize replication producer隊列大小,用於Geo replicator
defaultRetentionTimeInMinutes 默認數據保留時間
defaultRetentionSizeInMB 默認的保留大小,超過該值將清除舊的topic數據
keepAliveIntervalSeconds 檢查活動連接時間間隔
brokerServicePurgeInactiveFrequencyInSeconds 檢查不活動topic時間間隔
managedLedgerOffloadDriver 分層存儲的類型,比如:S3
managedLedgerOffloadMaxThreads 用於保存冷數據的線程數
s3ManagedLedgerOffloadRegion 用於aws region保存冷數據
s3ManagedLedgerOffloadBucket 用於aws bucket保存冷數據
s3ManagedLedgerOffloadServiceEndpoint 用於aws 連接地址,用於測試
s3ManagedLedgerOffloadMaxBlockSizeInBytes aws 最大的block大小
s3ManagedLedgerOffloadReadBufferSizeInBytes aws 讀緩存大小
s3ManagedLedgerOffloadRole 分配aws role
s3ManagedLedgerOffloadRoleSessionName 設置aws role的session name
Client
pulsar-client工具
webServiceUrl cluster web url地址
brokerServiceUrl pulsar協議url
authPlugin 認證plugin
authParams 認證parameter,以逗號分隔
useTls 是否開啓TLS
Service discovery
zookeeperServers zk信息
configurationStoreServers 存儲連接信息
zookeeperSessionTimeoutMs zk session timeout
servicePort 服務binary-proto 請求
servicePortTls 服務 binary-proto-tls請求
webServicePort 服務發現http地址
webServicePortTls https端口
bindOnLocalhost 是否綁定本地地址而不是hostname
authenticationEnabled 是否開啓認證
authenticationProviders 認證方法
authorizationEnabled 是否開啓授權
superUserRoles 是否開啓超級用戶
tlsEnabled 是否開啓tls
tlsCertificateFilePath 證書路徑
tlsKeyFilePath 私鑰文件路徑
Pulsar proxy
maxConcurrentInboundConnections 最大併發請求連接數,超過將拒絕
maxConcurrentLookupRequests 最大的響應連接數,超過將報錯