blob: e0ae4f285e5e4a55eb99e97d71d2ade7003a89e4 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Apache Ozone Documentation">
<title>Documentation for Apache Ozone</title>
<link href="../../css/bootstrap.min.css" rel="stylesheet">
<link href="../../css/ozonedoc.css" rel="stylesheet">
<link href="../../swagger-resources/swagger-ui.css" rel="stylesheet">
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '34']);
var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sidebar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="../../zh/index.html" class="navbar-left ozone-logo">
<img src="../../ozone-logo-small.png"/>
</a>
<a class="navbar-brand hidden-xs" href="../../zh/index.html">
Apache Ozone/HDDS Documentation
</a>
<a class="navbar-brand visible-xs-inline" href="#">Apache Ozone</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://github.com/apache/ozone">Source</a></li>
<li><a href="https://ozone.apache.org">Apache Ozone</a></li>
<li><a href="https://apache.org">ASF</a></li>
</ul>
</div>
</div>
</nav>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-sm-2 col-md-2 sidebar" id="sidebar">
<ul class="nav nav-sidebar">
<li class="">
<a href="../../zh/index.html">
<span>概述</span>
</a>
</li>
<li class="">
<a href="../../zh/start.html">
<span>快速入门</span>
</a>
</li>
<li class="">
<a href="../../zh/concept.html">
<span>概念</span>
</a>
<ul class="nav">
<li class="">
<a href="../../zh/concept/overview.html">概览</a>
</li>
<li class="">
<a href="../../zh/concept/ozonemanager.html">Ozone Manager</a>
</li>
<li class="">
<a href="../../zh/concept/storagecontainermanager.html">Storage Container Manager</a>
</li>
<li class="">
<a href="../../zh/concept/datanodes.html">数据节点</a>
</li>
<li class="">
<a href="../../zh/concept/containers.html">Containers</a>
</li>
<li class="">
<a href="../../zh/concept/recon.html">Recon</a>
</li>
</ul>
</li>
<li class="">
<a href="../../zh/feature.html">
<span>特性</span>
</a>
<ul class="nav">
<li class="active">
<a href="../../zh/feature/decommission.html">Decommissioning</a>
</li>
<li class="">
<a href="../../zh/feature/erasurecoding.html">纠删码</a>
</li>
<li class="">
<a href="../../zh/feature/om-ha.html">高可用 OM</a>
</li>
<li class="">
<a href="../../zh/feature/scm-ha.html">高可用 SCM</a>
</li>
<li class="">
<a href="../../zh/feature/dn-merge-rocksdb.html">在DataNode上合并Container的RocksDB</a>
</li>
<li class="">
<a href="../../zh/feature/prefixfso.html">基于前缀的文件系统优化</a>
</li>
<li class="">
<a href="../../zh/feature/topology.html">拓扑感知能力</a>
</li>
<li class="">
<a href="../../zh/feature/quota.html">Ozone 中的配额</a>
</li>
<li class="">
<a href="../../zh/feature/recon.html">Recon 服务器</a>
</li>
<li class="">
<a href="../../zh/feature/reconfigurability.html">动态加载配置</a>
</li>
</ul>
</li>
<li class="">
<a href="../../zh/security.html">
<span>安全</span>
</a>
<ul class="nav">
<li class="">
<a href="../../zh/security/secureozone.html">安全化 Ozone</a>
</li>
<li class="">
<a href="../../zh/security/securingtde.html">透明数据加密</a>
</li>
<li class="">
<a href="../../zh/security/gdpr.html">Ozone 中的 GDPR</a>
</li>
<li class="">
<a href="../../zh/security/securingdatanodes.html">安全化 Datanode</a>
</li>
<li class="">
<a href="../../zh/security/securings3.html">安全化 S3</a>
</li>
<li class="">
<a href="../../zh/security/securityacls.html">Ozone 访问控制列表</a>
</li>
<li class="">
<a href="../../zh/security/securitywithranger.html">Apache Ranger</a>
</li>
</ul>
</li>
<li class="">
<a href="../../zh/interface.html">
<span>编程接口</span>
</a>
<ul class="nav">
<li class="">
<a href="../../zh/interface/javaapi.html">Java API</a>
</li>
<li class="">
<a href="../../zh/interface/o3fs.html">Ozone 文件系统</a>
</li>
<li class="">
<a href="../../zh/interface/csi.html">CSI 协议</a>
</li>
<li class="">
<a href="../../zh/interface/s3.html">S3 协议接口</a>
</li>
<li class="">
<a href="../../zh/interface/reconapi.html">Recon API</a>
</li>
</ul>
</li>
<li class="">
<a href="../../zh/tools.html">
<span>工具</span>
</a>
</li>
<li class="">
<a href="../../zh/recipe.html">
<span>使用配方</span>
</a>
</li>
<li><a href="../../design.html"><span><b>Design docs</b></span></a></li>
<li class="visible-xs"><a href="#">References</a>
<ul class="nav">
<li><a href="https://github.com/apache/ozone"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Source</a></li>
<li><a href="https://ozone.apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Apache Ozone</a></li>
<li><a href="https://apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> ASF</a></li>
</ul></li>
</ul>
</div>
<div class="col-sm-10 col-sm-offset-2 col-md-10 col-md-offset-2 main-content">
<div class="col-md-9">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="../../zh/index.html">Home</a></li>
<li class="breadcrumb-item" aria-current="page"><a href="../../zh/feature.html">特性</a></li>
<li class="breadcrumb-item active" aria-current="page">Decommissioning</li>
</ol>
</nav>
<div class="pull-right">
<a href="../../feature/decommission.html"><span class="label label-success">English</span></a>
</div>
<div class="col-md-9">
<h1>Decommissioning</h1>
<!---
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1 id="datanode-decommission">DataNode Decommission</h1>
<p>DataNode Decommission是从Ozone集群中删除现有DataNode的过程中,同时确保新数据不会被写入正在Decommission的DataNode。当你启动DataNode Decommission的操作时候,Ozone会自动确保在Decommission完成之前,该数据节点上的所有Storage containers都在另一个DataNode上创建了额外的副本。因此,DataNode在Decommission完成后可以继续运行,并可用于读取,但不能用于写入,直到手动停止DataNode的服务。</p>
<p>当我们启动Decommission时,这个操作首先要检查节点的当前状态,理想情况下应该是 &ldquo;IN_SERVICE&rdquo;,然后将其状态更改为 &ldquo;DECOMMISSIONING&rdquo;,并启动Decommission的流程:</p>
<ol>
<li>
<p>首先它会触发一个事件,关闭节点上的所有Pipelines,同时关闭所有Containers。</p>
</li>
<li>
<p>然后获取节点上的Container信息,并检查是否需要新的副本。如果需要,创建新的副本的任务就会被调度起来。</p>
</li>
<li>
<p>复制任务被调度后,节点仍处于待处理状态,直到复制任务完成。</p>
</li>
<li>
<p>在此阶段,节点将完成Decommission的过程,然后节点状态将更改为 &ldquo;DECOMMISSIONED&rdquo;。</p>
</li>
</ol>
<p>要检查DataNode的当前状态,可以执行以下命令,</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">ozone admin datanode list
</code></pre></div><p>要decommission某台datanode的时候,可以执行下面的命令,</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">ozone admin datanode decommission <span style="color:#f92672">[</span>-hV<span style="color:#f92672">]</span> <span style="color:#f92672">[</span>-id<span style="color:#f92672">=</span>&lt;scmServiceId&gt;<span style="color:#f92672">]</span>
<span style="color:#f92672">[</span>--scm<span style="color:#f92672">=</span>&lt;scm&gt;<span style="color:#f92672">]</span> <span style="color:#f92672">[</span>&lt;hosts&gt;...<span style="color:#f92672">]</span>
</code></pre></div><p>您可以输入多个主机,以便一起Decommission多个DataNode。</p>
<p><strong>Note:</strong> 要Recommission某台DataNode的时候,可在命令行执行以下命令,</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">ozone admin datanode recommission <span style="color:#f92672">[</span>-hV<span style="color:#f92672">]</span> <span style="color:#f92672">[</span>-id<span style="color:#f92672">=</span>&lt;scmServiceId&gt;<span style="color:#f92672">]</span>
<span style="color:#f92672">[</span>--scm<span style="color:#f92672">=</span>&lt;scm&gt;<span style="color:#f92672">]</span> <span style="color:#f92672">[</span>&lt;hosts&gt;...<span style="color:#f92672">]</span>
</code></pre></div><h1 id="om-decommission">OM Decommission</h1>
<p>Ozone Manager(OM)Decommissioning是指从 OM HA Ring 中从容地(gracefully)移除一个 OM 的过程。</p>
<p>要Decommission OM 并将这个节点从 OM HA ring中移除,需要执行以下步骤。</p>
<ol>
<li>将要被Decommission的 OM 节点的 <em>OM NodeId</em> 添加到所有其他 OM 的 <em>ozone-site.xml</em> 中的 <em>ozone.om.decommissioned.nodes.<omServiceId></em> 属性中。</li>
<li>运行以下命令Decommission这台 OM 节点.</li>
</ol>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">ozone admin om decommission -id<span style="color:#f92672">=</span>&lt;om-service-id&gt; -nodeid<span style="color:#f92672">=</span>&lt;decommissioning-om-node-id&gt; -hostname<span style="color:#f92672">=</span>&lt;decommissioning-om-node-address&gt; <span style="color:#f92672">[</span>optional --force<span style="color:#f92672">]</span>
</code></pre></div><p>_force选项将跳过检查 <em>ozone-site.xml</em> 中的 OM 配置是否已更新,并将Decommission节点添加至 <em><strong>ozone.om.decommissioned.nodes</strong></em> 配置中. <p><strong>Note -</strong> 建议在Decommissioning一个 OM 节点之前bootstrap另一个 OM 节点,以保持OM的高可用性(HA).</p></p>
<h1 id="scm-decommission">SCM Decommission</h1>
<p>存储容器管理器 (SCM) Decommissioning 是允许您从容地(gracefully)将一个 SCM 从 SCM HA Ring 中移除的过程。</p>
<p>在Decommission一台SCM,并将其从SCM HA ring中移除时,需要执行以下步骤。</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">ozone admin scm decommission <span style="color:#f92672">[</span>-hV<span style="color:#f92672">]</span> <span style="color:#f92672">[</span>--service-id<span style="color:#f92672">=</span>&lt;scmServiceId&gt;<span style="color:#f92672">]</span> -nodeid<span style="color:#f92672">=</span>&lt;nodeId&gt;
</code></pre></div><p>执行以下命令可获得 &ldquo;nodeId&rdquo;: <strong>&ldquo;ozone admin scm roles &ldquo;</strong></p>
<h3 id="leader-scm">Leader SCM</h3>
<p>如果需要decommission <strong>leader</strong> SCM, 您必须先将leader的角色转移到另一个 scm,然后再Decommission这个节点。</p>
<p>您可以使用以下的命令来转移leader的角色,</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-shell" data-lang="shell">ozone admin scm transfer <span style="color:#f92672">[</span>--service-id<span style="color:#f92672">=</span>&lt;scmServiceId&gt;<span style="color:#f92672">]</span> -n<span style="color:#f92672">=</span>&lt;nodeId&gt;
</code></pre></div><p>在Leader的角色成功地转移之后,您可以继续decommission的操作。</p>
<h3 id="primordial-scm">Primordial SCM</h3>
<p>如果要decommission <strong>primordial</strong> scm,必须更改 <em>ozone.scm.primordial.node.id</em> 的属性,使其指向不同的 SCM,然后再继续decommissioning。</p>
<h3 id="注意">注意</h3>
<p>在运行SCM decommissioning的操作期间,应手动删除decommissioned SCM的私钥。私钥可在 <em>hdds.metadata.dir</em> 中找到。</p>
<p>在支持证书吊销之前(HDDS-8399),需要手动删除decommissioned SCM上的证书。</p>
<a class="btn btn-success btn-lg" href="../../zh/feature/erasurecoding.html">Next >></a>
</div>
</div>
</div>
</div>
</div>
<div class="push"></div>
</div>
<footer class="footer">
<div class="container">
<span class="small text-muted">
Version: 1.5.0-SNAPSHOT, Last Modified: February 26, 2024 <a class="hide-child link primary-color" href="https://github.com/apache/ozone/commit/1b48186a0107711235abcd2636977ae0242f6be8">1b48186</a>
</span>
</div>
</footer>
<script src="../../js/jquery-3.5.1.min.js"></script>
<script src="../../js/ozonedoc.js"></script>
<script src="../../js/bootstrap.min.js"></script>
</body>
</html>