blob: 7c4bec953b68562d16770f99affdf183ac9b8a57 [file] [log] [blame]
<!doctype html>
<html lang="zh-Hans-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-1.2 plugin-docs plugin-id-default docs-doc-id-admin-manual/maint-monitor/tablet-repair-and-balance" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name="generator" content="Docusaurus v2.4.3">
<link rel="alternate" type="application/rss+xml" href="/zh-CN/blog/rss.xml" title="Apache Doris RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Doris Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-DT7W9E9722"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-DT7W9E9722",{anonymize_ip:!0})</script>
<link rel="preconnect" href="https://analytics.apache.org/">
<script>var _paq=window._paq=window._paq||[];_paq.push(["setRequestMethod","POST"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),_paq.push(["enableHeartBeatTimer"]),function(){var e="https://analytics.apache.org/";_paq.push(["setRequestMethod","POST"]),_paq.push(["setTrackerUrl",e+"matomo.php"]),_paq.push(["setSiteId","43"]);var a=document,t=a.createElement("script"),p=a.getElementsByTagName("script")[0];t.type="text/javascript",t.async=!0,t.src=e+"matomo.js",p.parentNode.insertBefore(t,p)}()</script>
<link rel="icon" href="/zh-CN/images/logo-only.png">
<link rel="manifest" href="/zh-CN/manifest.json">
<meta name="theme-color" content="#FFFFFF">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="#000">
<link rel="apple-touch-icon" href="/zh-CN/img/docusaurus.png">
<link rel="mask-icon" href="/zh-CN/img/docusaurus.svg" color="rgb(37, 194, 160)">
<meta name="msapplication-TileImage" content="/zh-CN/img/docusaurus.png">
<meta name="msapplication-TileColor" content="#000">
<link rel="stylesheet" href="https://cdn-font.hyperos.mi.com/font/css?family=MiSans:100,200,300,400,450,500,600,650,700,900:Chinese_Simplify,Latin&display=swap">
<link rel="stylesheet" href="https://cdn-font.hyperos.mi.com/font/css?family=MiSans_Latin:100,200,300,400,450,500,600,650,700,900:Latin&display=swap">
<script src="/js/custom-script.js"></script><title data-rh="true">数据副本管理 - Apache Doris</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://doris.apache.org/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus_version" content="1.2"><meta data-rh="true" name="docusaurus_tag" content="docs-default-1.2"><meta data-rh="true" name="docsearch:version" content="1.2"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-1.2"><meta data-rh="true" property="og:title" content="数据副本管理 - Apache Doris"><meta data-rh="true" name="description" content="&lt;!--"><meta data-rh="true" property="og:description" content="&lt;!--"><link data-rh="true" rel="icon" href="/zh-CN/images/favicon.ico"><link data-rh="true" rel="canonical" href="https://doris.apache.org/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance"><link data-rh="true" rel="alternate" href="https://doris.apache.org/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance" hreflang="en-US"><link data-rh="true" rel="alternate" href="https://doris.apache.org/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance" hreflang="zh-Hans-CN"><link data-rh="true" rel="alternate" href="https://doris.apache.org/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance" hreflang="x-default"><link rel="stylesheet" href="https://cdnd.selectdb.com/zh-CN/assets/css/styles.6c1d6100.css">
<link rel="preload" href="https://cdnd.selectdb.com/zh-CN/assets/js/runtime~main.ea863d93.js" as="script">
<link rel="preload" href="https://cdnd.selectdb.com/zh-CN/assets/js/main.bda5da23.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><div class="announcementBar_s0pr" style="background-color:#3C2FD4;color:#FFFFFF" role="banner"><div class="announcementBarPlaceholder_qxfj"></div><div class="announcementBarContent_dpRF"><a href="https://github.com/apache/doris" target="_blank" style="display: flex; width: 100%; align-items: center; justify-content: center; margin-left: 4px; text-decoration: none; color: white">Do you ❤️ Doris? Give us a 🌟 on GitHub
<img style="width: 1.2rem; height: 1.2rem; margin-left: 0.4rem;" src="/images/github-white-icon.svg">
</a></div><button type="button" class="clean-btn close announcementBarClose_iXyO" aria-label="关闭"><svg viewBox="0 0 15 15" width="14" height="14" style="color:white"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner" style="padding:"><div class="navbar__items"><div class="navbar-left"><div class="navbar-logo-wrapper flex items-center"><a class="navbar__brand" href="/zh-CN/"><div class="navbar__logo"><img src="https://cdnd.selectdb.com/images/logo.svg" alt="Apache Doris" class="themedImage_ToTc themedImage--light_HNdA"><img src="https://cdnd.selectdb.com/images/logo.svg" alt="Apache Doris" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate"></b></a></div><a class="navbar__item navbar__link" style="text-align:center" href="/zh-CN/docs/get-starting/quick-start">Docs</a><a class="navbar__item navbar__link" style="text-align:center" href="/zh-CN/blog">Blog</a><a class="navbar__item navbar__link" style="text-align:center" href="/zh-CN/users">Users</a><a href="https://github.com/apache/doris/discussions" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link" style="text-align:center">Discussions</a><a class="navbar__item navbar__link" style="text-align:center" href="/zh-CN/ecosystem/cluster-management">Ecosystem</a><a class="navbar__item navbar__link" style="text-align:center" href="/zh-CN/community/join-community">Community</a></div></div><div class="navbar__items navbar__items--right"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><div class="docs-search searchBox_H2mL"><div class="navbar__search searchBarContainer_PzyC"><input placeholder="搜索" aria-label="Search" class="navbar__search-input navbarSearchInput_tb6T"><div class="loadingRing__K5d searchBarLoadingRing_e2f0"><div></div><div></div><div></div><div></div></div><div class="searchHintContainer_m7ml"><kbd class="searchHint_zuPL">ctrl</kbd><kbd class="searchHint_zuPL">K</kbd></div></div></div><div class="custom-navbar-item navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg class="icon-language" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M7.75756 14.3L10.5816 6.91667H11.8759L14.7 14.3H13.4057L12.7501 12.4167H9.74113L9.06873 14.3H7.75756ZM10.1109 11.35H12.3467L11.254 8.3H11.2036L10.1109 11.35ZM2.84908 12.45L1.97498 11.5833L5.11841 8.48333C4.72618 8.05 4.38439 7.60267 4.09302 7.14133C3.80165 6.68044 3.54389 6.19444 3.31976 5.68333H4.61412C4.80463 6.06111 5.00635 6.39711 5.21927 6.69133C5.43219 6.986 5.68434 7.29444 5.97571 7.61667C6.43519 7.12778 6.81621 6.62511 7.11879 6.10867C7.42137 5.59178 7.67352 5.03889 7.87523 4.45H1V3.23333H5.33694V2H6.58087V3.23333H10.9178V4.45H9.11916C8.89503 5.18333 8.59805 5.89155 8.22824 6.57467C7.85842 7.25822 7.39895 7.90555 6.84983 8.51667L8.3459 10.0167L7.87523 11.2833L5.95891 9.38333L2.84908 12.45Z" fill="#4C576C"></path></svg></a><ul class="dropdown__menu"><li><a href="/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance" target="_self" rel="noopener noreferrer" class="dropdown__link" style="text-align:center">English</a></li><li><a href="/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" style="text-align:center">中文</a></li></ul></div><div class="custom-navbar-item navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/zh-CN/docs/1.2/get-starting/"><span class="text-sm">Versions: <!-- -->1.2</span></a><ul class="dropdown__menu"><li><a class="dropdown__link" style="text-align:center" href="/zh-CN/docs/dev/admin-manual/maint-monitor/tablet-repair-and-balance">dev</a></li><li><a class="dropdown__link" style="text-align:center" href="/zh-CN/docs/admin-manual/maint-monitor/tablet-repair-and-balance">2.1</a></li><li><a class="dropdown__link" style="text-align:center" href="/zh-CN/docs/2.0/admin-manual/maint-monitor/tablet-repair-and-balance">2.0</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" style="text-align:center" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance">1.2</a></li></ul></div><a class="navbar__item navbar__link header-right-button-primary navbar-download-mobile" style="text-align:center" href="/zh-CN/download">Download</a><a href="https://github.com/apache/doris" target="_blank" rel="noopener noreferrer" class="github-btn desktop header-right-button-github"></a><a href="https://join.slack.com/t/apachedoriscommunity/shared_invite/zt-2kl08hzc0-SPJe4VWmL_qzrFd2u2XYQA" target="_blank" rel="noopener noreferrer" class="slack-btn desktop header-right-button-slack"></a><a class="header-right-button-primary navbar-download-desktop" href="/zh-CN/download">Download</a></div></div><div class="navbar__bottom"></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><div class="main-wrapper docsWrapper_BCFX"><button aria-label="回到顶部" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar"><nav aria-label="文档侧边栏" class="menu custom-scrollbar menu_Y1UP menuWithAnnouncementBar_fPny"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/get-starting/">快速开始</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/summary/basic-summary">Doris 介绍</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/install/standard-deployment">安装部署</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/data-table/data-model">数据表设计</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/data-operate/import/load-manual">数据操作</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/advanced/alter-table/schema-change">进阶使用</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/query-acceleration/materialized-view">查询加速</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/lakehouse/multi-catalog/">数据湖分析</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/ecosystem/spark-doris-connector">生态扩展</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/sql-manual/sql-functions/array-functions/array">SQL 手册</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/zh-CN/docs/1.2/admin-manual/cluster-management/upgrade">管理手册</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list menu__list_level_2"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/cluster-management/upgrade">集群管理</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/data-admin/backup">数据管理</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/sql-interception">SQL拦截</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/query-profile">查询分析</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/tracing">链路追踪</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/optimization">性能优化</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/certificate">SSL密钥证书配置</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/fe-certificate">FE SSL密钥证书配置</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/monitor-metrics/metrics">运维监控</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_3 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/monitor-metrics/metrics">监控指标</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/disk-capacity">磁盘空间管理</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-repair-and-balance">数据副本管理</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/be-olap-error-code">BE端OLAP函数的返回值说明</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/doris-error-code">Doris错误代码表</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-meta-tool">Tablet 元数据管理工具</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/monitor-alert">监控和报警</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-local-debug">Tablet 本地调试</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/tablet-restore-tool">Tablet 恢复工具</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/metadata-operation">元数据运维</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/memory-management/memory-tracker">内存管理</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/config/config-dir">配置管理</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/privilege-ldap/user-privilege">用户权限及认证</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/system-table/rowsets">System Table</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/multi-tenant">多租户和资源划分</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link_level_2 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/zh-CN/docs/1.2/admin-manual/http-actions/fe/config-action">HTTP API</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/faq/install-faq">常见问题</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/benchmark/ssb">性能测试</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a id="menu__group" class="menu__link menu__link_level_1 menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/zh-CN/docs/1.2/releasenotes/release-1.2.8">Release notes</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_z5aJ"><div class="docItemContainer_c0TR"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="页面路径"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="主页面" class="breadcrumbs__link" href="/zh-CN/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">管理手册</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">运维监控</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">数据副本管理</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">本页总览</button></div><div class="theme-doc-markdown markdown"><header><h1>数据副本管理</h1></header><h1>数据副本管理</h1><p>从 0.9.0 版本开始,Doris 引入了优化后的副本管理策略,同时支持了更为丰富的副本状态查看工具。本文档主要介绍 Doris 数据副本均衡、修复方面的调度策略,以及副本管理的运维方法。帮助用户更方便的掌握和管理集群中的副本状态。</p><blockquote><p>Colocation 属性的表的副本修复和均衡可以参阅<a href="/zh-CN/docs/1.2/query-acceleration/join-optimization/colocation-join">这里</a></p></blockquote><h2 class="anchor anchorWithStickyNavbar_LWe7" id="名词解释">名词解释<a href="#名词解释" class="hash-link" aria-label="名词解释的直接链接" title="名词解释的直接链接"></a></h2><ol><li>Tablet:Doris 表的逻辑分片,一个表有多个分片。</li><li>Replica:分片的副本,默认一个分片有3个副本。</li><li>Healthy Replica:健康副本,副本所在 Backend 存活,且副本的版本完整。</li><li>TabletChecker(TC):是一个常驻的后台线程,用于定期扫描所有的 Tablet,检查这些 Tablet 的状态,并根据检查结果,决定是否将 tablet 发送给 TabletScheduler。</li><li>TabletScheduler(TS):是一个常驻的后台线程,用于处理由 TabletChecker 发来的需要修复的 Tablet。同时也会进行集群副本均衡的工作。</li><li>TabletSchedCtx(TSC):是一个 tablet 的封装。当 TC 选择一个 tablet 后,会将其封装为一个 TSC,发送给 TS。</li><li>Storage Medium:存储介质。Doris 支持对分区粒度指定不同的存储介质,包括 SSD 和 HDD。副本调度策略也是针对不同的存储介质分别调度的。</li></ol><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +--------+ +-----------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> | Meta | | Backends |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +---^----+ +------^----+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> | | | 3. Send clone tasks</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> 1. Check tablets | | |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +--------v------+ +-----------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> | TabletChecker +--------&gt; TabletScheduler |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> +---------------+ +-----------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> 2. Waiting to be scheduled</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>上图是一个简化的工作流程。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="副本状态">副本状态<a href="#副本状态" class="hash-link" aria-label="副本状态的直接链接" title="副本状态的直接链接"></a></h2><p>一个 Tablet 的多个副本,可能因为某些情况导致状态不一致。Doris 会尝试自动修复这些状态不一致的副本,让集群尽快从错误状态中恢复。</p><p><strong>一个 Replica 的健康状态有以下几种:</strong></p><ol><li><p>BAD</p><p>即副本损坏。包括但不限于磁盘故障、BUG等引起的副本不可恢复的损毁状态。</p></li><li><p>VERSION<!-- -->_<!-- -->MISSING</p><p>版本缺失。Doris 中每一批次导入都对应一个数据版本。而一个副本的数据由多个连续的版本组成。而由于导入错误、延迟等原因,可能导致某些副本的数据版本不完整。</p></li><li><p>HEALTHY</p><p>健康副本。即数据正常的副本,并且副本所在的 BE 节点状态正常(心跳正常且不处于下线过程中)</p></li></ol><p><strong>一个 Tablet 的健康状态由其所有副本的状态决定,有以下几种:</strong></p><ol><li><p>REPLICA<!-- -->_<!-- -->MISSING</p><p>副本缺失。即存活副本数小于期望副本数。</p></li><li><p>VERSION<!-- -->_<!-- -->INCOMPLETE</p><p>存活副本数大于等于期望副本数,但其中健康副本数小于期望副本数。</p></li><li><p>REPLICA<!-- -->_<!-- -->RELOCATING</p><p>拥有等于 replication num 的版本完整的存活副本数,但是部分副本所在的 BE 节点处于 unavailable 状态(比如 decommission 中)</p></li><li><p>REPLICA<!-- -->_<!-- -->MISSING<!-- -->_<!-- -->IN<!-- -->_<!-- -->CLUSTER</p><p>当使用多 cluster 方式时,健康副本数大于等于期望副本数,但在对应 cluster 内的副本数小于期望副本数。</p></li><li><p>REDUNDANT</p><p>副本冗余。健康副本都在对应 cluster 内,但数量大于期望副本数。或者有多余的 unavailable 副本。</p></li><li><p>FORCE<!-- -->_<!-- -->REDUNDANT</p><p>这是一个特殊状态。只会出现在当已存在副本数大于等于可用节点数,可用节点数大于等于期望副本数,并且存活的副本数小于期望副本数。这种情况下,需要先删除一个副本,以保证有可用节点用于创建新副本。</p></li><li><p>COLOCATE<!-- -->_<!-- -->MISMATCH</p><p>针对 Colocation 属性的表的分片状态。表示分片副本与 Colocation Group 的指定的分布不一致。</p></li><li><p>COLOCATE<!-- -->_<!-- -->REDUNDANT</p><p>针对 Colocation 属性的表的分片状态。表示 Colocation 表的分片副本冗余。</p></li><li><p>HEALTHY</p><p>健康分片,即条件<!-- -->[1-8]<!-- -->都不满足。</p></li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="副本修复">副本修复<a href="#副本修复" class="hash-link" aria-label="副本修复的直接链接" title="副本修复的直接链接"></a></h2><p>TabletChecker 作为常驻的后台进程,会定期检查所有分片的状态。对于非健康状态的分片,将会交给 TabletScheduler 进行调度和修复。修复的实际操作,都由 BE 上的 clone 任务完成。FE 只负责生成这些 clone 任务。</p><blockquote><p>注1:副本修复的主要思想是先通过创建或补齐使得分片的副本数达到期望值,然后再删除多余的副本。</p><p>注2:一个 clone 任务就是完成从一个指定远端 BE 拷贝指定数据到指定目的端 BE 的过程。</p></blockquote><p>针对不同的状态,我们采用不同的修复方式:</p><ol><li><p>REPLICA<!-- -->_<!-- -->MISSING/REPLICA<!-- -->_<!-- -->RELOCATING</p><p>选择一个低负载的,可用的 BE 节点作为目的端。选择一个健康副本作为源端。clone 任务会从源端拷贝一个完整的副本到目的端。对于副本补齐,我们会直接选择一个可用的 BE 节点,而不考虑存储介质。</p></li><li><p>VERSION<!-- -->_<!-- -->INCOMPLETE</p><p>选择一个相对完整的副本作为目的端。选择一个健康副本作为源端。clone 任务会从源端尝试拷贝缺失的版本到目的端的副本。</p></li><li><p>REPLICA<!-- -->_<!-- -->MISSING<!-- -->_<!-- -->IN<!-- -->_<!-- -->CLUSTER</p><p>这种状态处理方式和 REPLICA<!-- -->_<!-- -->MISSING 相同。</p></li><li><p>REDUNDANT</p><p>通常经过副本修复后,分片会有冗余的副本。我们选择一个冗余副本将其删除。冗余副本的选择遵从以下优先级:</p><ol><li>副本所在 BE 已经下线</li><li>副本已损坏</li><li>副本所在 BE 失联或在下线中</li><li>副本处于 CLONE 状态(该状态是 clone 任务执行过程中的一个中间状态)</li><li>副本有版本缺失</li><li>副本所在 cluster 不正确</li><li>副本所在 BE 节点负载高</li></ol></li><li><p>FORCE<!-- -->_<!-- -->REDUNDANT</p><p>不同于 REDUNDANT,因为此时虽然存活的副本数小于期望副本数,但是因为已经没有额外的可用节点用于创建新的副本了。所以此时必须先删除一个副本,以腾出一个可用节点用于创建新的副本。
删除副本的顺序同 REDUNDANT。</p></li><li><p>COLOCATE<!-- -->_<!-- -->MISMATCH</p><p>从 Colocation Group 中指定的副本分布 BE 节点中选择一个作为目的节点进行副本补齐。</p></li><li><p>COLOCATE<!-- -->_<!-- -->REDUNDANT</p><p>删除一个非 Colocation Group 中指定的副本分布 BE 节点上的副本。</p></li></ol><p>Doris 在选择副本节点时,不会将同一个 Tablet 的副本部署在同一个 host 的不同 BE 上。保证了即使同一个 host 上的所有 BE 都挂掉,也不会造成全部副本丢失。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="调度优先级">调度优先级<a href="#调度优先级" class="hash-link" aria-label="调度优先级的直接链接" title="调度优先级的直接链接"></a></h3><p>TabletScheduler 里等待被调度的分片会根据状态不同,赋予不同的优先级。优先级高的分片将会被优先调度。目前有以下几种优先级。</p><ol><li><p>VERY<!-- -->_<!-- -->HIGH</p><ul><li>REDUNDANT。对于有副本冗余的分片,我们优先处理。虽然逻辑上来讲,副本冗余的紧急程度最低,但是因为这种情况处理起来最快且可以快速释放资源(比如磁盘空间等),所以我们优先处理。</li><li>FORCE<!-- -->_<!-- -->REDUNDANT。同上。</li></ul></li><li><p>HIGH</p><ul><li>REPLICA<!-- -->_<!-- -->MISSING 且多数副本缺失(比如3副本丢失了2个)</li><li>VERSION<!-- -->_<!-- -->INCOMPLETE 且多数副本的版本缺失</li><li>COLOCATE<!-- -->_<!-- -->MISMATCH 我们希望 Colocation 表相关的分片能够尽快修复完成。</li><li>COLOCATE<!-- -->_<!-- -->REDUNDANT</li></ul></li><li><p>NORMAL</p><ul><li>REPLICA<!-- -->_<!-- -->MISSING 但多数存活(比如3副本丢失了1个)</li><li>VERSION<!-- -->_<!-- -->INCOMPLETE 但多数副本的版本完整</li><li>REPLICA<!-- -->_<!-- -->RELOCATING 且多数副本需要 relocate(比如3副本有2个)</li></ul></li><li><p>LOW</p><ul><li>REPLICA<!-- -->_<!-- -->MISSING<!-- -->_<!-- -->IN<!-- -->_<!-- -->CLUSTER</li><li>REPLICA<!-- -->_<!-- -->RELOCATING 但多数副本 stable</li></ul></li></ol><h3 class="anchor anchorWithStickyNavbar_LWe7" id="手动优先级">手动优先级<a href="#手动优先级" class="hash-link" aria-label="手动优先级的直接链接" title="手动优先级的直接链接"></a></h3><p>系统会自动判断调度优先级。但是有些时候,用户希望某些表或分区的分片能够更快的被修复。因此我们提供一个命令,用户可以指定某个表或分区的分片被优先修复:</p><p><code>ADMIN REPAIR TABLE tbl [PARTITION (p1, p2, ...)];</code></p><p>这个命令,告诉 TC,在扫描 Tablet 时,对需要优先修复的表或分区中的有问题的 Tablet,给予 VERY<!-- -->_<!-- -->HIGH 的优先级。</p><blockquote><p>注:这个命令只是一个 hint,并不能保证一定能修复成功,并且优先级也会随 TS 的调度而发生变化。并且当 Master FE 切换或重启后,这些信息都会丢失。</p></blockquote><p>可以通过以下命令取消优先级:</p><p><code>ADMIN CANCEL REPAIR TABLE tbl [PARTITION (p1, p2, ...)];</code></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="优先级调度">优先级调度<a href="#优先级调度" class="hash-link" aria-label="优先级调度的直接链接" title="优先级调度的直接链接"></a></h3><p>优先级保证了损坏严重的分片能够优先被修复,提高系统可用性。但是如果高优先级的修复任务一直失败,则会导致低优先级的任务一直得不到调度。因此,我们会根据任务的运行状态,动态的调整任务的优先级,保证所有任务都有机会被调度到。</p><ul><li>连续5次调度失败(如无法获取资源,无法找到合适的源端或目的端等),则优先级会被下调。</li><li>持续 30 分钟未被调度,则上调优先级。 </li><li>同一 tablet 任务的优先级至少间隔 5 分钟才会被调整一次。</li></ul><p>同时为了保证初始优先级的权重,我们规定,初始优先级为 VERY<!-- -->_<!-- -->HIGH 的,最低被下调到 NORMAL。而初始优先级为 LOW 的,最多被上调为 HIGH。这里的优先级调整,也会调整用户手动设置的优先级。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="副本均衡">副本均衡<a href="#副本均衡" class="hash-link" aria-label="副本均衡的直接链接" title="副本均衡的直接链接"></a></h2><p>Doris 会自动进行集群内的副本均衡。目前支持两种均衡策略,负载/分区。负载均衡适合需要兼顾节点磁盘使用率和节点副本数量的场景;而分区均衡会使每个分区的副本都均匀分布在各个节点,避免热点,适合对分区读写要求比较高的场景。但是,分区均衡不考虑磁盘使用率,使用分区均衡时需要注意磁盘的使用情况。 策略只能在fe启动前配置<a href="/zh-CN/docs/1.2/admin-manual/config/fe-config">tablet_rebalancer_type</a> ,不支持运行时切换。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="负载均衡">负载均衡<a href="#负载均衡" class="hash-link" aria-label="负载均衡的直接链接" title="负载均衡的直接链接"></a></h3><p>负载均衡的主要思想是,对某些分片,先在低负载的节点上创建一个副本,然后再删除这些分片在高负载节点上的副本。同时,因为不同存储介质的存在,在同一个集群内的不同 BE 节点上,可能存在一种或两种存储介质。我们要求存储介质为 A 的分片在均衡后,尽量依然存储在存储介质 A 中。所以我们根据存储介质,对集群的 BE 节点进行划分。然后针对不同的存储介质的 BE 节点集合,进行负载均衡调度。</p><p>同样,副本均衡会保证不会将同一个 Tablet 的副本部署在同一个 host 的 BE 上。</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="be-节点负载">BE 节点负载<a href="#be-节点负载" class="hash-link" aria-label="BE 节点负载的直接链接" title="BE 节点负载的直接链接"></a></h4><p>我们用 ClusterLoadStatistics(CLS)表示一个 cluster 中各个 Backend 的负载均衡情况。TabletScheduler 根据这个统计值,来触发集群均衡。我们当前通过 <strong>磁盘使用率</strong><strong>副本数量</strong> 两个指标,为每个BE计算一个 loadScore,作为 BE 的负载分数。分数越高,表示该 BE 的负载越重。</p><p>磁盘使用率和副本数量各有一个权重系数,分别为 <strong>capacityCoefficient</strong><strong>replicaNumCoefficient</strong>,其 <strong>和衡为1</strong>。其中 capacityCoefficient 会根据实际磁盘使用率动态调整。当一个 BE 的总体磁盘使用率在 50% 以下,则 capacityCoefficient 值为 0.5,如果磁盘使用率在 75%(可通过 FE 配置项 <code>capacity_used_percent_high_water</code> 配置)以上,则值为 1。如果使用率介于 50% ~ 75% 之间,则该权重系数平滑增加,公式为:</p><p><code>capacityCoefficient= 2 * 磁盘使用率 - 0.5</code></p><p>该权重系数保证当磁盘使用率过高时,该 Backend 的负载分数会更高,以保证尽快降低这个 BE 的负载。</p><p>TabletScheduler 会每隔 20s 更新一次 CLS。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="分区均衡">分区均衡<a href="#分区均衡" class="hash-link" aria-label="分区均衡的直接链接" title="分区均衡的直接链接"></a></h3><p>分区均衡的主要思想是,将每个分区的在各个 Backend 上的 replica 数量差(即 partition skew),减少到最小。因此只考虑副本个数,不考虑磁盘使用率。
为了尽量少的迁移次数,分区均衡使用二维贪心的策略,优先均衡partition skew最大的分区,均衡分区时会尽量选择,可以使整个 cluster 的在各个 Backend 上的 replica 数量差(即 cluster skew/total skew)减少的方向。</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="skew-统计">skew 统计<a href="#skew-统计" class="hash-link" aria-label="skew 统计的直接链接" title="skew 统计的直接链接"></a></h4><p>skew 统计信息由<code>ClusterBalanceInfo</code>表示,其中,<code>partitionInfoBySkew</code>以 partition skew 为key排序,便于找到max partition skew;<code>beByTotalReplicaCount</code>则是以 Backend 上的所有 replica 个数为key排序。<code>ClusterBalanceInfo</code>同样保持在CLS中, 同样 20s 更新一次。</p><p>max partition skew 的分区可能有多个,采用随机的方式选择一个分区计算。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="均衡策略">均衡策略<a href="#均衡策略" class="hash-link" aria-label="均衡策略的直接链接" title="均衡策略的直接链接"></a></h3><p>TabletScheduler 在每轮调度时,都会通过 LoadBalancer 来选择一定数目的健康分片作为 balance 的候选分片。在下一次调度时,会尝试根据这些候选分片,进行均衡调度。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="资源控制">资源控制<a href="#资源控制" class="hash-link" aria-label="资源控制的直接链接" title="资源控制的直接链接"></a></h2><p>无论是副本修复还是均衡,都是通过副本在各个 BE 之间拷贝完成的。如果同一台 BE 同一时间执行过多的任务,则会带来不小的 IO 压力。因此,Doris 在调度时控制了每个节点上能够执行的任务数目。最小的资源控制单位是磁盘(即在 be.conf 中指定的一个数据路径)。我们默认为每块磁盘配置两个 slot 用于副本修复。一个 clone 任务会占用源端和目的端各一个 slot。如果 slot 数目为零,则不会再对这块磁盘分配任务。该 slot 个数可以通过 FE 的 <code>schedule_slot_num_per_path</code> 参数配置。 </p><p>另外,我们默认为每块磁盘提供 2 个单独的 slot 用于均衡任务。目的是防止高负载的节点因为 slot 被修复任务占用,而无法通过均衡释放空间。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="副本状态查看">副本状态查看<a href="#副本状态查看" class="hash-link" aria-label="副本状态查看的直接链接" title="副本状态查看的直接链接"></a></h2><p>副本状态查看主要是查看副本的状态,以及副本修复和均衡任务的运行状态。这些状态大部分都<strong>仅存在于</strong> Master FE 节点中。因此,以下命令需直连到 Master FE 执行。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="副本状态-1">副本状态<a href="#副本状态-1" class="hash-link" aria-label="副本状态的直接链接" title="副本状态的直接链接"></a></h3><ol><li><p>全局状态检查</p><p> 通过 <code>SHOW PROC &#x27;/cluster_health/tablet_health&#x27;;</code> 命令可以查看整个集群的副本状态。</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-------+--------------------------------+-----------+------------+-------------------+----------------------+----------------------+--------------+----------------------------+-------------------------+-------------------+---------------------+----------------------+----------------------+------------------+-----------------------------+-----------------+-------------+------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| DbId | DbName | TabletNum | HealthyNum | ReplicaMissingNum | VersionIncompleteNum | ReplicaRelocatingNum | RedundantNum | ReplicaMissingInClusterNum | ReplicaMissingForTagNum | ForceRedundantNum | ColocateMismatchNum | ColocateRedundantNum | NeedFurtherRepairNum | UnrecoverableNum | ReplicaCompactionTooSlowNum | InconsistentNum | OversizeNum | CloningNum |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-------+--------------------------------+-----------+------------+-------------------+----------------------+----------------------+--------------+----------------------------+-------------------------+-------------------+---------------------+----------------------+----------------------+------------------+-----------------------------+-----------------+-------------+------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10005 | default_cluster:doris_audit_db | 84 | 84 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 13402 | default_cluster:ssb1 | 709 | 708 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10108 | default_cluster:tpch1 | 278 | 278 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| Total | 3 | 1071 | 1070 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-------+--------------------------------+-----------+------------+-------------------+----------------------+----------------------+--------------+----------------------------+-------------------------+-------------------+---------------------+----------------------+----------------------+------------------+-----------------------------+-----------------+-------------+------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p> 其中 <code>HealthyNum</code> 列显示了对应的 Database 中,有多少 Tablet 处于健康状态。<code>ReplicaCompactionTooSlowNum</code> 列显示了对应的 Database 中,有多少 Tablet的 处于副本版本数过多的状态, <code>InconsistentNum</code> 列显示了对应的 Database 中,有多少 Tablet 处于副本不一致的状态。最后一行 <code>Total</code> 行对整个集群进行了统计。正常情况下 <code>TabletNum</code><code>HealthNum</code> 应该相等。如果不相等,可以进一步查看具体有哪些 Tablet。如上图中,ssb1 数据库有 1 个 Tablet 状态不健康,则可以使用以下命令查看具体是哪一个 Tablet。</p><p> <code>SHOW PROC &#x27;/cluster_health/tablet_health/13402&#x27;;</code></p><p> 其中 <code>13402</code> 为对应的 DbId。</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------------------+--------------------------+--------------------------+------------------+--------------------------------+-----------------------------+-----------------------+-------------------------+--------------------------+--------------------------+----------------------+---------------------------------+---------------------+-----------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| ReplicaMissingTablets | VersionIncompleteTablets | ReplicaRelocatingTablets | RedundantTablets | ReplicaMissingInClusterTablets | ReplicaMissingForTagTablets | ForceRedundantTablets | ColocateMismatchTablets | ColocateRedundantTablets | NeedFurtherRepairTablets | UnrecoverableTablets | ReplicaCompactionTooSlowTablets | InconsistentTablets | OversizeTablets |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------------------+--------------------------+--------------------------+------------------+--------------------------------+-----------------------------+-----------------------+-------------------------+--------------------------+--------------------------+----------------------+---------------------------------+---------------------+-----------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 14679 | | | | | | | | | | | | | |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------------------+--------------------------+--------------------------+------------------+--------------------------------+-----------------------------+-----------------------+-------------------------+--------------------------+--------------------------+----------------------+---------------------------------+---------------------+-----------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p> 上图会显示具体的不健康的 Tablet ID(14679),该 Tablet 处于 ReplicaMissing 的状态。后面我们会介绍如何查看一个具体的 Tablet 的各个副本的状态。
</p></li><li><p>表(分区)级别状态检查</p><p>用户可以通过以下命令查看指定表或分区的副本状态,并可以通过 WHERE 语句对状态进行过滤。如查看表 tbl1 中,分区 p1 和 p2 上状态为 OK 的副本:</p><p><code>ADMIN SHOW REPLICA STATUS FROM tbl1 PARTITION (p1, p2) WHERE STATUS = &quot;OK&quot;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+--------+--------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| TabletId | ReplicaId | BackendId | Version | LastFailedVersion | LastSuccessVersion | CommittedVersion | SchemaHash | VersionNum | IsBad | State | Status |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+--------+--------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502429 | 29502432 | 10006 | 2 | -1 | 2 | 1 | -1 | 2 | false | NORMAL | OK |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502429 | 36885996 | 10002 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502429 | 48100551 | 10007 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502433 | 29502434 | 10001 | 2 | -1 | 2 | 1 | -1 | 2 | false | NORMAL | OK |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502433 | 44900737 | 10004 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502433 | 48369135 | 10006 | 2 | -1 | -1 | 1 | -1 | 2 | false | NORMAL | OK |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+--------+--------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>这里会展示所有副本的状态。其中 <code>IsBad</code> 列为 <code>true</code> 则表示副本已经损坏。而 <code>Status</code> 列则会显示另外的其他状态。具体的状态说明,可以通过 <code>HELP ADMIN SHOW REPLICA STATUS;</code> 查看帮助。</p><p><code>ADMIN SHOW REPLICA STATUS</code> 命令主要用于查看副本的健康状态。用户还可以通过以下命令查看指定表中副本的一些额外信息:</p><p><code>SHOW TABLETS FROM tbl1;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+----------------------+--------------+----------------------+----------------------+----------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| TabletId | ReplicaId | BackendId | SchemaHash | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | DataSize | RowCount | State | LstConsistencyCheckTime | CheckVersion | CheckVersionHash | VersionCount | PathHash | MetaUrl | CompactionStatus |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+----------------------+--------------+----------------------+----------------------+----------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502429 | 29502432 | 10006 | 1421156361 | 2 | 0 | 2 | 0 | -1 | 0 | N/A | 784 | 0 | NORMAL | N/A | -1 | -1 | 2 | -5822326203532286804 | url | url |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502429 | 36885996 | 10002 | 1421156361 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | 784 | 0 | NORMAL | N/A | -1 | -1 | 2 | -1441285706148429853 | url | url |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502429 | 48100551 | 10007 | 1421156361 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | 784 | 0 | NORMAL | N/A | -1 | -1 | 2 | -4784691547051455525 | url | url |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------+-----------+------------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+----------+----------+--------+-------------------------+--------------+----------------------+--------------+----------------------+----------------------+----------------------+ </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>上图展示了包括副本大小、行数、版本数量、所在数据路径等一些额外的信息。</p><blockquote><p>注:这里显示的 <code>State</code> 列的内容不代表副本的健康状态,而是副本处于某种任务下的状态,比如 CLONE、SCHEMA<!-- -->_<!-- -->CHANGE、ROLLUP 等。</p></blockquote><p>此外,用户也可以通过以下命令,查看指定表或分区的副本分布情况,来检查副本分布是否均匀。</p><p><code>ADMIN SHOW REPLICA DISTRIBUTION FROM tbl1;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------+------------+-------+---------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| BackendId | ReplicaNum | Graph | Percent |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------+------------+-------+---------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10000 | 7 | | 7.29 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10001 | 9 | | 9.38 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10002 | 7 | | 7.29 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10003 | 7 | | 7.29 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10004 | 9 | | 9.38 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10005 | 11 | &gt; | 11.46 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10006 | 18 | &gt; | 18.75 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10007 | 15 | &gt; | 15.62 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10008 | 13 | &gt; | 13.54 % |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------+------------+-------+---------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>这里分别展示了表 tbl1 的副本在各个 BE 节点上的个数、百分比,以及一个简单的图形化显示。</p></li><li><p>Tablet 级别状态检查</p><p>当我们要定位到某个具体的 Tablet 时,可以使用如下命令来查看一个具体的 Tablet 的状态。如查看 ID 为 29502553 的 tablet:</p><p><code>SHOW TABLET 29502553;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+------------------------+-----------+---------------+-----------+----------+----------+-------------+----------+--------+---------------------------------------------------------------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| DbName | TableName | PartitionName | IndexName | DbId | TableId | PartitionId | IndexId | IsSync | DetailCmd |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+------------------------+-----------+---------------+-----------+----------+----------+-------------+----------+--------+---------------------------------------------------------------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| default_cluster:test | test | test | test | 29502391 | 29502428 | 29502427 | 29502428 | true | SHOW PROC &#x27;/dbs/29502391/29502428/partitions/29502427/29502428/29502553&#x27;; |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+------------------------+-----------+---------------+-----------+----------+----------+-------------+----------+--------+---------------------------------------------------------------------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>上图显示了这个 tablet 所对应的数据库、表、分区、上卷表等信息。用户可以复制 <code>DetailCmd</code> 命令中的命令继续执行:</p><p><code>SHOW PROC &#x27;/dbs/29502391/29502428/partitions/29502427/29502428/29502553&#x27;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------+-----------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+------------+----------+----------+--------+-------+--------------+----------------------+----------+------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| ReplicaId | BackendId | Version | VersionHash | LstSuccessVersion | LstSuccessVersionHash | LstFailedVersion | LstFailedVersionHash | LstFailedTime | SchemaHash | DataSize | RowCount | State | IsBad | VersionCount | PathHash | MetaUrl | CompactionStatus |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------+-----------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+------------+----------+----------+--------+-------+--------------+----------------------+----------+------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 43734060 | 10004 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | -1 | 784 | 0 | NORMAL | false | 2 | -8566523878520798656 | url | url |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 29502555 | 10002 | 2 | 0 | 2 | 0 | -1 | 0 | N/A | -1 | 784 | 0 | NORMAL | false | 2 | 1885826196444191611 | url | url |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 39279319 | 10007 | 2 | 0 | -1 | 0 | -1 | 0 | N/A | -1 | 784 | 0 | NORMAL | false | 2 | 1656508631294397870 | url | url |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+-----------+-----------+---------+-------------+-------------------+-----------------------+------------------+----------------------+---------------+------------+----------+----------+--------+-------+--------------+----------------------+----------+------------------+ </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>上图显示了对应 Tablet 的所有副本情况。这里显示的内容和 <code>SHOW TABLETS FROM tbl1;</code> 的内容相同。但这里可以清楚的知道,一个具体的 Tablet 的所有副本的状态。</p></li></ol><h3 class="anchor anchorWithStickyNavbar_LWe7" id="副本调度任务">副本调度任务<a href="#副本调度任务" class="hash-link" aria-label="副本调度任务的直接链接" title="副本调度任务的直接链接"></a></h3><ol><li><p>查看等待被调度的任务</p><p><code>SHOW PROC &#x27;/cluster_balance/pending_tablets&#x27;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+--------+-----------------+---------+----------+----------+-------+---------+--------+----------+---------+---------------------+---------------------+---------------------+----------+------+-------------+---------------+---------------------+------------+---------------------+--------+---------------------+-------------------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| TabletId | Type | Status | State | OrigPrio | DynmPrio | SrcBe | SrcPath | DestBe | DestPath | Timeout | Create | LstSched | LstVisit | Finished | Rate | FailedSched | FailedRunning | LstAdjPrio | VisibleVer | VisibleVerHash | CmtVer | CmtVerHash | ErrMsg |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+--------+-----------------+---------+----------+----------+-------+---------+--------+----------+---------+---------------------+---------------------+---------------------+----------+------+-------------+---------------+---------------------+------------+---------------------+--------+---------------------+-------------------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 4203036 | REPAIR | REPLICA_MISSING | PENDING | HIGH | LOW | -1 | -1 | -1 | -1 | 0 | 2019-02-21 15:00:20 | 2019-02-24 11:18:41 | 2019-02-24 11:18:41 | N/A | N/A | 2 | 0 | 2019-02-21 15:00:43 | 1 | 0 | 2 | 0 | unable to find source replica |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+--------+-----------------+---------+----------+----------+-------+---------+--------+----------+---------+---------------------+---------------------+---------------------+----------+------+-------------+---------------+---------------------+------------+---------------------+--------+---------------------+-------------------------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>各列的具体含义如下:</p><ul><li>TabletId:等待调度的 Tablet 的 ID。一个调度任务只针对一个 Tablet</li><li>Type:任务类型,可以是 REPAIR(修复) 或 BALANCE(均衡)</li><li>Status:该 Tablet 当前的状态,如 REPLICA<!-- -->_<!-- -->MISSING(副本缺失)</li><li>State:该调度任务的状态,可能为 PENDING/RUNNING/FINISHED/CANCELLED/TIMEOUT/UNEXPECTED</li><li>OrigPrio:初始的优先级</li><li>DynmPrio:当前动态调整后的优先级</li><li>SrcBe:源端 BE 节点的 ID</li><li>SrcPath:源端 BE 节点的路径的 hash 值</li><li>DestBe:目的端 BE 节点的 ID</li><li>DestPath:目的端 BE 节点的路径的 hash 值</li><li>Timeout:当任务被调度成功后,这里会显示任务的超时时间,单位秒</li><li>Create:任务被创建的时间</li><li>LstSched:上一次任务被调度的时间</li><li>LstVisit:上一次任务被访问的时间。这里“被访问”指包括被调度,任务执行汇报等和这个任务相关的被处理的时间点</li><li>Finished:任务结束时间</li><li>Rate:clone 任务的数据拷贝速率</li><li>FailedSched:任务调度失败的次数</li><li>FailedRunning:任务执行失败的次数</li><li>LstAdjPrio:上一次优先级调整的时间</li><li>CmtVer/CmtVerHash/VisibleVer/VisibleVerHash:用于执行 clone 任务的 version 信息</li><li>ErrMsg:任务被调度和运行过程中,出现的错误信息</li></ul></li><li><p>查看正在运行的任务</p><p><code>SHOW PROC &#x27;/cluster_balance/running_tablets&#x27;;</code></p><p>其结果中各列的含义和 <code>pending_tablets</code> 相同。</p></li><li><p>查看已结束任务</p><p><code>SHOW PROC &#x27;/cluster_balance/history_tablets&#x27;;</code></p><p>我们默认只保留最近 1000 个完成的任务。其结果中各列的含义和 <code>pending_tablets</code> 相同。如果 <code>State</code> 列为 <code>FINISHED</code>,则说明任务正常完成。如果为其他,则可以根据 <code>ErrMsg</code> 列的错误信息查看具体原因。</p></li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="集群负载及调度资源查看">集群负载及调度资源查看<a href="#集群负载及调度资源查看" class="hash-link" aria-label="集群负载及调度资源查看的直接链接" title="集群负载及调度资源查看的直接链接"></a></h2><ol><li><p>集群负载</p><p>通过以下命令可以查看集群当前的负载情况:</p><p><code>SHOW PROC &#x27;/cluster_balance/cluster_load_stat/location_default&#x27;;</code></p><p>首先看到的是对不同存储介质的划分:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+---------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| StorageMedium |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+---------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| HDD |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| SSD |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+---------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>点击某一种存储介质,可以看到包含该存储介质的 BE 节点的均衡状态:</p><p><code>SHOW PROC &#x27;/cluster_balance/cluster_load_stat/location_default/HDD&#x27;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------------+-----------+---------------+----------------+-------------+------------+----------+-----------+--------------------+-------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| BeId | Cluster | Available | UsedCapacity | Capacity | UsedPercent | ReplicaNum | CapCoeff | ReplCoeff | Score | Class |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------------+-----------+---------------+----------------+-------------+------------+----------+-----------+--------------------+-------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10003 | default_cluster | true | 3477875259079 | 19377459077121 | 17.948 | 493477 | 0.5 | 0.5 | 0.9284678149967587 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10002 | default_cluster | true | 3607326225443 | 19377459077121 | 18.616 | 496928 | 0.5 | 0.5 | 0.948660871419998 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10005 | default_cluster | true | 3523518578241 | 19377459077121 | 18.184 | 545331 | 0.5 | 0.5 | 0.9843539990641831 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10001 | default_cluster | true | 3535547090016 | 19377459077121 | 18.246 | 558067 | 0.5 | 0.5 | 0.9981869446537612 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10006 | default_cluster | true | 3636050364835 | 19377459077121 | 18.764 | 547543 | 0.5 | 0.5 | 1.0011489897614072 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10004 | default_cluster | true | 3506558163744 | 15501967261697 | 22.620 | 468957 | 0.5 | 0.5 | 1.0228319835582569 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10007 | default_cluster | true | 4036460478905 | 19377459077121 | 20.831 | 551645 | 0.5 | 0.5 | 1.057279369420761 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10000 | default_cluster | true | 4369719923760 | 19377459077121 | 22.551 | 547175 | 0.5 | 0.5 | 1.0964036415787461 | MID |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+-----------------+-----------+---------------+----------------+-------------+------------+----------+-----------+--------------------+-------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>其中一些列的含义如下:</p><ul><li>Available:为 true 表示 BE 心跳正常,且没有处于下线中</li><li>UsedCapacity:字节,BE 上已使用的磁盘空间大小</li><li>Capacity:字节,BE 上总的磁盘空间大小</li><li>UsedPercent:百分比,BE 上的磁盘空间使用率</li><li>ReplicaNum:BE 上副本数量</li><li>CapCoeff/ReplCoeff:磁盘空间和副本数的权重系数</li><li>Score:负载分数。分数越高,负载越重</li><li>Class:根据负载情况分类,LOW/MID/HIGH。均衡调度会将高负载节点上的副本迁往低负载节点</li></ul><p>用户可以进一步查看某个 BE 上各个路径的使用率,比如 ID 为 10001 这个 BE:</p><p><code>SHOW PROC &#x27;/cluster_balance/cluster_load_stat/location_default/HDD/10001&#x27;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+------------------+------------------+---------------+---------------+---------+--------+----------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| RootPath | DataUsedCapacity | AvailCapacity | TotalCapacity | UsedPct | State | PathHash |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+------------------+------------------+---------------+---------------+---------+--------+----------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| /home/disk4/palo | 498.757 GB | 3.033 TB | 3.525 TB | 13.94 % | ONLINE | 4883406271918338267 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| /home/disk3/palo | 704.200 GB | 2.832 TB | 3.525 TB | 19.65 % | ONLINE | -5467083960906519443 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| /home/disk1/palo | 512.833 GB | 3.007 TB | 3.525 TB | 14.69 % | ONLINE | -7733211489989964053 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| /home/disk2/palo | 881.955 GB | 2.656 TB | 3.525 TB | 24.65 % | ONLINE | 4870995507205544622 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| /home/disk5/palo | 694.992 GB | 2.842 TB | 3.525 TB | 19.36 % | ONLINE | 1916696897889786739 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+------------------+------------------+---------------+---------------+---------+--------+----------------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>这里显示了指定 BE 上,各个数据路径的磁盘使用率情况。</p></li><li><p>调度资源</p><p>用户可以通过以下命令,查看当前各个节点的 slot 使用情况:</p><p><code>SHOW PROC &#x27;/cluster_balance/working_slots&#x27;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+----------------------+------------+------------+-------------+----------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| BeId | PathHash | AvailSlots | TotalSlots | BalanceSlot | AvgRate |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+----------------------+------------+------------+-------------+----------------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10000 | 8110346074333016794 | 2 | 2 | 2 | 2.459007474009069E7 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10000 | -5617618290584731137 | 2 | 2 | 2 | 2.4730105014001578E7 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10001 | 4883406271918338267 | 2 | 2 | 2 | 1.6711402709780257E7 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10001 | -5467083960906519443 | 2 | 2 | 2 | 2.7540126380326536E7 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10002 | 9137404661108133814 | 2 | 2 | 2 | 2.417217089806745E7 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| 10002 | 1885826196444191611 | 2 | 2 | 2 | 1.6327378456676323E7 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------+----------------------+------------+------------+-------------+----------------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>这里以数据路径为粒度,展示了当前 slot 的使用情况。其中 <code>AvgRate</code> 为历史统计的该路径上 clone 任务的拷贝速率,单位是字节/秒。</p></li><li><p>优先修复查看</p><p>以下命令,可以查看通过 <code>ADMIN REPAIR TABLE</code> 命令设置的优先修复的表或分区。</p><p><code>SHOW PROC &#x27;/cluster_balance/priority_repair&#x27;;</code></p><p>其中 <code>RemainingTimeMs</code> 表示,这些优先修复的内容,将在这个时间后,被自动移出优先修复队列。以防止优先修复一直失败导致资源被占用。</p></li></ol><h3 class="anchor anchorWithStickyNavbar_LWe7" id="调度器统计状态查看">调度器统计状态查看<a href="#调度器统计状态查看" class="hash-link" aria-label="调度器统计状态查看的直接链接" title="调度器统计状态查看的直接链接"></a></h3><p>我们收集了 TabletChecker 和 TabletScheduler 在运行过程中的一些统计信息,可以通过以下命令查看:</p><p><code>SHOW PROC &#x27;/cluster_balance/sched_stat&#x27;;</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">+---------------------------------------------------+-------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| Item | Value |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+---------------------------------------------------+-------------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet check round | 12041 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| cost of tablet check(ms) | 7162342 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet checked in tablet checker | 18793506362 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of unhealthy tablet checked in tablet checker | 7043900 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet being added to tablet scheduler | 1153 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet schedule round | 49538 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| cost of tablet schedule(ms) | 49822 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet being scheduled | 4356200 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet being scheduled succeeded | 320 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet being scheduled failed | 4355594 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet being scheduled discard | 286 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet priority upgraded | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of tablet priority downgraded | 1096 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of clone task | 230 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of clone task succeeded | 228 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of clone task failed | 2 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of clone task timeout | 2 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of replica missing error | 4354857 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of replica version missing error | 967 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of replica relocating | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of replica redundant error | 90 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of replica missing in cluster error | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">| num of balance scheduled | 0 |</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+---------------------------------------------------+-------------+</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>各行含义如下:</p><ul><li>num of tablet check round:Tablet Checker 检查次数</li><li>cost of tablet check(ms):Tablet Checker 检查总耗时</li><li>num of tablet checked in tablet checker:Tablet Checker 检查过的 tablet 数量</li><li>num of unhealthy tablet checked in tablet checker:Tablet Checker 检查过的不健康的 tablet 数量</li><li>num of tablet being added to tablet scheduler:被提交到 Tablet Scheduler 中的 tablet 数量</li><li>num of tablet schedule round:Tablet Scheduler 运行次数</li><li>cost of tablet schedule(ms):Tablet Scheduler 运行总耗时</li><li>num of tablet being scheduled:被调度的 Tablet 总数量</li><li>num of tablet being scheduled succeeded:被成功调度的 Tablet 总数量</li><li>num of tablet being scheduled failed:调度失败的 Tablet 总数量</li><li>num of tablet being scheduled discard:调度失败且被抛弃的 Tablet 总数量</li><li>num of tablet priority upgraded:优先级上调次数</li><li>num of tablet priority downgraded:优先级下调次数</li><li>num of clone task:生成的 clone 任务数量</li><li>num of clone task succeeded:clone 任务成功的数量</li><li>num of clone task failed:clone 任务失败的数量</li><li>num of clone task timeout:clone 任务超时的数量</li><li>num of replica missing error:检查的状态为副本缺失的 tablet 的数量</li><li>num of replica version missing error:检查的状态为版本缺失的 tablet 的数量(该统计值包括了 num of replica relocating 和 num of replica missing in cluster error)</li><li>num of replica relocating:检查的状态为 replica relocating 的 tablet 的数量</li><li>num of replica redundant error:检查的状态为副本冗余的 tablet 的数量</li><li>num of replica missing in cluster error:检查的状态为不在对应 cluster 的 tablet 的数量</li><li>num of balance scheduled:均衡调度的次数</li></ul><blockquote><p>注:以上状态都只是历史累加值。我们也在 FE 的日志中,定期打印了这些统计信息,其中括号内的数值表示自上次统计信息打印依赖,各个统计值的变化数量。</p></blockquote><h2 class="anchor anchorWithStickyNavbar_LWe7" id="相关配置说明">相关配置说明<a href="#相关配置说明" class="hash-link" aria-label="相关配置说明的直接链接" title="相关配置说明的直接链接"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="可调整参数">可调整参数<a href="#可调整参数" class="hash-link" aria-label="可调整参数的直接链接" title="可调整参数的直接链接"></a></h3><p>以下可调整参数均为 fe.conf 中可配置参数。</p><ul><li><p>use<!-- -->_<!-- -->new<!-- -->_<!-- -->tablet<!-- -->_<!-- -->scheduler</p><ul><li>说明:是否启用新的副本调度方式。新的副本调度方式即本文档介绍的副本调度方式。</li><li>默认值:true</li><li>重要性:高</li></ul></li><li><p>tablet<!-- -->_<!-- -->repair<!-- -->_<!-- -->delay<!-- -->_<!-- -->factor<!-- -->_<!-- -->second</p><ul><li>说明:对于不同的调度优先级,我们会延迟不同的时间后开始修复。以防止因为例行重启、升级等过程中,产生大量不必要的副本修复任务。此参数为一个基准系数。对于 HIGH 优先级,延迟为 基准系数 <em> 1;对于 NORMAL 优先级,延迟为 基准系数 </em> 2;对于 LOW 优先级,延迟为 基准系数 * 3。即优先级越低,延迟等待时间越长。如果用户想尽快修复副本,可以适当降低该参数。</li><li>默认值:60秒</li><li>重要性:高</li></ul></li><li><p>schedule<!-- -->_<!-- -->slot<!-- -->_<!-- -->num<!-- -->_<!-- -->per<!-- -->_<!-- -->path</p><ul><li>说明:默认分配给每块磁盘用于副本修复的 slot 数目。该数目表示一块磁盘能同时运行的副本修复任务数。如果想以更快的速度修复副本,可以适当调高这个参数。单数值越高,可能对 IO 影响越大。</li><li>默认值:2</li><li>重要性:高</li></ul></li><li><p>balance<!-- -->_<!-- -->load<!-- -->_<!-- -->score<!-- -->_<!-- -->threshold</p><ul><li>说明:集群均衡的阈值。默认为 0.1,即 10%。当一个 BE 节点的 load score,不高于或不低于平均 load score 的 10% 时,我们认为这个节点是均衡的。如果想让集群负载更加平均,可以适当调低这个参数。</li><li>默认值:0.1</li><li>重要性:中</li></ul></li><li><p>storage<!-- -->_<!-- -->high<!-- -->_<!-- -->watermark<!-- -->_<!-- -->usage<!-- -->_<!-- -->percent 和 storage<!-- -->_<!-- -->min<!-- -->_<!-- -->left<!-- -->_<!-- -->capacity<!-- -->_<!-- -->bytes</p><ul><li>说明:这两个参数,分别表示一个磁盘的最大空间使用率上限,以及最小的空间剩余下限。当一块磁盘的空间使用率大于上限,或者剩余空间小于下限时,该磁盘将不再作为均衡调度的目的地址。</li><li>默认值:0.85 和 1048576000 (1GB)</li><li>重要性:中</li></ul></li><li><p>disable<!-- -->_<!-- -->balance</p><ul><li>说明:控制是否关闭均衡功能。当副本处于均衡过程中时,有些功能,如 ALTER TABLE 等将会被禁止。而均衡可能持续很长时间。因此,如果用户希望尽快进行被禁止的操作。可以将该参数设为 true,以关闭均衡调度。</li><li>默认值:false</li><li>重要性:中</li></ul></li></ul><p>以下可调整参数均为 be.conf 中可配置参数。</p><ul><li><p>clone<!-- -->_<!-- -->worker<!-- -->_<!-- -->count</p><ul><li>说明:影响副本均衡的速度。在磁盘压力不大的情况下,可以通过调整该参数来加快副本均衡。</li><li>默认值:3</li><li>重要性:中</li></ul></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="不可调整参数">不可调整参数<a href="#不可调整参数" class="hash-link" aria-label="不可调整参数的直接链接" title="不可调整参数的直接链接"></a></h3><p>以下参数暂不支持修改,仅作说明。</p><ul><li><p>TabletChecker 调度间隔</p><p> TabletChecker 每20秒进行一次检查调度。
</p></li><li><p>TabletScheduler 调度间隔</p><p> TabletScheduler 每5秒进行一次调度
</p></li><li><p>TabletScheduler 每批次调度个数</p><p> TabletScheduler 每次调度最多 50 个 tablet。
</p></li><li><p>TabletScheduler 最大等待调度和运行中任务数</p><p> 最大等待调度任务数和运行中任务数为 2000。当超过 2000 后,TabletChecker 将不再产生新的调度任务给 TabletScheduler。
</p></li><li><p>TabletScheduler 最大均衡任务数</p><p> 最大均衡任务数为 500。当超过 500 后,将不再产生新的均衡任务。
</p></li><li><p>每块磁盘用于均衡任务的 slot 数目</p><p> 每块磁盘用于均衡任务的 slot 数目为2。这个 slot 独立于用于副本修复的 slot。
</p></li><li><p>集群均衡情况更新间隔</p><p> TabletScheduler 每隔 20 秒会重新计算一次集群的 load score。
</p></li><li><p>Clone 任务的最小和最大超时时间</p><p> 一个 clone 任务超时时间范围是 3min ~ 2hour。具体超时时间通过 tablet 的大小计算。计算公式为 (tablet size) / (5MB/s)。当一个 clone 任务运行失败 3 次后,该任务将终止。
</p></li><li><p>动态优先级调整策略</p><p> 优先级最小调整间隔为 5min。当一个 tablet 调度失败5次后,会调低优先级。当一个 tablet 30min 未被调度时,会调高优先级。</p></li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="相关问题">相关问题<a href="#相关问题" class="hash-link" aria-label="相关问题的直接链接" title="相关问题的直接链接"></a></h2><ul><li><p>在某些情况下,默认的副本修复和均衡策略可能会导致网络被打满(多发生在千兆网卡,且每台 BE 的磁盘数量较多的情况下)。此时需要调整一些参数来减少同时进行的均衡和修复任务数。</p></li><li><p>目前针对 Colocate Table 的副本的均衡策略无法保证同一个 Tablet 的副本不会分布在同一个 host 的 BE 上。但 Colocate Table 的副本的修复策略会检测到这种分布错误并校正。但可能会出现,校正后,均衡策略再次认为副本不均衡而重新均衡。从而导致在两种状态间不停交替,无法使 Colocate Group 达成稳定。针对这种情况,我们建议在使用 Colocate 属性时,尽量保证集群是同构的,以减小副本分布在同一个 host 上的概率。</p></li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="最佳实践">最佳实践<a href="#最佳实践" class="hash-link" aria-label="最佳实践的直接链接" title="最佳实践的直接链接"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="控制并管理集群的副本修复和均衡进度">控制并管理集群的副本修复和均衡进度<a href="#控制并管理集群的副本修复和均衡进度" class="hash-link" aria-label="控制并管理集群的副本修复和均衡进度的直接链接" title="控制并管理集群的副本修复和均衡进度的直接链接"></a></h3><p>在大多数情况下,通过默认的参数配置,Doris 都可以自动的进行副本修复和集群均衡。但是某些情况下,我们需要通过人工介入调整参数,来达到一些特殊的目的。如优先修复某个表或分区、禁止集群均衡以降低集群负载、优先修复非 colocation 的表数据等等。</p><p>本小节主要介绍如何通过修改参数,来控制并管理集群的副本修复和均衡进度。</p><ol><li><p>删除损坏副本</p><p>某些情况下,Doris 可能无法自动检测某些损坏的副本,从而导致查询或导入在损坏的副本上频繁报错。此时我们需要手动删除已损坏的副本。该方法可以适用于:删除版本数过高导致 -235 错误的副本、删除文件已损坏的副本等等。</p><p>首先,找到副本对应的 tablet id,假设为 10001。通过 <code>show tablet 10001;</code> 并执行其中的 <code>show proc</code> 语句可以查看对应的 tablet 的各个副本详情。</p><p>假设需要删除的副本的 backend id 是 20001。则执行以下语句将副本标记为 <code>bad</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET REPLICA STATUS PROPERTIES(&quot;tablet_id&quot; = &quot;10001&quot;, &quot;backend_id&quot; = &quot;20001&quot;, &quot;status&quot; = &quot;bad&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>此时,再次通过 <code>show proc</code> 语句可以看到对应的副本的 <code>IsBad</code> 列值为 <code>true</code></p><p>被标记为 <code>bad</code> 的副本不会再参与导入和查询。同时副本修复逻辑会自动补充一个新的副本。</p></li><li><p>优先修复某个表或分区</p><p><code>help admin repair table;</code> 查看帮助。该命令会尝试优先修复指定表或分区的tablet。</p></li><li><p>停止均衡任务</p><p>均衡任务会占用一定的网络带宽和IO资源。如果希望停止新的均衡任务的产生,可以通过以下命令:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET FRONTEND CONFIG (&quot;disable_balance&quot; = &quot;true&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>停止所有副本调度任务</p><p>副本调度任务包括均衡和修复任务。这些任务都会占用一定的网络带宽和IO资源。可以通过以下命令停止所有副本调度任务(不包括已经在运行的,包括 colocation 表和普通表):</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET FRONTEND CONFIG (&quot;disable_tablet_scheduler&quot; = &quot;true&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>停止所有 colocation 表的副本调度任务。</p><p>colocation 表的副本调度和普通表是分开独立运行的。某些情况下,用户可能希望先停止对 colocation 表的均衡和修复工作,而将集群资源用于普通表的修复,则可以通过以下命令:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET FRONTEND CONFIG (&quot;disable_colocate_balance&quot; = &quot;true&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>使用更保守的策略修复副本</p><p>Doris 在检测到副本缺失、BE宕机等情况下,会自动修复副本。但为了减少一些抖动导致的错误(如BE短暂宕机),Doris 会延迟触发这些任务。</p><ul><li><code>tablet_repair_delay_factor_second</code> 参数。默认 60 秒。根据修复任务优先级的不同,会推迟 60秒、120秒、180秒后开始触发修复任务。可以通过以下命令延长这个时间,这样可以容忍更长的异常时间,以避免触发不必要的修复任务:</li></ul><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET FRONTEND CONFIG (&quot;tablet_repair_delay_factor_second&quot; = &quot;120&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>使用更保守的策略触发 colocation group 的重分布</p><p>colocation group 的重分布可能伴随着大量的 tablet 迁移。<code>colocate_group_relocate_delay_second</code> 用于控制重分布的触发延迟。默认 1800秒。如果某台 BE 节点可能长时间下线,可以尝试调大这个参数,以避免不必要的重分布:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET FRONTEND CONFIG (&quot;colocate_group_relocate_delay_second&quot; = &quot;3600&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>更快速的副本均衡</p><p>Doris 的副本均衡逻辑会先增加一个正常副本,然后在删除老的副本,已达到副本迁移的目的。而在删除老副本时,Doris会等待这个副本上已经开始执行的导入任务完成,以避免均衡任务影响导入任务。但这样会降低均衡逻辑的执行速度。此时可以通过修改以下参数,让 Doris 忽略这个等待,直接删除老副本:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ADMIN SET FRONTEND CONFIG (&quot;enable_force_drop_redundant_replica&quot; = &quot;true&quot;);</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>这种操作可能会导致均衡期间部分导入任务失败(需要重试),但会显著加速均衡速度。</p></li></ol><p>总体来讲,当我们需要将集群快速恢复到正常状态时,可以考虑按照以下思路处理:</p><ol><li>找到导致高优任务报错的tablet,将有问题的副本置为 bad。</li><li>通过 <code>admin repair</code> 语句高优修复某些表。</li><li>停止副本均衡逻辑以避免占用集群资源,等集群恢复后,再开启即可。</li><li>使用更保守的策略触发修复任务,以应对 BE 频繁宕机导致的雪崩效应。</li><li>按需关闭 colocation 表的调度任务,集中集群资源修复其他高优数据。</li></ol></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="文件选项卡"><a class="pagination-nav__link pagination-nav__link--prev" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/disk-capacity"><div class="pagination-nav__sublabel">上一页</div><div class="pagination-nav__label">磁盘空间管理</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/zh-CN/docs/1.2/admin-manual/maint-monitor/be-olap-error-code"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">BE端OLAP函数的返回值说明</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_jeP5 thin-scrollbar theme-doc-toc-desktop"><a href="https://ask.selectdb.com" target="_blank" rel="noopener noreferrer" class="ml-4 mb-8 flex items-center hover:no-underline"><span class="pr-2">问答论坛</span><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8500" id="mx_n_1711090272569" width="16" height="16"><path d="M522.24 896.512c-25.6 4.608-51.712 7.168-78.336 7.168-79.36 0-157.696-21.504-225.792-62.464l-18.432-10.752-103.936 28.16c-28.672 7.68-54.784-18.432-47.104-47.104l28.16-103.936c-10.752-17.92-17.408-30.208-20.992-36.864C20.992 607.232 3.072 536.064 3.584 463.36c0-243.2 197.12-440.32 440.32-440.32 221.696 0 405.504 164.352 435.712 377.856 90.112 55.808 144.896 154.112 144.896 260.096 0 51.2-12.8 100.352-36.352 144.384-2.048 4.096-6.144 10.752-11.776 20.48l17.408 64c7.68 28.672-18.432 54.784-47.104 47.104l-64-17.408-7.68 4.608c-47.616 28.672-101.888 43.52-157.184 43.52-71.68-0.512-140.8-25.088-195.584-71.168z m95.232-28.672c31.232 15.36 65.536 23.04 100.352 23.04 41.472 0 82.432-11.264 117.76-32.768 2.56-1.536 9.728-5.632 22.016-12.8 8.704-5.12 19.456-6.656 29.184-3.584l14.848 4.096-4.096-14.848c-2.56-10.24-1.536-20.48 4.096-29.696 6.144-10.24 12.288-20.992 18.432-31.232 17.92-33.28 27.136-70.656 27.136-108.544 0-59.904-23.552-117.76-65.536-160.256-13.312 164.352-118.272 303.616-264.192 366.592z m-462.848-155.648l-14.848 54.784 54.784-14.848c9.728-2.56 20.48-1.536 29.184 4.096 18.432 10.752 29.184 16.896 32.768 19.456 56.32 33.792 120.832 51.712 186.88 51.712 200.704 0 363.52-162.816 363.52-363.52s-162.816-363.52-363.52-363.52-363.52 162.816-363.52 363.52c0 60.928 14.848 119.296 43.008 171.52 3.584 7.168 13.312 23.04 27.648 47.616 5.632 8.704 6.656 19.456 4.096 29.184z m448.512-382.976c20.992 0 38.4 16.896 38.4 38.4 0 20.992-16.896 38.4-38.4 38.4H284.16c-20.992 0-38.4-16.896-38.4-38.4 0-20.992 16.896-38.4 38.4-38.4h318.976z m-153.088 191.488c20.992 0 38.4 16.896 38.4 38.4 0 20.992-16.896 38.4-38.4 38.4H284.16c-20.992 0-38.4-16.896-38.4-38.4 0-20.992 16.896-38.4 38.4-38.4h165.888z m0 0" p-id="8501" fill="currentColor"></path></svg></a><span class="ml-4">本页导航</span><ul class="table-of-contents table-of-contents__left-border"><li><a href="#名词解释" class="table-of-contents__link toc-highlight">名词解释</a></li><li><a href="#副本状态" class="table-of-contents__link toc-highlight">副本状态</a></li><li><a href="#副本修复" class="table-of-contents__link toc-highlight">副本修复</a><ul><li><a href="#调度优先级" class="table-of-contents__link toc-highlight">调度优先级</a></li><li><a href="#手动优先级" class="table-of-contents__link toc-highlight">手动优先级</a></li><li><a href="#优先级调度" class="table-of-contents__link toc-highlight">优先级调度</a></li></ul></li><li><a href="#副本均衡" class="table-of-contents__link toc-highlight">副本均衡</a><ul><li><a href="#负载均衡" class="table-of-contents__link toc-highlight">负载均衡</a></li><li><a href="#分区均衡" class="table-of-contents__link toc-highlight">分区均衡</a></li><li><a href="#均衡策略" class="table-of-contents__link toc-highlight">均衡策略</a></li></ul></li><li><a href="#资源控制" class="table-of-contents__link toc-highlight">资源控制</a></li><li><a href="#副本状态查看" class="table-of-contents__link toc-highlight">副本状态查看</a><ul><li><a href="#副本状态-1" class="table-of-contents__link toc-highlight">副本状态</a></li><li><a href="#副本调度任务" class="table-of-contents__link toc-highlight">副本调度任务</a></li></ul></li><li><a href="#集群负载及调度资源查看" class="table-of-contents__link toc-highlight">集群负载及调度资源查看</a><ul><li><a href="#调度器统计状态查看" class="table-of-contents__link toc-highlight">调度器统计状态查看</a></li></ul></li><li><a href="#相关配置说明" class="table-of-contents__link toc-highlight">相关配置说明</a><ul><li><a href="#可调整参数" class="table-of-contents__link toc-highlight">可调整参数</a></li><li><a href="#不可调整参数" class="table-of-contents__link toc-highlight">不可调整参数</a></li></ul></li><li><a href="#相关问题" class="table-of-contents__link toc-highlight">相关问题</a></li><li><a href="#最佳实践" class="table-of-contents__link toc-highlight">最佳实践</a><ul><li><a href="#控制并管理集群的副本修复和均衡进度" class="table-of-contents__link toc-highlight">控制并管理集群的副本修复和均衡进度</a></li></ul></li></ul></div></div></div></div></main></div></div></div><div class="footer pt-16 pb-10"><div class="container"><div class="footer-box"><div class="left"><img src="/zh-CN/images/asf_logo_apache.svg" alt="" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/zh-CN/images/asf_logo_apache.svg" alt="" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">ASF</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Foundation<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="footer__link-item">License<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="footer__link-item">Events<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Security<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Resources</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/zh-CN/download">Download</a></li><li class="footer__item"><a class="footer__link-item" href="/zh-CN/docs/get-starting/quick-start">Docs</a></li><li class="footer__item"><a class="footer__link-item" href="/zh-CN/blog">Blog</a></li><li class="footer__item"><a class="footer__link-item" href="/zh-CN/ecosystem/cluster-management">Ecosystem</a></li><li class="footer__item"><a class="footer__link-item" href="/zh-CN/users">Users</a></li><li class="footer__item"><a href="https://github.com/apache/doris/discussions" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discussions<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/zh-CN/community/how-to-contribute/">How to contribute</a></li><li class="footer__item"><a href="https://github.com/apache/doris/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Source code<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://cwiki.apache.org/confluence/display/DORIS/Doris+Improvement+Proposals" target="_blank" rel="noopener noreferrer" class="footer__link-item">Improvement proposal<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/zh-CN/community/team">Doris team</a></li><li class="footer__item"><a href="https://github.com/apache/doris/issues/30669" target="_blank" rel="noopener noreferrer" class="footer__link-item">Roadmap<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div><div class="right"><div class="footer__title">Join the community</div><div class="social-list"><div class="social"><a href="mailto:dev@doris.apache.org" target="_blank" title="mail" class="item"><svg xmlns="http://www.w3.org/2000/svg" width="2em" height="2em" viewBox="0 0 32 32" fill="none"><path d="M5.6003 6H26.3997C27.8186 6 28.982 7.10964 29 8.46946L16.0045 15.454L3.01202 8.47829C3.02405 7.11258 4.1784 6 5.6003 6ZM3.01202 11.1508L3 23.5011C3 24.8756 4.16938 26 5.6003 26H26.3997C27.8306 26 29 24.8756 29 23.5011V11.145L16.3111 17.8028C16.1157 17.9058 15.8813 17.9058 15.6889 17.8028L3.01202 11.1508Z" fill="currentColor"></path></svg></a><a href="https://github.com/apache/doris" target="_blank" title="github" class="item"><svg width="2em" height="2em" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.0001 2.66675C8.63342 2.66675 2.66675 8.63341 2.66675 16.0001C2.66524 18.7991 3.54517 21.5276 5.1817 23.7983C6.81824 26.0691 9.12828 27.7668 11.7841 28.6508C12.4508 28.7668 12.7001 28.3668 12.7001 28.0161C12.7001 27.7001 12.6828 26.6508 12.6828 25.5334C9.33342 26.1508 8.46675 24.7174 8.20008 23.9668C8.04942 23.5828 7.40008 22.4001 6.83342 22.0828C6.36675 21.8334 5.70008 21.2161 6.81608 21.2001C7.86675 21.1828 8.61608 22.1668 8.86675 22.5668C10.0668 24.5828 11.9841 24.0161 12.7494 23.6668C12.8668 22.8001 13.2161 22.2174 13.6001 21.8841C10.6334 21.5508 7.53342 20.4001 7.53342 15.3001C7.53342 13.8494 8.04942 12.6507 8.90008 11.7161C8.76675 11.3827 8.30008 10.0161 9.03342 8.18275C9.03342 8.18275 10.1494 7.83342 12.7001 9.55075C13.7855 9.2495 14.907 9.09787 16.0334 9.10008C17.1668 9.10008 18.3001 9.24942 19.3668 9.54942C21.9161 7.81608 23.0334 8.18408 23.0334 8.18408C23.7668 10.0174 23.3001 11.3841 23.1668 11.7174C24.0161 12.6507 24.5334 13.8334 24.5334 15.3001C24.5334 20.4174 21.4174 21.5508 18.4508 21.8841C18.9334 22.3001 19.3508 23.1001 19.3508 24.3508C19.3508 26.1334 19.3334 27.5668 19.3334 28.0174C19.3334 28.3668 19.5841 28.7828 20.2508 28.6494C22.8975 27.7558 25.1973 26.0547 26.8266 23.7856C28.4559 21.5165 29.3327 18.7936 29.3334 16.0001C29.3334 8.63341 23.3668 2.66675 16.0001 2.66675V2.66675Z" fill="currentColor"></path></svg></a><a href="https://twitter.com/doris_apache" target="_blank" title="twitter" class="item"><svg xmlns="http://www.w3.org/2000/svg" width="2em" height="2em" viewBox="0 0 32 32" fill="none"><path d="M4.625 4.625H11.2809L27.375 27.375H20.7191L4.625 4.625ZM7.52549 6.10639L21.5236 25.8936H24.4746L10.4764 6.10639H7.52549Z" fill="currentColor"></path><path d="M14.4268 18.4803L6.53447 27.375H4.625L13.5581 17.2525L14.4268 18.4803ZM18.1299 14.3066L26.7203 4.625H24.7017L17.2525 13.0662L18.1299 14.3066Z" fill="currentColor"></path></svg></a><a href="https://join.slack.com/t/apachedoriscommunity/shared_invite/zt-2kl08hzc0-SPJe4VWmL_qzrFd2u2XYQA" title="slack" target="_blank" class="item"><svg width="2em" height="2em" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_125_278)"><path d="M12.5875 16.6906C11.0844 16.6906 9.86562 17.9094 9.86562 19.4125V26.2375C9.86562 26.9594 10.1524 27.6517 10.6628 28.1622C11.1733 28.6726 11.8656 28.9594 12.5875 28.9594C13.3094 28.9594 14.0017 28.6726 14.5122 28.1622C15.0226 27.6517 15.3094 26.9594 15.3094 26.2375V19.4531C15.3094 17.9094 14.0906 16.6906 12.5875 16.6906ZM3 19.4531C3 20.175 3.28677 20.8673 3.79722 21.3778C4.30767 21.8882 4.99999 22.175 5.72187 22.175C6.44376 22.175 7.13608 21.8882 7.64653 21.3778C8.15698 20.8673 8.44375 20.175 8.44375 19.4531V16.7312H5.7625C4.25938 16.6906 3 17.9094 3 19.4531ZM12.5875 3C11.8656 3 11.1733 3.28677 10.6628 3.79722C10.1524 4.30767 9.86562 4.99999 9.86562 5.72187C9.86562 6.44376 10.1524 7.13608 10.6628 7.64653C11.1733 8.15698 11.8656 8.44375 12.5875 8.44375H15.3094V5.72187C15.3094 4.21875 14.0906 3 12.5875 3ZM5.72187 15.3094H12.5469C13.2688 15.3094 13.9611 15.0226 14.4715 14.5122C14.982 14.0017 15.2688 13.3094 15.2688 12.5875C15.2688 11.8656 14.982 11.1733 14.4715 10.6628C13.9611 10.1524 13.2688 9.86562 12.5469 9.86562H5.72187C4.99999 9.86562 4.30767 10.1524 3.79722 10.6628C3.28677 11.1733 3 11.8656 3 12.5875C3 13.3094 3.28677 14.0017 3.79722 14.5122C4.30767 15.0226 4.99999 15.3094 5.72187 15.3094ZM26.2375 9.86562C24.7344 9.86562 23.5156 11.0844 23.5156 12.5875V15.3094H26.2375C26.9594 15.3094 27.6517 15.0226 28.1622 14.5122C28.6726 14.0017 28.9594 13.3094 28.9594 12.5875C28.9594 11.8656 28.6726 11.1733 28.1622 10.6628C27.6517 10.1524 26.9594 9.86562 26.2375 9.86562ZM16.6906 5.72187V12.5875C16.6906 13.3094 16.9774 14.0017 17.4878 14.5122C17.9983 15.0226 18.6906 15.3094 19.4125 15.3094C20.1344 15.3094 20.8267 15.0226 21.3372 14.5122C21.8476 14.0017 22.1344 13.3094 22.1344 12.5875V5.72187C22.1344 4.99999 21.8476 4.30767 21.3372 3.79722C20.8267 3.28677 20.1344 3 19.4125 3C18.6906 3 17.9983 3.28677 17.4878 3.79722C16.9774 4.30767 16.6906 4.99999 16.6906 5.72187ZM22.1344 26.2781C22.1344 24.775 20.9156 23.5562 19.4125 23.5562H16.6906V26.2781C16.6906 27 16.9774 27.6923 17.4878 28.2028C17.9983 28.7132 18.6906 29 19.4125 29C20.1344 29 20.8267 28.7132 21.3372 28.2028C21.8476 27.6923 22.1344 27 22.1344 26.2781ZM26.2781 16.6906H19.4125C18.6906 16.6906 17.9983 16.9774 17.4878 17.4878C16.9774 17.9983 16.6906 18.6906 16.6906 19.4125C16.6906 20.1344 16.9774 20.8267 17.4878 21.3372C17.9983 21.8476 18.6906 22.1344 19.4125 22.1344H26.2375C27.7406 22.1344 28.9594 20.9156 28.9594 19.4125C29 17.9094 27.7812 16.6906 26.2781 16.6906Z" fill="currentColor"></path></g><defs><clipPath id="clip0_125_278"><rect width="26" height="26" fill="currentColor" transform="translate(3 3)"></rect></clipPath></defs></svg></a></div><div class="social"><a href="https://www.youtube.com/@apachedoris/channels" title="youtube" target="_blank" class="item"><svg xmlns="http://www.w3.org/2000/svg" width="2em" height="2em" viewBox="0 0 32 32" fill="none"><path d="M28.5167 7.83429C28.9436 8.25423 29.2532 8.77539 29.4154 9.34742C29.8205 11.5462 30.0159 13.7775 29.999 16.0121C30.0144 18.2382 29.819 20.4609 29.4154 22.6515C29.2532 23.2235 28.9436 23.7446 28.5167 24.1645C28.0898 24.5845 27.5601 24.889 26.9785 25.0486C24.7728 25.625 16.0124 25.625 16.0124 25.625C16.0124 25.625 7.22652 25.625 5.04638 25.0486C4.46489 24.889 3.9351 24.5845 3.5082 24.1645C3.08132 23.7446 2.77176 23.2235 2.60948 22.6515C2.19736 20.4617 1.9934 18.239 2.00025 16.0121C1.9918 13.7767 2.19577 11.5455 2.60948 9.34742C2.77176 8.77539 3.08132 8.25423 3.5082 7.83429C3.9351 7.41436 4.46489 7.10985 5.04638 6.95021C7.25103 6.36354 16.0124 6.37502 16.0124 6.37502C16.0124 6.37502 24.796 6.37502 26.9785 6.95021C27.5601 7.10985 28.0898 7.41436 28.5167 7.83429ZM12.5 21.25L21.25 16.008L12.5 10.75V21.25Z" fill="currentColor"></path></svg></a><a href="https://www.linkedin.com/company/doris-apache/" title="linkedin" target="_blank" class="item"><svg width="2rem" height="2rem" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.29925 26.9996H9.66738V11.6781H4.29925V26.9996ZM22.1628 11.1949C19.9409 11.1949 18.7157 11.9388 17.3054 13.7407V11.6777H11.9459V26.9996H17.305V18.6738C17.305 16.9168 18.145 15.1982 20.1535 15.1982C22.162 15.1982 22.6559 16.9164 22.6559 18.632V27H28V18.2902C28 12.2386 24.3854 11.1949 22.1628 11.1949ZM6.99325 4C5.3395 4 4 5.21047 4 6.7046C4 8.19759 5.3395 9.40617 6.99325 9.40617C8.6455 9.40617 9.985 8.19722 9.985 6.7046C9.985 5.21047 8.6455 4 6.99325 4Z" fill="white"></path></svg></a><a href="https://medium.com/@ApacheDoris" title="medium" target="_blank" class="item"><svg width="2em" height="2em" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Frame"><path id="Vector" d="M17.7967 16.5385C17.8029 18.53 16.9746 20.4425 15.4937 21.8559C14.0128 23.2693 12.0004 24.0681 9.89836 24.0769C7.79633 24.0681 5.78391 23.2693 4.30302 21.8559C2.82212 20.4425 1.99383 18.53 2.00003 16.5385C1.99383 14.5469 2.82212 12.6344 4.30302 11.221C5.78391 9.80759 7.79633 9.00878 9.89836 9C12.0004 9.00878 14.0128 9.80759 15.4937 11.221C16.9746 12.6344 17.8029 14.5469 17.7967 16.5385ZM26.4533 16.5385C26.4533 20.4514 24.6917 23.6348 22.51 23.6348C20.3283 23.6348 18.555 20.4514 18.555 16.5385C18.555 12.6255 20.3283 9.44214 22.51 9.44214C24.6917 9.44214 26.4533 12.6255 26.4533 16.5385ZM30 16.5385C30 20.0424 29.3817 22.8942 28.6117 22.8942C27.8417 22.8942 27.2233 20.0424 27.2233 16.5385C27.2233 13.0345 27.8417 10.1827 28.6117 10.1827C29.3817 10.1827 30 13.0345 30 16.5385Z" fill="currentColor"></path></g></svg></a><a class="item wechat"><svg width="2em" height="2em" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.7578 11.5169C21.0708 11.5169 21.3795 11.5398 21.6851 11.573C20.8524 7.73517 16.7052 4.88306 11.9718 4.88306C6.67951 4.88306 2.34412 8.45283 2.34412 12.9854C2.34412 15.6013 3.78679 17.7498 6.19667 19.4161L5.2339 22.2827L8.59917 20.6122C9.80411 20.8478 10.7698 21.0906 11.9718 21.0906C12.2738 21.0906 12.5728 21.0759 12.8703 21.0523C12.682 20.4159 12.5728 19.7485 12.5728 19.0566C12.5728 14.8947 16.1847 11.5169 20.7578 11.5169ZM15.5822 8.9335C16.3072 8.9335 16.7871 9.40601 16.7871 10.1229C16.7871 10.8369 16.3072 11.3153 15.5822 11.3153C14.8601 11.3153 14.1365 10.8369 14.1365 10.1229C14.1365 9.40601 14.8601 8.9335 15.5822 8.9335ZM8.84429 11.3153C8.12218 11.3153 7.3942 10.8368 7.3942 10.1229C7.3942 9.40597 8.12218 8.93346 8.84429 8.93346C9.56559 8.93346 10.0463 9.40597 10.0463 10.1229C10.0463 10.8369 9.56559 11.3153 8.84429 11.3153ZM29.5453 18.9422C29.5453 15.1332 25.6935 12.0285 21.3677 12.0285C16.7871 12.0285 13.1797 15.1332 13.1797 18.9422C13.1797 22.7567 16.7871 25.8547 21.3677 25.8547C22.326 25.8547 23.2932 25.6169 24.2559 25.3777L26.897 26.8086L26.1726 24.4282C28.1056 22.993 29.5453 21.0906 29.5453 18.9422ZM18.7126 17.7498C18.2335 17.7498 17.7499 17.278 17.7499 16.7966C17.7499 16.3219 18.2335 15.8442 18.7126 15.8442C19.4406 15.8442 19.9176 16.3219 19.9176 16.7966C19.9176 17.278 19.4406 17.7498 18.7126 17.7498ZM24.0079 17.7498C23.5324 17.7498 23.0518 17.278 23.0518 16.7966C23.0518 16.3219 23.5324 15.8442 24.0079 15.8442C24.73 15.8442 25.2128 16.3219 25.2128 16.7966C25.2128 17.278 24.73 17.7498 24.0079 17.7498Z" fill="currentColor"></path></svg><div class="wechat-dropdown"><p class="text-[#4c576c] text-xs">Connect on WeChat</p><img src="https://cdnd.selectdb.com/zh-CN/assets/images/doris-wechat-b949e908a3bc2776d824f79a9100bd4b.png" alt=""></div></a></div></div></div></div><div class="footer__copyright">Copyright © 2024 The Apache Software Foundation,Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License, Version 2.0</a>. Apache, Doris, Apache Doris, the Apache feather logo and the Apache Doris logo are trademarks of The Apache Software Foundation.</div></div></div></div>
<script src="https://cdnd.selectdb.com/zh-CN/assets/js/runtime~main.ea863d93.js"></script>
<script src="https://cdnd.selectdb.com/zh-CN/assets/js/main.bda5da23.js"></script>
</body>
</html>