| #/** |
| # * Licensed to the Apache Software Foundation (ASF) under one |
| # * or more contributor license agreements. See the NOTICE file |
| # * distributed with this work for additional information |
| # * regarding copyright ownership. The ASF licenses this file |
| # * to you under the Apache License, Version 2.0 (the |
| # * "License"); you may not use this file except in compliance |
| # * with the License. You may obtain a copy of the License at |
| # * |
| # * http://www.apache.org/licenses/LICENSE-2.0 |
| # * |
| # * Unless required by applicable law or agreed to in writing, software |
| # * distributed under the License is distributed on an "AS IS" BASIS, |
| # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # * See the License for the specific language governing permissions and |
| # * limitations under the License. |
| # */ |
| |
| ######################## |
| # ZooKeeper Client Settings |
| ######################## |
| |
| # zookeeper settings |
| zkSessionTimeoutSeconds=1 |
| zkNumRetries=0 |
| zkRetryStartBackoffMillis=100 |
| zkRetryMaxBackoffMillis=200 |
| # bkc zookeeper settings |
| bkcZKSessionTimeoutSeconds=60 |
| bkcZKNumRetries=20 |
| bkcZKRetryStartBackoffMillis=100 |
| bkcZKRetryMaxBackoffMillis=200 |
| |
| ######################## |
| # BookKeeper Client Settings |
| ######################## |
| |
| # bookkeeper client timeouts |
| bkcWriteTimeoutSeconds=2 |
| bkcReadTimeoutSeconds=2 |
| bkcNumWorkerThreads=32 |
| bkc.numChannelsPerBookie=1 |
| bkc.enableTaskExecutionStats=true |
| bkc.connectTimeoutMillis=200 |
| bkc.enableParallelRecoveryRead=true |
| bkc.recoveryReadBatchSize=5 |
| bkc.enablePerHostStats=true |
| |
| ######################## |
| # DL Settings |
| ######################## |
| |
| # Metadata Settings |
| |
| # ledger metadata version that supports sequence id |
| ledger-metadata-layout=5 |
| |
| # lock timeout |
| lockTimeoutSeconds=0 |
| # dl worker threads |
| numWorkerThreads=32 |
| |
| ### Recovery Related Settings |
| |
| # recover log segments in background |
| recoverLogSegmentsInBackground=false |
| # disable max id in proxy |
| maxIdSanityCheck=false |
| # use allocator pool for proxy |
| enableLedgerAllocatorPool=true |
| # ledger allocator pool path |
| ledgerAllocatorPoolPath=.write_proxy_allocation_pool |
| # ledger allocator pool size |
| ledgerAllocatorPoolCoreSize=40 |
| # check stream exists or not |
| createStreamIfNotExists=true |
| # encode dc id in version |
| encodeDCIDInVersion=true |
| # logSegmentNameVersion |
| logSegmentNameVersion=1 |
| |
| ### Write Performance Related Settings |
| |
| # ensemble size |
| ensemble-size=3 |
| write-quorum-size=3 |
| ack-quorum-size=2 |
| bkc.ensemblePlacementPolicy=org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy |
| bkc.delayEnsembleChange=true |
| bkc.writeRequestToChannelAsync=true |
| |
| # enable immediate flush |
| enableImmediateFlush=true |
| # 0k output buffer |
| output-buffer-size=0 |
| # disable periodical flush |
| periodicFlushFrequencyMilliSeconds=0 |
| enableTaskExecutionStats=true |
| taskExecutionWarnTimeMicros=100000 |
| |
| ### Ledger Rolling Related Settings |
| |
| # retention policy |
| retention-size=4 |
| # rolling ledgers (enable time rolling): 120 minutes = 2 hours |
| rolling-interval=120 |
| # max logsegment bytes : 2GB |
| maxLogSegmentBytes=2147483648 |
| # rolling concurrency |
| logSegmentRollingConcurrency=1 |
| # disable sanityCheckDelete |
| sanityCheckDelete=false |
| # compression codec |
| compressionType=lz4 |
| |
| ### Per Stream Stats |
| enablePerStreamStat=true |
| |
| ######################## |
| # DL Settings |
| ######################## |
| |
| # proxy server settings |
| server_mode=DURABLE |
| serviceTimeoutMs=60000 |
| streamProbationTimeoutMs=120000 |
| server_threads=16 |
| server_dlsn_version=1 |
| server_enable_perstream_stat=true |
| server_graceful_shutdown_period_ms=20000 |
| |
| # write limits |
| perWriterOutstandingWriteLimit=-1 |
| globalOutstandingWriteLimit=-1 |
| outstandingWriteLimitDarkmode=false |
| |
| # bytes per second limit applied at the host level (50MBps on 1Gib machines) |
| bpsHardServiceLimit=52428800 |
| # bytes per second limit after which no new streams may be acquired (65MBps on 1Gib machines) |
| bpsStreamAcquireServiceLimit=47185920 |
| |
| # limit the maximum number of streams |
| maxAcquiredPartitionsPerProxy=-1 |