| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <title>Pegasus | Config</title> |
| <link rel="stylesheet" href="/zh/assets/css/app.css"> |
| <link rel="shortcut icon" href="/zh/assets/images/favicon.ico"> |
| <link rel="stylesheet" href="/zh/assets/css/utilities.min.css"> |
| <link rel="stylesheet" href="/zh/assets/css/docsearch.v3.css"> |
| <script src="/assets/js/jquery.min.js"></script> |
| <script src="/assets/js/all.min.js"></script> |
| <script src="/assets/js/docsearch.v3.js"></script> |
| <!-- Begin Jekyll SEO tag v2.8.0 --> |
| <title>Config | Pegasus</title> |
| <meta name="generator" content="Jekyll v4.3.2" /> |
| <meta property="og:title" content="Config" /> |
| <meta property="og:locale" content="en_US" /> |
| <meta name="description" content="配置组成部分" /> |
| <meta property="og:description" content="配置组成部分" /> |
| <meta property="og:site_name" content="Pegasus" /> |
| <meta property="og:type" content="article" /> |
| <meta property="article:published_time" content="2023-11-23T14:51:44+00:00" /> |
| <meta name="twitter:card" content="summary" /> |
| <meta property="twitter:title" content="Config" /> |
| <script type="application/ld+json"> |
| {"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-11-23T14:51:44+00:00","datePublished":"2023-11-23T14:51:44+00:00","description":"配置组成部分","headline":"Config","mainEntityOfPage":{"@type":"WebPage","@id":"/administration/config"},"url":"/administration/config"}</script> |
| <!-- End Jekyll SEO tag --> |
| </head> |
| |
| |
| <body> |
| <div class="dashboard is-full-height"> |
| <!-- left panel --> |
| <div class="dashboard-panel is-medium is-hidden-mobile pl-0"> |
| <div class="dashboard-panel-header has-text-centered"> |
| <a href="/zh/"> |
| <img src="/assets/images/pegasus-logo-inv.png" style="width: 80%;"> |
| </a> |
| |
| </div> |
| <div class="dashboard-panel-main is-scrollable pl-6"> |
| |
| |
| <aside class="menu"> |
| |
| <p class="menu-label">Pegasus产品文档</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/docs/downloads" |
| class=""> |
| 下载 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">编译构建</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/docs/build/compile-by-docker" |
| class=""> |
| 使用Docker完成编译(推荐) |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/docs/build/compile-from-source" |
| class=""> |
| 从源码编译 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">客户端库</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/clients/java-client" |
| class=""> |
| Java客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/cpp-client" |
| class=""> |
| C++客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/apache/incubator-pegasus/tree/master/go-client" |
| class=""> |
| Golang客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/python2-client" |
| class=""> |
| Python2客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/python3-client" |
| class=""> |
| Python3客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/node-client" |
| class=""> |
| NodeJS客户端 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/clients/scala-client" |
| class=""> |
| Scala客户端 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">生态工具</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/docs/tools/shell" |
| class=""> |
| Pegasus Shell 工具 |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/pegasus-kv/admin-cli" |
| class=""> |
| 集群管理命令行 |
| </a> |
| </li> |
| |
| <li> |
| <a href="https://github.com/pegasus-kv/pegic" |
| class=""> |
| 数据访问命令行 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">用户接口</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/api/ttl" |
| class=""> |
| TTL |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/single-atomic" |
| class=""> |
| 单行原子操作 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/redis" |
| class=""> |
| Redis适配 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/geo" |
| class=""> |
| GEO支持 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/api/http" |
| class=""> |
| HTTP接口 |
| </a> |
| </li> |
| |
| </ul> |
| |
| <p class="menu-label">高效运维</p> |
| <ul class="menu-list"> |
| |
| <li> |
| <a href="/zh/administration/deployment" |
| class=""> |
| 集群部署 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/config" |
| class="is-active"> |
| 配置说明 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/rebalance" |
| class=""> |
| 负载均衡 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/monitoring" |
| class=""> |
| 可视化监控 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/rolling-update" |
| class=""> |
| 集群升级 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/scale-in-out" |
| class=""> |
| 集群扩容缩容 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/resource-management" |
| class=""> |
| 资源管理 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/cold-backup" |
| class=""> |
| 冷备份 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/meta-recovery" |
| class=""> |
| 元数据恢复 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/replica-recovery" |
| class=""> |
| Replica数据恢复 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/zk-migration" |
| class=""> |
| Zookeeper迁移 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/table-migration" |
| class=""> |
| Table迁移 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/table-soft-delete" |
| class=""> |
| Table软删除 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/table-env" |
| class=""> |
| Table环境变量 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/remote-commands" |
| class=""> |
| 远程命令 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/partition-split" |
| class=""> |
| Partition-Split |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/duplication" |
| class=""> |
| 跨机房同步 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/compression" |
| class=""> |
| 数据压缩 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/throttling" |
| class=""> |
| 流量控制 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/experiences" |
| class=""> |
| 运维经验 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/manual-compact" |
| class=""> |
| Manual Compact功能 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/usage-scenario" |
| class=""> |
| Usage Scenario功能 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/bad-disk" |
| class=""> |
| 坏盘检修 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/whitelist" |
| class=""> |
| 白名单 |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/backup-request" |
| class=""> |
| Backup Request |
| </a> |
| </li> |
| |
| <li> |
| <a href="/zh/administration/hotspot-detection" |
| class=""> |
| 热点检测 |
| </a> |
| </li> |
| |
| </ul> |
| |
| </aside> |
| </div> |
| </div> |
| |
| <!-- main section --> |
| <div class="dashboard-main is-scrollable"> |
| <nav class="navbar is-hidden-desktop"> |
| <div class="navbar-brand"> |
| <a href="/zh/" class="navbar-item"> |
| <!-- Pegasus Icon --> |
| <img src="/assets/images/pegasus-square.png"> |
| </a> |
| <div class="navbar-item"> |
| |
| |
| <!--A simple language switch button that only supports zh and en.--> |
| <!--IF its language is zh, then switches to en.--> |
| |
| <!--If you don't want a url to be relativized, you can add a space explicitly into the href to |
| prevents a url from being relativized by polyglot.--> |
| <a class="button is-light is-outlined is-inverted" href=" /administration/config"><strong>En</strong></a> |
| |
| </div> |
| <a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navMenu"> |
| <!-- Appears in mobile mode only --> |
| <span aria-hidden="true"></span> |
| <span aria-hidden="true"></span> |
| <span aria-hidden="true"></span> |
| </a> |
| </div> |
| <div class="navbar-menu" id="navMenu"> |
| <div class="navbar-end"> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| Pegasus产品文档 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/docs/downloads" |
| class="navbar-item "> |
| 下载 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 编译构建 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/docs/build/compile-by-docker" |
| class="navbar-item "> |
| 使用Docker完成编译(推荐) |
| </a> |
| |
| <a href="/zh/docs/build/compile-from-source" |
| class="navbar-item "> |
| 从源码编译 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 客户端库 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/clients/java-client" |
| class="navbar-item "> |
| Java客户端 |
| </a> |
| |
| <a href="/zh/clients/cpp-client" |
| class="navbar-item "> |
| C++客户端 |
| </a> |
| |
| <a href="https://github.com/apache/incubator-pegasus/tree/master/go-client" |
| class="navbar-item "> |
| Golang客户端 |
| </a> |
| |
| <a href="/zh/clients/python2-client" |
| class="navbar-item "> |
| Python2客户端 |
| </a> |
| |
| <a href="/zh/clients/python3-client" |
| class="navbar-item "> |
| Python3客户端 |
| </a> |
| |
| <a href="/zh/clients/node-client" |
| class="navbar-item "> |
| NodeJS客户端 |
| </a> |
| |
| <a href="/zh/clients/scala-client" |
| class="navbar-item "> |
| Scala客户端 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 生态工具 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/docs/tools/shell" |
| class="navbar-item "> |
| Pegasus Shell 工具 |
| </a> |
| |
| <a href="https://github.com/pegasus-kv/admin-cli" |
| class="navbar-item "> |
| 集群管理命令行 |
| </a> |
| |
| <a href="https://github.com/pegasus-kv/pegic" |
| class="navbar-item "> |
| 数据访问命令行 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 用户接口 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/api/ttl" |
| class="navbar-item "> |
| TTL |
| </a> |
| |
| <a href="/zh/api/single-atomic" |
| class="navbar-item "> |
| 单行原子操作 |
| </a> |
| |
| <a href="/zh/api/redis" |
| class="navbar-item "> |
| Redis适配 |
| </a> |
| |
| <a href="/zh/api/geo" |
| class="navbar-item "> |
| GEO支持 |
| </a> |
| |
| <a href="/zh/api/http" |
| class="navbar-item "> |
| HTTP接口 |
| </a> |
| |
| </div> |
| </div> |
| |
| <!--dropdown--> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a href="" |
| class="navbar-link "> |
| <span> |
| 高效运维 |
| </span> |
| </a> |
| <div class="navbar-dropdown"> |
| |
| <a href="/zh/administration/deployment" |
| class="navbar-item "> |
| 集群部署 |
| </a> |
| |
| <a href="/zh/administration/config" |
| class="navbar-item is-active"> |
| 配置说明 |
| </a> |
| |
| <a href="/zh/administration/rebalance" |
| class="navbar-item "> |
| 负载均衡 |
| </a> |
| |
| <a href="/zh/administration/monitoring" |
| class="navbar-item "> |
| 可视化监控 |
| </a> |
| |
| <a href="/zh/administration/rolling-update" |
| class="navbar-item "> |
| 集群升级 |
| </a> |
| |
| <a href="/zh/administration/scale-in-out" |
| class="navbar-item "> |
| 集群扩容缩容 |
| </a> |
| |
| <a href="/zh/administration/resource-management" |
| class="navbar-item "> |
| 资源管理 |
| </a> |
| |
| <a href="/zh/administration/cold-backup" |
| class="navbar-item "> |
| 冷备份 |
| </a> |
| |
| <a href="/zh/administration/meta-recovery" |
| class="navbar-item "> |
| 元数据恢复 |
| </a> |
| |
| <a href="/zh/administration/replica-recovery" |
| class="navbar-item "> |
| Replica数据恢复 |
| </a> |
| |
| <a href="/zh/administration/zk-migration" |
| class="navbar-item "> |
| Zookeeper迁移 |
| </a> |
| |
| <a href="/zh/administration/table-migration" |
| class="navbar-item "> |
| Table迁移 |
| </a> |
| |
| <a href="/zh/administration/table-soft-delete" |
| class="navbar-item "> |
| Table软删除 |
| </a> |
| |
| <a href="/zh/administration/table-env" |
| class="navbar-item "> |
| Table环境变量 |
| </a> |
| |
| <a href="/zh/administration/remote-commands" |
| class="navbar-item "> |
| 远程命令 |
| </a> |
| |
| <a href="/zh/administration/partition-split" |
| class="navbar-item "> |
| Partition-Split |
| </a> |
| |
| <a href="/zh/administration/duplication" |
| class="navbar-item "> |
| 跨机房同步 |
| </a> |
| |
| <a href="/zh/administration/compression" |
| class="navbar-item "> |
| 数据压缩 |
| </a> |
| |
| <a href="/zh/administration/throttling" |
| class="navbar-item "> |
| 流量控制 |
| </a> |
| |
| <a href="/zh/administration/experiences" |
| class="navbar-item "> |
| 运维经验 |
| </a> |
| |
| <a href="/zh/administration/manual-compact" |
| class="navbar-item "> |
| Manual Compact功能 |
| </a> |
| |
| <a href="/zh/administration/usage-scenario" |
| class="navbar-item "> |
| Usage Scenario功能 |
| </a> |
| |
| <a href="/zh/administration/bad-disk" |
| class="navbar-item "> |
| 坏盘检修 |
| </a> |
| |
| <a href="/zh/administration/whitelist" |
| class="navbar-item "> |
| 白名单 |
| </a> |
| |
| <a href="/zh/administration/backup-request" |
| class="navbar-item "> |
| Backup Request |
| </a> |
| |
| <a href="/zh/administration/hotspot-detection" |
| class="navbar-item "> |
| 热点检测 |
| </a> |
| |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <nav class="navbar is-hidden-mobile"> |
| <div class="navbar-start w-full"> |
| <div class="navbar-item pl-0 w-full"> |
| <!--TODO(wutao): Given the limitation of docsearch that couldn't handle multiple input, |
| I make searchbox only shown in desktop. Fix this issue when docsearch.js v3 released. |
| Related issue: https://github.com/algolia/docsearch/issues/230--> |
| <div id="docsearch"></div> |
| </div> |
| </div> |
| <div class="navbar-end"> |
| <div class="navbar-item"> |
| |
| |
| <!--A simple language switch button that only supports zh and en.--> |
| <!--IF its language is zh, then switches to en.--> |
| |
| <!--If you don't want a url to be relativized, you can add a space explicitly into the href to |
| prevents a url from being relativized by polyglot.--> |
| <a class="button is-light is-outlined is-inverted" href=" /administration/config"><strong>En</strong></a> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <section class="hero is-info lg:mr-3"> |
| <div class="hero-body"> |
| |
| <p class="title is-size-2 is-centered">配置说明</p> |
| </div> |
| </section> |
| <section class="section" style="padding-top: 2rem;"> |
| <div class="content"> |
| <h2 id="配置组成部分">配置组成部分</h2> |
| |
| <p>Pegasus的配置为ini格式,主要有以下组成部分:</p> |
| |
| <ul> |
| <li>core:一个Pegasus Service内核引擎运行时的相关参数配置。</li> |
| <li>network:RPC组件的相关参数配置。</li> |
| <li>线程池相关:Pegasus进程中启动的各个线程池的相关参数配置。</li> |
| <li>app相关:app是rDSN中的一个概念,可以理解成分布式系统中的“组件”或者“job”,例如Pegasus中的MetaServer、ReplicaServer就各是一个app。一个进程内可以启动多个app,针对每个app,可以分别配置其行为,譬如名字、端口、线程池等。</li> |
| <li>task相关:task也是rDSN中的一个概念,可以理解成“异步任务”。比如一个RPC异步调用、一个异步文件IO操作、一个超时事件,都是一个task。每种task都有定义一个唯一的名字。针对每种task,都可以配置其相关的行为,譬如trace、profiler等。</li> |
| <li>一致性协议相关:一致性replication协议的相关参数配置。</li> |
| <li>RocksDB相关:Pegasus所依赖的RocksDB的参数配置。</li> |
| <li>其他杂项:Pegasus中一些组件模块的参数配置,譬如日志、监控、Zookeeper配置等。</li> |
| </ul> |
| |
| <p>配置文件中会涉及到一些rDSN的概念,对这些概念的进一步理解,请参见<a href="https://github.com/XiaoMi/rdsn">rDSN项目</a>。</p> |
| |
| <p>下面列举出了Pegasus配置文件的部分说明。这些配置项有些是和client通用的,比如app、task、threadpool等,其他是server端所独有的。要理解这些配置的真正含义,建议先阅读PacificA论文,并了解清楚rDSN项目和Pegasus架构。</p> |
| |
| <h2 id="配置文件部分说明">配置文件部分说明</h2> |
| |
| <div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">;;;; 各个app配置项的默认模板 |
| </span><span class="nn">[apps..default]</span> |
| <span class="py">run</span> <span class="p">=</span> <span class="s">true</span> |
| <span class="py">count</span> <span class="p">=</span> <span class="s">1</span> |
| |
| <span class="c">;;;; meta app的配置项 |
| </span><span class="nn">[apps.meta]</span> |
| <span class="py">type</span> <span class="p">=</span> <span class="s">meta</span> |
| <span class="py">name</span> <span class="p">=</span> <span class="s">meta</span> |
| <span class="py">arguments</span> <span class="p">=</span> |
| <span class="c">;meta的运行端口 |
| </span><span class="s">ports = 34601</span> |
| |
| <span class="c">;meta app运行时需要的线程池 |
| </span><span class="py">pools</span> <span class="p">=</span> <span class="s">THREAD_POOL_DEFAULT,THREAD_POOL_META_SERVER,THREAD_POOL_META_STATE,THREAD_POOL_FD,THREAD_POOL_DLOCK,THREAD_POOL_FDS_SERVICE</span> |
| <span class="py">run</span> <span class="p">=</span> <span class="s">true</span> |
| <span class="c">;meta app的实例个数,每个实例的运行端口依次为ports, ports+1... |
| ;可以用参数-app_list meta@1的方式启动指定的app |
| </span><span class="py">count</span> <span class="p">=</span> <span class="s">3 </span> |
| |
| <span class="c">;;;; replica app的配置项目 |
| </span><span class="nn">[apps.replica]</span> |
| <span class="py">type</span> <span class="p">=</span> <span class="s">replica</span> |
| <span class="py">name</span> <span class="p">=</span> <span class="s">replica</span> |
| <span class="py">arguments</span> <span class="p">=</span> |
| <span class="py">ports</span> <span class="p">=</span> <span class="s">34801</span> |
| <span class="py">pools</span> <span class="p">=</span> <span class="s">THREAD_POOL_DEFAULT,THREAD_POOL_REPLICATION_LONG,THREAD_POOL_REPLICATION,THREAD_POOL_LOCAL_APP,THREAD_POOL_FD,THREAD_POOL_FDS_SERVICE,THREAD_POOL_COMPACT</span> |
| <span class="py">run</span> <span class="p">=</span> <span class="s">true</span> |
| <span class="py">count</span> <span class="p">=</span> <span class="s">1</span> |
| |
| <span class="c">;;;; pegasus内核引擎运行参数 |
| </span><span class="nn">[core]</span> |
| <span class="c">;rDSN相关概念,参见rDSN文档 |
| </span><span class="py">tool</span> <span class="p">=</span> <span class="s">nativerun</span> |
| <span class="c">;rDSN相关概念,参见rDSN文档 |
| </span><span class="py">toollets</span> <span class="p">=</span> <span class="s">profiler</span> |
| <span class="c">;启动时是否暂停以等待交互输入 |
| </span><span class="py">pause_on_start</span> <span class="p">=</span> <span class="s">false</span> |
| |
| <span class="c">;logging级别 |
| </span><span class="py">logging_start_level</span> <span class="p">=</span> <span class="s">LOG_LEVEL_DEBUG </span> |
| <span class="c">;logging的实现类 |
| </span><span class="py">logging_factory_name</span> <span class="p">=</span> <span class="s">dsn::tools::simple_logger </span> |
| <span class="c">;进程退出时是否将缓存的日志数据刷出到文件系统 |
| </span><span class="py">logging_flush_on_exit</span> <span class="p">=</span> <span class="s">true</span> |
| |
| <span class="c">;默认的数据文件夹 |
| </span><span class="py">data_dir</span> <span class="p">=</span> <span class="s">/home/work/data/pegasus/@cluster@</span> |
| |
| <span class="c">;;;; 网络相关配置 |
| </span><span class="nn">[network]</span> |
| <span class="c">;负责网络IO的线程个数 |
| </span><span class="py">io_service_worker_count</span> <span class="p">=</span> <span class="s">4</span> |
| <span class="c">;每个客户端IP限制的连接数 |
| </span><span class="py">conn_threshold_per_ip</span> <span class="p">=</span> <span class="s">0</span> |
| |
| <span class="c">;;;; 线程池相关配置的默认模板 |
| </span><span class="nn">[threadpool..default]</span> |
| <span class="c">;线程池的默认线程数 |
| </span><span class="py">worker_count</span> <span class="p">=</span> <span class="s">4</span> |
| |
| <span class="c">;;;; 线程池THREAD_POOL_REPLICATION的配置 |
| </span><span class="nn">[threadpool.THREAD_POOL_REPLICATION]</span> |
| <span class="c">;线程池名称 |
| </span><span class="py">name</span> <span class="p">=</span> <span class="s">replica</span> |
| <span class="c">;rDSN相关概念,partitioned = ture表示每个线程有一个自己的任务队列, |
| ;且task会根据hash分派到特定的线程执行 |
| </span><span class="py">partitioned</span> <span class="p">=</span> <span class="s">true </span> |
| <span class="c">;线程在OS中的调度优先级 |
| </span><span class="py">worker_priority</span> <span class="p">=</span> <span class="s">THREAD_xPRIORITY_NORMAL</span> |
| <span class="c">;线程池中的线程数,如果没有配置则使用默认模板的值 |
| </span><span class="py">worker_count</span> <span class="p">=</span> <span class="s">23</span> |
| |
| <span class="c">;;;; 线程池XXXXX的相关配置 |
| </span><span class="nn">[threadpool.XXXXX]</span> |
| <span class="err">.....</span> |
| |
| <span class="c">;;;; meta_server的相关配置 |
| </span><span class="nn">[meta_server]</span> |
| <span class="c">;MetaServer的地址列表 |
| </span><span class="py">server_list</span> <span class="p">=</span> <span class="s">127.0.0.1:34601,127.0.0.1:34602,127.0.0.1:34603 </span> |
| <span class="c">;MetaServer在元数据存储服务上的根目录, |
| ;一个集群的不同meta_server要配成相同的值,不同的集群用不同的值 |
| </span><span class="py">cluster_root</span> <span class="p">=</span> <span class="s">/pegasus/my-cluster </span> |
| <span class="c">;元数据存储服务的实现类 |
| </span><span class="py">meta_state_service_type</span> <span class="p">=</span> <span class="s">meta_state_service_zookeeper </span> |
| <span class="c">;元数据存储服务的初始化参数 |
| </span><span class="py">meta_state_service_parameters</span> <span class="p">=</span> |
| <span class="c">;分布式锁服务的实现类 |
| </span><span class="s">distributed_lock_service_type = distributed_lock_service_zookeeper </span> |
| <span class="c">;分布式锁服务的初始化参数 |
| </span><span class="py">distributed_lock_service_parameters</span> <span class="p">=</span> <span class="s">/pegasus/onebox/127.0.0.1 </span> |
| <span class="c">;判断一个ReplicaServer是不是稳定运行的时间阈值 |
| </span><span class="py">stable_rs_min_running_seconds</span> <span class="p">=</span> <span class="s">600</span> |
| <span class="c">;一个ReplicaServer最多可以崩溃的次数, |
| ;如果崩溃太频繁,就会上MetaServer的黑名单 |
| </span><span class="py">max_succssive_unstable_restart</span> <span class="p">=</span> <span class="s">5 </span> |
| <span class="c">;负载均衡器的实现类 |
| </span><span class="py">server_load_balancer_type</span> <span class="p">=</span> <span class="s">greedy_load_balancer</span> |
| <span class="c">;当一个secondary被移除后,等待它回来的最长时间阈值 |
| </span><span class="py">replica_assign_delay_ms_for_dropouts</span> <span class="p">=</span> <span class="s">300000</span> |
| <span class="c">;如果不可用节点比例太高,MetaServer会进入freezed的保护状态 |
| </span><span class="py">node_live_percentage_threshold_for_update</span> <span class="p">=</span> <span class="s">50</span> |
| <span class="c">;如果不可用的节点个数太少,MetaServer也会进入freezed的保护状态 |
| </span><span class="py">min_live_node_count_for_unfreeze</span> <span class="p">=</span> <span class="s">3</span> |
| <span class="c">;表删除后在回收站中默认的保留时间 |
| </span><span class="py">hold_seconds_for_dropped_app</span> <span class="p">=</span> <span class="s">604800</span> |
| <span class="c">;MetaServer启动时的默认function_level状态, |
| ;steady表示不进行负载均衡的稳定状态 |
| </span><span class="py">meta_function_level_on_start</span> <span class="p">=</span> <span class="s">steady</span> |
| <span class="c">;如果为true, 集群启动时就会进入“元数据恢复”流程 |
| </span><span class="py">recover_from_replica_server</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="c">;一个replica group中最多保留的副本数(可用副本+尸体) |
| </span><span class="py">max_replicas_in_group</span> <span class="p">=</span> <span class="s">4 </span> |
| |
| <span class="c">;;;; 集群在bootstrap时默认要创建的表 |
| </span><span class="nn">[replication.app]</span> |
| <span class="c">;表名 |
| </span><span class="py">app_name</span> <span class="p">=</span> <span class="s">temp</span> |
| <span class="c">;type表征了存储引擎,pegasus表示我们基于rocksdb实现的存储引擎 |
| </span><span class="py">app_type</span> <span class="p">=</span> <span class="s">pegasus</span> |
| <span class="c">;分片数 |
| </span><span class="py">partition_count</span> <span class="p">=</span> <span class="s">8</span> |
| <span class="c">;每个分片的副本个数 |
| </span><span class="py">max_replica_count</span> <span class="p">=</span> <span class="s">3</span> |
| <span class="c">;rDSN参数,对于app_type = pegasus需要设置为true |
| </span><span class="py">stateful</span> <span class="p">=</span> <span class="s">true</span> |
| <span class="py">package_id</span> <span class="p">=</span> |
| |
| <span class="c">;;;; 一致性协议相关配置,很多概念和PacificA相关 |
| </span><span class="s">[replication] </span> |
| <span class="c">;shared log存储的文件夹路径 |
| </span><span class="py">slog_dir</span> <span class="p">=</span> <span class="s">/home/work/ssd1/pegasus/@cluster@ </span> |
| <span class="c">;replica数据存储的文件夹路径列表,建议一块磁盘配置一个项, |
| ;tag为磁盘的标记名 |
| </span><span class="py">data_dirs</span> <span class="p">=</span> <span class="s">tag1:/home/work/ssd2/pegasus/@cluster@,tag2:/home/work/ssd3/pegasus/@cluster@ </span> |
| <span class="c">;黑名单文件,文件中每行是一个需忽略掉的文件夹,主要用于过滤坏盘 |
| </span><span class="py">data_dirs_black_list_file</span> <span class="p">=</span> <span class="s">/home/mi/.pegasus_data_dirs_black_list</span> |
| |
| <span class="c">;ReplicaServer启动时是否要拒绝掉客户端写 |
| </span><span class="py">deny_client_on_start</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="c">;ReplicaServer启动时是否等待一段时间后才开始连接MetaServer |
| </span><span class="py">delay_for_fd_timeout_on_start</span> <span class="p">=</span> <span class="s">false </span> |
| <span class="c">;是否打印commit log的调试信息 |
| </span><span class="py">verbose_log_on_commit</span> <span class="p">=</span> <span class="s">false </span> |
| <span class="c">;primary会定期生成一个空的写操作以检查group状态,是否禁止该特性 |
| </span><span class="py">empty_write_disabled</span> <span class="p">=</span> <span class="s">false</span> |
| |
| <span class="c">;prepare的超时时间 |
| </span><span class="py">prepare_timeout_ms_for_secondaries</span> <span class="p">=</span> <span class="s">1000</span> |
| <span class="c">;给learner发prepare的超时时间 |
| </span><span class="py">prepare_timeout_ms_for_potential_secondaries</span> <span class="p">=</span> <span class="s">3000 </span> |
| |
| <span class="c">;是否禁止掉客户端写请求的batch功能 |
| </span><span class="py">batch_write_disabled</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="c">;保留多少个已经commit的写请求在队列中 |
| </span><span class="py">staleness_for_commit</span> <span class="p">=</span> <span class="s">20</span> |
| <span class="c">;prepare_list的容量 |
| </span><span class="py">max_mutation_count_in_prepare_list</span> <span class="p">=</span> <span class="s">110 </span> |
| <span class="c">;想要成功进行一次写操作,最少需要多少个副本 |
| </span><span class="py">mutation_2pc_min_replica_count</span> <span class="p">=</span> <span class="s">2 </span> |
| |
| <span class="c">;primary会定期推送group状态给其他成员,是否禁用该特性 |
| </span><span class="py">group_check_disabled</span> <span class="p">=</span> <span class="s">false </span> |
| <span class="c">;group check的时间间隔 |
| </span><span class="py">group_check_interval_ms</span> <span class="p">=</span> <span class="s">100000 </span> |
| |
| <span class="c">;是否禁用定期checkpoint的生成 |
| </span><span class="py">checkpoint_disabled</span> <span class="p">=</span> <span class="s">false </span> |
| <span class="c">;checkpoint的尝试触发时间间隔,尝试触发并不一定生成checkpoint |
| </span><span class="py">checkpoint_interval_seconds</span> <span class="p">=</span> <span class="s">100 </span> |
| <span class="py">checkpoint_min_decree_gap</span> <span class="p">=</span> <span class="s">10000</span> |
| <span class="c">;checkpoint的强制触发时间间隔,强制触发会将memtable的数据刷出 |
| </span><span class="py">checkpoint_max_interval_hours</span> <span class="p">=</span> <span class="s">1 </span> |
| |
| <span class="c">;是否禁用WAL的垃圾回收 |
| </span><span class="py">gc_disabled</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">gc_interval_ms</span> <span class="p">=</span> <span class="s">30000</span> |
| <span class="c">;如果一个replica需要关闭,在内存中保留多长时间 |
| </span><span class="py">gc_memory_replica_interval_ms</span> <span class="p">=</span> <span class="s">300000</span> |
| <span class="c">;一个因为IO错误关闭掉的replica,在磁盘保留多长时间 |
| </span><span class="py">gc_disk_error_replica_interval_seconds</span> <span class="p">=</span> <span class="s">172800000</span> |
| |
| <span class="c">;failure detector是否禁止 |
| </span><span class="py">fd_disabled</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">fd_check_interval_seconds</span> <span class="p">=</span> <span class="s">5</span> |
| <span class="py">fd_beacon_interval_seconds</span> <span class="p">=</span> <span class="s">3</span> |
| <span class="py">fd_lease_seconds</span> <span class="p">=</span> <span class="s">10</span> |
| <span class="py">fd_grace_seconds</span> <span class="p">=</span> <span class="s">15</span> |
| |
| <span class="c">;每一个private log多大,超过了该阈值就滚动到下一个文件 |
| </span><span class="py">log_private_file_size_mb</span> <span class="p">=</span> <span class="s">32 </span> |
| <span class="c">;private log一个batch的最小容量 |
| </span><span class="py">log_private_batch_buffer_kb</span> <span class="p">=</span> <span class="s">512 </span> |
| <span class="c">;private log一个batch的最小条数 |
| </span><span class="py">log_private_batch_buffer_count</span> <span class="p">=</span> <span class="s">512 </span> |
| <span class="c">;超过该事件没写private log, 则强制刷一次 |
| </span><span class="py">log_private_batch_buffer_flush_interval_ms</span> <span class="p">=</span> <span class="s">100000 </span> |
| <span class="py">log_private_reserve_max_size_mb</span> <span class="p">=</span> <span class="s">0</span> |
| <span class="py">log_private_reserve_max_time_seconds</span> <span class="p">=</span> <span class="s">0</span> |
| |
| <span class="c">;shared log多大,超过该阈值就滚动到下一个文件 |
| </span><span class="py">log_shared_file_size_mb</span> <span class="p">=</span> <span class="s">32 </span> |
| <span class="py">log_shared_file_count_limit</span> <span class="p">=</span> <span class="s">32</span> |
| <span class="py">log_shared_batch_buffer_kb</span> <span class="p">=</span> <span class="s">0</span> |
| <span class="py">log_shared_force_flush</span> <span class="p">=</span> <span class="s">false</span> |
| |
| <span class="c">;replica server会定期和meta server同步本机所服务的replica, |
| ;该配置表示是否禁止这一特性 |
| </span><span class="py">config_sync_disabled</span> <span class="p">=</span> <span class="s">false </span> |
| <span class="c">;同步的时间间隔 |
| </span><span class="py">config_sync_interval_ms</span> <span class="p">=</span> <span class="s">30000 </span> |
| |
| <span class="c">;meta server跑负载均衡的周期 |
| </span><span class="py">lb_interval_ms</span> <span class="p">=</span> <span class="s">10000 </span> |
| |
| <span class="nn">[pegasus.server]</span> |
| <span class="c">;;; rocksdb相关配置 |
| ;是否打印Pegasus中反应RocksDB运行情况的调试日志 |
| </span><span class="py">rocksdb_verbose_log</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="c">;RocksDB Get操作的慢日志阈值,如果操作时长超过了该数值, |
| ;那么将会被写入日志。0代表不会写入 |
| </span><span class="py">rocksdb_abnormal_get_time_threshold_ns</span> <span class="p">=</span> <span class="s">100000000</span> |
| <span class="c">;RocksDB Get操作的大key日志阈值,如果操作获取的value的长度大于该数值, |
| ;那么将会被写入日志。0代表不会写入 |
| </span><span class="py">rocksdb_abnormal_get_size_threshold</span> <span class="p">=</span> <span class="s">1000000</span> |
| <span class="c">;RocksDB Multi-Get操作的慢日志阈值,如果操作时长超过了该数值, |
| ;那么将会被写入日志。0代表不会写入 |
| </span><span class="py">rocksdb_abnormal_multi_get_time_threshold_ns</span> <span class="p">=</span> <span class="s">100000000</span> |
| <span class="c">;如果RocksDB Multi-Get操作的所有key-value的长度之和大于该数值, |
| ;那么将会被写入日志。0代表不会写入 |
| </span><span class="py">rocksdb_abnormal_multi_get_size_threshold</span> <span class="p">=</span> <span class="s">10000000</span> |
| <span class="c">;如果RocksDB Multi-Get操作的key-value对数量超过了该数值, |
| ;那么将会被写入日志。0代表不会写入 |
| </span><span class="py">rocksdb_abnormal_multi_get_iterate_count_threshold</span> <span class="p">=</span> <span class="s">1000</span> |
| <span class="c">;单个memtable的最大size。 |
| ;一旦memtable大小超过该数值,将会被标记为不可修改, |
| ;并且会创建一个新的memtable。 |
| ;然后,一个后台线程会把memtable的内容落盘到一个SST文件 |
| </span><span class="py">rocksdb_write_buffer_size</span> <span class="p">=</span> <span class="s">67108864</span> |
| <span class="c">;memtable的最大数量,包括active-memtable和immutable-memtable, |
| ;如果active memtable被填满,并且memtable的总数量大于该数值, |
| ;那么将会被延缓写入 |
| </span><span class="py">rocksdb_max_write_buffer_number</span> <span class="p">=</span> <span class="s">3</span> |
| <span class="c">;后台flush线程数量。flush线程在高优先级的线程池中 |
| </span><span class="py">rocksdb_max_background_flushes</span> <span class="p">=</span> <span class="s">4</span> |
| <span class="c">;后台compaction线程数量。compaction线程在低优先级的线程池中 |
| </span><span class="py">rocksdb_max_background_compactions</span> <span class="p">=</span> <span class="s">12</span> |
| <span class="c">;RocksDB LSM tree层数 |
| </span><span class="py">rocksdb_num_levels</span> <span class="p">=</span> <span class="s">6 </span> |
| <span class="c">;level 1层的文件大小最大为target_file_size_base字节 |
| </span><span class="py">rocksdb_target_file_size_base</span> <span class="p">=</span> <span class="s">67108864</span> |
| <span class="c">;每一层文件大小是其上一层的rocksdb_target_file_size_multiplier倍。 |
| ;默认情况下rocksdb_target_file_size_multiplier是1, |
| ;也就是说每层的文件大小相同 |
| </span><span class="py">rocksdb_target_file_size_multiplier</span> <span class="p">=</span> <span class="s">1</span> |
| <span class="c">;level 1层中的所有文件的总大小 |
| </span><span class="py">rocksdb_max_bytes_for_level_base</span> <span class="p">=</span> <span class="s">671088640</span> |
| <span class="c">;每一层其所有总文件大小是其上一层的rocksdb_max_bytes_for_level_multiplier倍。 |
| ;默认情况下rocksdb_max_bytes_for_level_multiplier是10, |
| ;也就是说每层总文件大小是上一层的10倍。 |
| </span><span class="py">rocksdb_max_bytes_for_level_multiplier</span> <span class="p">=</span> <span class="s">10 </span> |
| <span class="c">;如果level 0中的文件数量超过了该指定数值,L0->L1 compaction将会被触发 |
| </span><span class="py">rocksdb_level0_file_num_compaction_trigger</span> <span class="p">=</span> <span class="s">4</span> |
| <span class="c">;如果level 0中的文件数量超过了该指定数值,那么写入速度将会被降低 |
| </span><span class="py">rocksdb_level0_slowdown_writes_trigger</span> <span class="p">=</span> <span class="s">30</span> |
| <span class="c">;如果level 0中的文件数量超过了该指定数值,那么写入将会被禁止 |
| </span><span class="py">rocksdb_level0_stop_writes_trigger</span> <span class="p">=</span> <span class="s">60</span> |
| <span class="c">;压缩算法类型, 支持 none,snappy,lz4,zstd几种选项。 |
| ;支持为每一层单独配置压缩算法,用逗号分隔,如: |
| ;“none,none,snappy,zstd” 表示L0,L1不进行压缩, |
| ;L2使用snappy压缩,L3往下使用zstd压缩。 |
| </span><span class="py">rocksdb_compression_type</span> <span class="p">=</span> <span class="s">lz4 </span> |
| <span class="c">;如果该值被设置为true,则表示禁用block cache功能 |
| </span><span class="py">rocksdb_disable_table_block_cache</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="c">;进程中所有RocksDB实例共享的 Block Cache 内存容量,以 bytes为单位 |
| </span><span class="py">rocksdb_block_cache_capacity</span> <span class="p">=</span> <span class="s">10737418240</span> |
| <span class="c">;shard id的bit位数。 |
| ;为了并发操作,block cache被分成很多shard, |
| ;数量为2^rocksdb_block_ache_num_shard_bits个 |
| </span><span class="py">rocksdb_block_cache_num_shard_bits</span> <span class="p">=</span> <span class="s">-1 </span> |
| <span class="c">;如果该值被设置为true,则表示禁用bloom filter功能 |
| </span><span class="py">rocksdb_disable_bloom_filter</span> <span class="p">=</span> <span class="s">false</span> |
| |
| <span class="c">;;; 监控相关配置,部分和小米的开源监控系统open-falcon相关 |
| </span><span class="py">perf_counter_cluster_name</span> <span class="p">=</span> <span class="s">onebox</span> |
| <span class="c">;监控项的汇报周期 |
| </span><span class="py">perf_counter_update_interval_seconds</span> <span class="p">=</span> <span class="s">10 </span> |
| <span class="c">;是否允许直接向service拉去监控项 |
| </span><span class="py">perf_counter_enable_stat</span> <span class="p">=</span> <span class="s">true</span> |
| <span class="c">;是否允许把所有监控项打印到日志 |
| </span><span class="py">perf_counter_enable_logging</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="c">;是否允许把监控项推送到falcon |
| </span><span class="py">perf_counter_enable_falcon</span> <span class="p">=</span> <span class="s">false</span> |
| |
| <span class="py">falcon_host</span> <span class="p">=</span> <span class="s">127.0.0.1</span> |
| <span class="py">falcon_port</span> <span class="p">=</span> <span class="s">1988</span> |
| <span class="py">falcon_path</span> <span class="p">=</span> <span class="s">/v1/push</span> |
| |
| <span class="c">;;;; task相关配置模板,里面的概念都和rDSN相关 |
| </span><span class="nn">[task..default]</span> |
| <span class="py">is_trace</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">is_profile</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">allow_inline</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">rpc_call_header_format</span> <span class="p">=</span> <span class="s">NET_HDR_DSN</span> |
| <span class="py">rpc_call_channel</span> <span class="p">=</span> <span class="s">RPC_CHANNEL_TCP</span> |
| <span class="py">rpc_timeout_milliseconds</span> <span class="p">=</span> <span class="s">5000 </span> |
| <span class="py">disk_write_fail_ratio</span> <span class="p">=</span> <span class="s">0.0</span> |
| <span class="py">disk_read_fail_ratio</span> <span class="p">=</span> <span class="s">0.0</span> |
| |
| <span class="c">;;;; task RPC_L2_CLIENT_READ的相关配置, |
| ;选项均继承模板,自定义的部分表示该task需要监控的内容 |
| </span><span class="nn">[task.RPC_L2_CLIENT_READ]</span> |
| <span class="py">is_profile</span> <span class="p">=</span> <span class="s">true</span> |
| <span class="err">profiler::</span><span class="py">inqueue</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="err">profiler::</span><span class="py">queue</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="err">profiler::</span><span class="py">exec</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="err">profiler::</span><span class="py">qps</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="err">profiler::</span><span class="py">cancelled</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="err">profiler::</span><span class="py">latency.server</span> <span class="p">=</span> <span class="s">false</span> |
| |
| <span class="c">;;;;;;; 以下是各种各样的杂项配置 |
| ;;;; 监控实现类相关 |
| </span><span class="nn">[components.pegasus_perf_counter_number_percentile_atomic]</span> |
| <span class="py">counter_computation_interval_seconds</span> <span class="p">=</span> <span class="s">10</span> |
| |
| <span class="c">;;;; zookeeper相关 |
| </span><span class="nn">[zookeeper]</span> |
| <span class="py">hosts_list</span> <span class="p">=</span> <span class="s">127.0.0.1:22181</span> |
| <span class="py">timeout_ms</span> <span class="p">=</span> <span class="s">10000</span> |
| <span class="py">logfile</span> <span class="p">=</span> <span class="s">zoo.log</span> |
| |
| <span class="c">;;;; logger的实现类相关 |
| </span><span class="nn">[tools.simple_logger]</span> |
| <span class="py">short_header</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">fast_flush</span> <span class="p">=</span> <span class="s">false</span> |
| <span class="py">max_number_of_log_files_on_disk</span> <span class="p">=</span> <span class="s">500</span> |
| <span class="py">stderr_start_level</span> <span class="p">=</span> <span class="s">LOG_LEVEL_ERROR</span> |
| </code></pre></div></div> |
| |
| <h2 id="配置建议">配置建议</h2> |
| |
| <p>一些配置建议:</p> |
| |
| <ul> |
| <li>配置文件中所有需要使用机器名的地方,都建议使用IP地址。</li> |
| <li>大部分配置项,建议使用默认值。</li> |
| <li>对于高级用户,可以根据需要自行配置,但是前提是需要理解配置项的作用和影响。</li> |
| <li>由于文档不能面面俱到,对配置项的作用不太清楚的,可以直接查看源代码。</li> |
| </ul> |
| |
| </div> |
| </section> |
| <footer class="footer"> |
| <div class="container"> |
| <div class="content is-small has-text-centered"> |
| <div style="margin-bottom: 20px;"> |
| <a href="http://incubator.apache.org"> |
| <img src="/assets/images/egg-logo.png" |
| width="15%" |
| alt="Apache Incubator"/> |
| </a> |
| </div> |
| Copyright © 2023 <a href="http://www.apache.org">The Apache Software Foundation</a>. |
| Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version |
| 2.0</a>. |
| <br><br> |
| |
| Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF), |
| sponsored by the Apache Incubator. Incubation is required of all newly accepted projects |
| until a further review indicates that the infrastructure, communications, and decision making process |
| have stabilized in a manner consistent with other successful ASF projects. While incubation status is |
| not necessarily a reflection of the completeness or stability of the code, it does indicate that the |
| project has yet to be fully endorsed by the ASF. |
| |
| <br><br> |
| Apache Pegasus, Pegasus, Apache, the Apache feather logo, and the Apache Pegasus project logo are either |
| registered trademarks or trademarks of The Apache Software Foundation in the United States and other |
| countries. |
| </div> |
| </div> |
| </footer> |
| </div> |
| |
| <!-- right panel --> |
| <div class="dashboard-panel is-small is-scrollable is-hidden-mobile"> |
| <p class="menu-label"> |
| <span class="icon"> |
| <i class="fa fa-bars" aria-hidden="true"></i> |
| </span> |
| 本页导航 |
| </p> |
| <ul class="menu-list"> |
| <li><a href="#配置组成部分">配置组成部分</a></li> |
| <li><a href="#配置文件部分说明">配置文件部分说明</a></li> |
| <li><a href="#配置建议">配置建议</a></li> |
| </ul> |
| |
| </div> |
| </div> |
| |
| <script src="/assets/js/app.js" type="text/javascript"></script> |
| <script> |
| docsearch({ |
| container: '#docsearch', |
| appId: 'QRN30RBW0S', |
| indexName: 'pegasus-apache', |
| apiKey: 'd3a3252fa344359766707a106c4ed88f', |
| debug: true |
| }); |
| </script> |
| |
| </body> |
| |
| </html> |