blob: 2ce0cbe6eb09f48a7d59bb529c437fdb0922152a [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="">
<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="active">
<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">动态加载配置</li>
</ol>
</nav>
<div class="pull-right">
<a href="../../feature/reconfigurability.html"><span class="label label-success">English</span></a>
</div>
<div class="col-md-9">
<h1>动态加载配置</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.
-->
<p>Ozone支持在不重启服务的情况下动态加载某些配置。如果某个属性支持热加载,就可以先在配置文件(<code>ozone-site.xml</code>)中修改它然后调用命令使之刷新到内存。</p>
<p>命令:</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 reconfig --service<span style="color:#f92672">=[</span>OM|SCM|DATANODE<span style="color:#f92672">]</span> --address<span style="color:#f92672">=</span>&lt;ip:port&gt; start|status|properties
</code></pre></div><p>命令项的含义:</p>
<ul>
<li><strong>&ndash;service</strong>: &ndash;address 指定节点的Ozone服务类型</li>
<li><strong>&ndash;address</strong>: 一台服务所在的主机与客户端通信的RPC地址</li>
<li>提供3中操作:
<ul>
<li><strong>start</strong>: 开始异步执行动态加载配置</li>
<li><strong>status</strong>: 查看最近一次动态加载的状态</li>
<li><strong>properties</strong>: 列出支持动态加载的配置项</li>
</ul>
</li>
</ul>
<h2 id="获取可动态加载的属性列表">获取可动态加载的属性列表</h2>
<p>要获取 Ozone 中指定组件的可动态加载属性列表, 可以使用命令 <code>ozone admin reconfig --service=[OM|SCM|DATANODE] --address=&lt;ip:port&gt; properties</code>
这个命令将会列出所有可以在运行时动态加载的属性。</p>
<blockquote>
<p>例如, 获取 Ozone OM 可动态加载属性列表</p>
<p>$ <code>ozone admin reconfig --service=OM --address=hadoop1:9862 properties</code><br>
OM: Node [hadoop1:9862] Reconfigurable properties:<br>
ozone.administrators</p>
</blockquote>
<h2 id="om动态配置">OM动态配置</h2>
<blockquote>
<p>例如, 在<code>ozone-site.xml</code>文件中修改<code>ozone.administrators</code>的值并执行:</p>
<p>$ <code>ozone admin reconfig --service=OM --address=hadoop1:9862 start</code><br>
OM: Started reconfiguration task on node [hadoop1:9862].</p>
<p>$ <code>ozone admin reconfig --service=OM --address=hadoop1:9862 status</code><br>
OM: Reconfiguring status for node [hadoop1:9862]: started at Wed Dec 28 19:04:44 CST 2022 and finished at Wed Dec 28 19:04:44 CST 2022.<br>
SUCCESS: Changed property ozone.administrators<br>
From: &ldquo;hadoop&rdquo;<br>
To: &ldquo;hadoop,bigdata&rdquo;</p>
<p>$ <code>ozone admin reconfig --service=OM --address=hadoop1:9862 properties</code><br>
OM: Node [hadoop1:9862] Reconfigurable properties:<br>
ozone.administrators</p>
</blockquote>
<h2 id="scm动态配置">SCM动态配置</h2>
<blockquote>
<p>例如, 在<code>ozone-site.xml</code>文件中修改<code>ozone.administrators</code>的值并执行:</p>
<p>$ <code>ozone admin reconfig --service=SCM --address=hadoop1:9860 start</code><br>
SCM: Started reconfiguration task on node [hadoop1:9860].</p>
<p>$ <code>ozone admin reconfig --service=SCM --address=hadoop1:9860 status</code><br>
SCM: Reconfiguring status for node [hadoop1:9860]: started at Wed Dec 28 19:04:44 CST 2022 and finished at Wed Dec 28 19:04:44 CST 2022.<br>
SUCCESS: Changed property ozone.administrators<br>
From: &ldquo;hadoop&rdquo;<br>
To: &ldquo;hadoop,bigdata&rdquo;</p>
<p>$ <code>ozone admin reconfig --service=SCM --address=hadoop1:9860 properties</code><br>
SCM: Node [hadoop1:9860] Reconfigurable properties:<br>
ozone.administrators</p>
</blockquote>
<h2 id="datanode-动态配置">Datanode 动态配置</h2>
<blockquote>
<p>例如, 在<code>ozone-site.xml</code>文件中修改<code>ozone.example.config</code>的值并执行:</p>
<p>$ <code>ozone admin reconfig --service=DATANODE --address=hadoop1:19864 start</code><br>
Datanode: Started reconfiguration task on node [hadoop1:19864].</p>
<p>$ <code>ozone admin reconfig --service=DATANODE --address=hadoop1:19864 status</code><br>
Datanode: Reconfiguring status for node [hadoop1:19864]: started at Wed Dec 28 19:04:44 CST 2022 and finished at Wed Dec 28 19:04:44 CST 2022.<br>
SUCCESS: Changed property ozone.example.config<br>
From: &ldquo;old&rdquo;<br>
To: &ldquo;new&rdquo;</p>
<p>$ <code>ozone admin reconfig --service=DATANODE --address=hadoop1:19864 properties</code><br>
Datanode: Node [hadoop1:19864] Reconfigurable properties:<br>
ozone.example.config</p>
</blockquote>
<h3 id="批量操作">批量操作</h3>
<p>如果要对 Datanode 执行批操作,你可以设置 <code>--in-service-datanodes</code> 标志.
这将向所有 operational state 为 “IN_SERVICE” 的可用 Datanode 发送 reconfig 请求。<br>
目前只有 Datanode 支持批量操作</p>
<blockquote>
<p>例如, 列出 Datanode 所有可配置的属性:<br>
$ <code>ozone admin reconfig --service=DATANODE --in-service-datanodes properties</code><br>
Datanode: Node [hadoop1:19864] Reconfigurable properties:<br>
ozone.example.config<br>
Datanode: Node [hadoop2:19864] Reconfigurable properties:<br>
ozone.example.config<br>
Datanode: Node [hadoop3:19864] Reconfigurable properties:<br>
ozone.example.config<br>
Reconfig successfully 3 nodes, failure 0 nodes.<br></p>
</blockquote>
<a class="btn btn-success btn-lg" href="../../zh/feature/observability.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>