运维
动态属性重载
登录后可跨设备保存划线和私人笔记登录
Ozone 支持在不重启服务的情况下动态重新加载某些配置属性。这使运维人员能够在生产环境中调整集群行为、修改限制值并更新设置,而不会造成服务中断。
概述
当某个属性被标记为可重新配置时,你可以:
- 在配置文件(
ozone-site.xml)中修改该属性的值 - 调用 reconfig 命令,将更改应用到正在运行的服务
重新配置是异步执行的,你可以检查状态以确认是否完成。
命令参考
ozone admin reconfig --service=[OM|SCM|DATANODE] --address=<ip:port|hostname:port> <operation>选项
| 选项 | 说明 |
|---|---|
--service | 服务类型:OM、SCM 或 DATANODE |
--address | 目标服务器的 RPC 地址(例如 hadoop1:9862 或 192.168.1.10:9862)。除非指定了 --in-service-datanodes,否则为必填项。 |
--in-service-datanodes | (仅限 Datanode)应用于所有 IN_SERVICE 状态的 Datanode |
操作
| 操作 | 说明 |
|---|---|
start | 异步执行重新配置 |
status | 检查重新配置任务的状态 |
properties | 列出该服务所有可重新配置的属性 |
可重新配置的属性
Ozone Manager(OM)
| 属性 | 默认值 | 说明 |
|---|---|---|
ozone.administrators | - | 以逗号分隔的 Ozone 管理员列表 |
ozone.readonly.administrators | - | 以逗号分隔的只读管理员列表 |
ozone.om.server.list.max.size | 1000 | list 操作的服务端最大响应大小 |
ozone.om.volume.listall.allowed | true | 允许所有用户列出所有卷 |
ozone.om.follower.read.local.lease.enabled | false | 为 Follower 读优化启用本地租约 |
ozone.om.follower.read.local.lease.lag.limit | 10000 | Follower 读取允许的最大日志延迟 |
ozone.om.follower.read.local.lease.time.ms | 5000 | Follower 读取的租约时间(毫秒) |
ozone.key.deleting.limit.per.task | 50000 | 每个任务最多删除的键数量 |
ozone.directory.deleting.service.interval | 60s | 目录删除服务的运行间隔 |
ozone.thread.number.dir.deletion | 10 | 目录删除的线程数 |
ozone.snapshot.filtering.service.interval | 60s | 快照 SST 过滤服务的运行间隔 |
Storage Container Manager(SCM)
| 属性 | 默认值 | 描述 |
|---|---|---|
ozone.administrators | - | 以逗号分隔的 Ozone 管理员列表 |
ozone.readonly.administrators | - | 以逗号分隔的只读管理员列表 |
hdds.scm.block.deletion.per-interval.max | 500000 | SCM 在每个删除间隔内处理的最大块数 |
hdds.scm.replication.thread.interval | 300s | 复制监控线程的运行间隔 |
hdds.scm.replication.under.replicated.interval | 30s | 检查副本不足队列的频率 |
hdds.scm.replication.over.replicated.interval | 30s | 检查副本过多队列的频率 |
hdds.scm.replication.event.timeout | 12m | 复制/删除命令的超时时间 |
hdds.scm.replication.event.timeout.datanode.offset | 6m | 从事件超时时间中减去、用于确定 Datanode 截止时间的偏移量 |
hdds.scm.replication.maintenance.replica.minimum | 2 | 节点维护所需的最小副本数 |
hdds.scm.replication.maintenance.remaining.redundancy | 1 | 维护所需的剩余冗余度(EC) |
hdds.scm.replication.datanode.replication.limit | 20 | 每个 Datanode 排队的复制命令最大数量 |
hdds.scm.replication.datanode.reconstruction.weight | 3 | 重构命令的权重乘数 |
hdds.scm.replication.datanode.delete.container.limit | 40 | 每个 Datanode 排队的删除容器命令最大数量 |
hdds.scm.replication.inflight.limit.factor | 0.75 | 用于按比例缩放集群级复制限制的系数 |
hdds.scm.replication.container.sample.limit | 100 | 调试时每种状态采样的容器数量 |
ozone.scm.ec.pipeline.minimum | 5 | 需要保持打开的最小 EC 管道数 |
ozone.scm.ec.pipeline.per.volume.factor | 1 | 基于卷数量计算 EC 管道数的系数 |
Datanode
| 属性 | 默认值 | 说明 |
|---|---|---|
hdds.datanode.block.deleting.limit.per.interval | 20000 | 数据节点每个间隔内删除的最大块数 |
hdds.datanode.block.delete.threads.max | 5 | 块删除的最大线程数 |
ozone.block.deleting.service.workers | 10 | 块删除服务的工作线程数 |
ozone.block.deleting.service.interval | 60s | 块删除服务的运行间隔 |
ozone.block.deleting.service.timeout | 300s | 块删除服务的超时时间 |
hdds.datanode.replication.streams.limit | 10 | 每个数据节点的最大复制流数 |
使用示例
列出可重新配置的属性
要查看所有可以动态重新配置的属性:
$ ozone admin reconfig --service=OM --address=hadoop1:9862 properties
OM: Node [hadoop1:9862] Reconfigurable properties:
ozone.administrators
ozone.om.server.list.max.size
ozone.om.volume.listall.allowedOM 重新配置
修改 ozone-site.xml 中的 ozone.administrators,然后执行:
$ ozone admin reconfig --service=OM --address=hadoop1:9862 start
OM: Started reconfiguration task on node [hadoop1:9862].
$ ozone admin reconfig --service=OM --address=hadoop1:9862 status
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.
SUCCESS: Changed property ozone.administrators
From: "hadoop"
To: "hadoop,bigdata"SCM 重新配置
修改 ozone-site.xml 中的 ozone.administrators,然后执行:
$ ozone admin reconfig --service=SCM --address=hadoop1:9860 start
SCM: Started reconfiguration task on node [hadoop1:9860].
$ ozone admin reconfig --service=SCM --address=hadoop1:9860 status
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.
SUCCESS: Changed property ozone.administrators
From: "hadoop"
To: "hadoop,bigdata"数据节点重配置
修改 ozone-site.xml 中的 hdds.datanode.block.deleting.limit.per.interval,然后执行:
$ ozone admin reconfig --service=DATANODE --address=hadoop1:19864 start
Datanode: Started reconfiguration task on node [hadoop1:19864].
$ ozone admin reconfig --service=DATANODE --address=hadoop1:19864 status
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.
SUCCESS: Changed property hdds.datanode.block.deleting.limit.per.interval
From: "20000"
To: "30000"批量操作(仅限数据节点)
要同时对所有处于 IN_SERVICE 状态的数据节点执行重新配置:
$ ozone admin reconfig --service=DATANODE --in-service-datanodes start
Datanode: Started reconfiguration task on node [hadoop1:19864].
Datanode: Started reconfiguration task on node [hadoop2:19864].
Datanode: Started reconfiguration task on node [hadoop3:19864].
Reconfig successfully 3 nodes, failure 0 nodes.要列出所有 Datanode 上的属性:
$ ozone admin reconfig --service=DATANODE --in-service-datanodes properties
Datanode: Node [hadoop1:19864] Reconfigurable properties:
hdds.datanode.block.deleting.limit.per.interval
Datanode: Node [hadoop2:19864] Reconfigurable properties:
hdds.datanode.block.deleting.limit.per.interval
Datanode: Node [hadoop3:19864] Reconfigurable properties:
hdds.datanode.block.deleting.limit.per.interval
Reconfig successfully 3 nodes, failure 0 nodes.最佳实践
- 先在非生产环境测试:在将配置更改应用到生产环境之前,务必先在测试环境中进行验证。
- 每次只修改一个属性:当需要进行多项更改时,应逐步应用,以便隔离每项更改所产生的影响。
- 更改后进行监控:重新配置后,密切观察集群的指标和日志,确保更改达到了预期效果。
- 记录更改:保留配置更改的记录,以便用于故障排查和审计。
- 谨慎使用批处理操作:使用
--in-service-datanodes时,请确保所有节点都应接收相同的配置。
评论
登录后参与评论
正在加载评论…
KnowForge