云服务器内容精选

  • 缓存实例配置参数说明 表1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。 不同实例类型和版本支持配置的参数和取值可能略有不同,控制台参数配置页面中未显示的参数不支持修改。 表1 Redis缓存实例配置参数说明 参数名 参数解释 例外场景 取值范围 默认值 active-expire-num 定期删除过期键时随机检查key的数量。 如果增加该参数值,短时间内可能出现CPU使用率升高,命令时延增大,随后恢复正常。如果减小该参数值,内存中过期key数量可能上升,占用更多的内存。 Redis 3.0和Redis 6.0企业版实例不支持该参数。 说明: 该参数为2021年9月新增,在此之前创建的实例,如果无法正常修改参数值,请联系客服处理。 1~1,000 20 timeout 客户端空闲N秒(timeout参数的取值)后将断开连接。参数值为0表示禁用该功能,即客户端空闲不会断开连接。 - 0~7200 单位:秒 0 appendfsync 操作系统的fsync函数刷新缓冲区数据到磁盘,有些操作系统会真正刷新磁盘上的数据,其他一些操作系统只会尝试尽快完成。 单机实例不支持该参数。 no:不调用fsync,由操作系统决定何时刷新数据到磁盘,性能最高。 always:每次写AOF文件都调用fsync,性能最差,但数据最安全。 everysec:每秒调用一次fsync。兼具数据安全和性能。 no appendonly 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 单机实例不支持该参数。 yes:开启日志记录,即开启持久化功能。 no:关闭日志记录,即关闭持久化功能。 only-replica:仅开启从节点持久化功能。 说明: 仅Redis 4.0及以上版本的基础版主备或集群实例,或企业版高性能型主备实例支持only-replica配置项。 如果以上版本及实例类型的实例,控制台中无only-replica配置项,可以联系客服放通该配置项的白名单。 yes client-output-buffer-limit-slave-soft-seconds 主从同步缓冲区大小超过client-output-buffer-slave-soft-limit主从同步缓冲区大小软限制,并持续时间超过此参数值时,服务端会主动断开连接。该参数值配置的越小,越容易断开断连。 - 0~60 单位:秒 60 client-output-buffer-slave-hard-limit 主从同步缓冲区大小硬限制。如果同步缓冲区大小超过这个值,则主从同步连接立即断开。该参数值配置的越小,越容易断开断连。 - 0~17,179,869,184 单位:字节 1,717,986,918 client-output-buffer-slave-soft-limit 主从同步缓冲区大小软限制。如果同步缓冲区大小超过这个值,并持续时间达到client-output-buffer-limit-slave-soft-seconds参数配置的秒数,则主从同步连接断开。该参数值配置的越小,越容易断开断连。 - 0~17,179,869,184 单位:字节 1,717,986,918 maxmemory-policy 内存使用达到上限(maxmemory)时,对缓存数据的逐出策略,有8个取值供选择。 - volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 volatile-lfu: 根据LFU算法删除设置了过期时间的键值。 allkeys-lfu: 根据LFU算法删除任一键值。 详情可参考Redis官网的逐出策略。 volatile-lru 说明: 如果是2020年7月之前创建的Redis实例,且没有修改过该参数,则默认值为noeviction。如果是2020年7月之后创建的实例,默认值都为volatile-lru。 lua-time-limit Lua脚本的最长执行时间。 - 100~5,000 单位:毫秒 5,000 master-read-only 设置实例为只读状态。设置只读后,所有写入命令将返回失败。 Proxy集群实例不支持该参数。 yes no no maxclients 最大同时连接的客户端个数。客户端数量超过该配置值时,会发生连接失败。该参数值配置过大时,会增加服务器处理连接的开销,影响服务器性能,命令时延增大;该参数值配置过小,可能无法完全发挥服务器的性能。 该参数为单节点(单分片)连接数上限: 集群实例单节点连接数上限=实例连接数上限/分片数。 单机/主备实例,单节点连接数上限=实例最大连接数。 读写分离实例暂不支持该参数。 1,000~50,000 10,000 proto-max-bulk-len Redis协议中的最大的请求大小。该参数的配置值需要大于客户请求的长度,否则请求将无法执行。 - 1,048,576~536,870,912 单位:字节 536,870,912 repl-backlog-size 用于增量同步的复制积压缓冲区大小。这是一个用来在从节点断开连接时,存放从节点数据的缓冲区,当从节点重新连接时,如果丢失的数据少于缓冲区的大小,可以用缓冲区中的数据开始增量同步。 - 16,384~1,073,741,824 单位:字节 1,048,576 repl-backlog-ttl 从节点断开后,主节点释放复制积压缓冲区内存的秒数。值为0时表示永不释放复制积压缓冲区内存。 - 0~604,800 单位:秒 3,600 repl-timeout 主从同步超时时间。 单机实例不支持该参数。 30~3,600 单位:秒 60 hash-max-ziplist-entries 当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 512 hash-max-ziplist-value 当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 set-max-intset-entries 当一个集合仅包含字符串且整型元素数量少于参数值时,使用intset编码格式,节约内存。 - 1~10000 512 zset-max-ziplist-entries 当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 128 zset-max-ziplist-value 当有序集合中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 latency-monitor-threshold 延时监控的采样时间阈值(最小值)。 当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。 您可以通过LATENCY等命令获取统计数据和配置、执行采样监控。 说明: latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。 Proxy集群实例不支持该参数。 0~86400000 单位:毫秒 0 notify-keyspace-events 键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。该参数配置为空时,功能关闭。当参数不是空字符串时,功能开启。 Proxy集群实例不支持该参数。 可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知: K:键空间通知,所有通知以__keyspace@__为前缀。 E:键事件通知,所有通知以__keyevent@__为前缀。 g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。 $:字符串命令的通知。 l:列表命令的通知。 s:集合命令的通知。 h:哈希命令的通知。 z:有序集合命令的通知。 x:过期事件:每当有过期键被删除时发送。 e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。 A:参数g$lshzxe的别名。 输入的参数中至少有一个K或者E,A不能与g$lshzxe同时出现,不能出现相同字母。例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。将参数设为字符串"AKE"表示发送所有类型的通知。 Ex slowlog-log-slower-than Redis慢查询会记录超过指定执行时间的命令。slowlog-log-slower-than用于配置记录到redis慢查询命令执行时间阈值。 - 0~1,000,000 单位:微秒 10,000 proxy-slowlog-log-slower-than Proxy节点慢查询会记录超过指定执行时间的命令。proxy-slowlog-log-slower-than用于配置记录到proxy节点慢查询命令的执行时间阈值。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 30,000~2,000,000 单位:微秒 256,000 slowlog-max-len Redis慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOW LOG RESET命令清除慢查询记录。 - 0~1,000 128 proxy-slowlog-max-len Proxy节点慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 0~1,000 128 auto-kill-timeout-lua-process 开启该参数时,执行超时的lua脚本进程会被自动kill。如果lua脚本执行了写操作无法kill,并且实例开启了持久化时,则该lua脚本所在的节点会自动重启,lua脚本执行的写操作将不被保存。 单机实例和Redis 3.0实例不支持该参数。 yes:开启 no:关闭 no audit-log-customer-command-list 审计日志需要额外记录的命令。审计日志默认只记录写命令,该参数可以指定用户额外需要记录的命令。只有在开启了审计日志的情况下才有效。 审计日志目前为白名单特性,只有开启了审计日志白名单的用户,并且仅当实例类型为Proxy集群实例时,才显示该参数。 该参数配置的值必须由英文字母或与.-_组成的命令,且必须以英文字母开头和结尾,每个命令最大长度为10,最多支持配置10个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - dispatch-pubsub-to-fixed-shard 该参数用于指定发布订阅的channel是否集中在0号槽位对应的分片上。开启开关时,发布订阅的处理逻辑与单机版一致。用户轻度使用发布订阅时,推荐开启开关。用户重度使用发布订阅功能时,请使用默认配置,让订阅分担到全部分片中。 仅Proxy集群实例支持该参数。 yes:开启开关。订阅的channel都集中在0号槽位对应的集群分片上。 no:关闭开关。根据订阅channel值计算出hash槽位值,再将channel分散到各个槽位对应的分片中。 no readonly-lua-route-to-slave-enabled 是否把只读账号的只读lua路由到从节点,如果开启,只读账号的只读lua可以执行,且会路由到从节点。 仅读写分离实例支持该参数。 yes:开启 no:关闭 no cluster-sentinel-enabled 实例兼容哨兵(Sentinel)模式。 仅Proxy集群实例支持该参数。 yes:开启 no:关闭 no scan-support-wr-split 该参数关闭时,scan命令在master节点执行,该参数开启后,scan命令将在slave节点执行。 开启该参数后,可以降低scan命令对主节点的压力,但对于新写入主节点的数据,可能无法第一时间在从节点查询到。 仅Proxy集群实例支持该参数。 如果历史创建的Proxy集群实例不支持该参数,请联系客服升级实例版本。 yes:开启 no:关闭 no 表2 Memcached缓存实例配置参数说明 参数名 参数解释 取值范围 默认值 timeout 客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。 0~7200 单位:秒 0 maxclients 最大同时连接的客户端个数。 1,000~10,000 10,000 maxmemory-policy 内存使用达到上限时对缓存数据管理策略。 volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 noeviction reserved-memory-percent 预留给后台进程用于持久化、主从同步等内部处理的内存百分比(相对于最大可用内存的百分比)。 0-80 30
  • 查看和修改D CS 实例基本信息 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”,进入缓存管理页面。 查询DCS缓存实例。 支持通过关键字搜索对应的DCS缓存实例。 直接在搜索栏输入关键字即可。 支持通过指定属性的关键字查询对应的DCS缓存实例。 当前支持的属性有“名称”、“规格”、“ID”、“IP地址”、“可用区”、“状态”、“实例类型”、“缓存类型”等。 例如,单击搜索栏,选择过滤属性“缓存类型”, 可选择缓存类型(Redis 3.0、Redis 4.0、Redis 5.0和Redis 6.0)过滤DCS缓存实例。 更多的搜索设置帮助,请单击搜索栏右侧的搜索帮助。 在需要查看的DCS缓存实例左侧,单击该实例的名称,进入实例的基本信息页面。参数说明如表1所示。 表1 参数说明 信息类型 参数 说明 基本信息 名称 DCS缓存实例的名称。单击“名称”后的可以修改实例名称。 状态 DCS缓存实例状态。 ID DCS缓存实例的ID。 缓存类型 DCS的缓存版本。例如,基础版Redis 4.0。 实例创建后,不支持修改缓存版本,如需使用其他版本,建议重新创建实例并进行数据迁移。 小版本 DCS缓存实例的小版本号。DCS会不定期升级产品小版本,优化产品功能和修复产品缺陷,单击“升级小版本”可以升级实例的小版本到最新版本。 说明: 默认不支持查看“小版本”,如需查看或升级小版本,请联系客服开通白名单。 建议在业务低峰期执行实例升级。业务高峰期(如实例内存利用率、CPU利用率达到90%以上或写入流量过大)升级可能会失败,若升级失败,请在业务低峰期再次尝试升级。 实例升级采用节点迁移的方式,在数据迁移过程中,访问时延会增大,每迁移一个分片会发生一次秒级闪断和一分钟以内的只读,请确保客户端应用具备重连机制和处理异常的能力。 Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。 仅Redis 4.0及以上基础版实例显示该参数,企业版实例不支持升级小版本。 如果实例已经为最新小版本,不支持升级。 升级小版本不会改变实例的连接地址、访问密码、白名单配置、参数及告警配置等信息。 代理版本 DCS缓存实例的Proxy代理节点版本号,仅Proxy集群和读写分离实例显示代理版本,其他实例类型不涉及。DCS会不定期升级产品的代理版本,优化产品功能和修复产品缺陷,单击“升级代理版本”可以升级实例的代理版本到最新版本。 说明: 默认不支持查看“代理版本”,如需查看或升级代理版本,请联系客服开通白名单。 实例升级过程中会发生秒级连接闪断,请确保客户端应用具备重连机制和处理异常的能力,建议在业务低峰期升级。 如果实例已经为最新代理版本,不支持升级。 升级代理版本不会改变实例的连接地址、访问密码、白名单配置、参数及告警配置等信息。 实例类型 DCS缓存实例类型,支持“单机”、“主备”、“Proxy集群”、“Cluster集群”和“读写分离”。 如需变更实例类型,请参考变更DCS实例规格了解支持变更的实例类型、变更实例类型的注意事项和操作步骤。 规格(GB) DCS缓存实例规格。 如需变更实例规格,请参考变更DCS实例规格了解变更实例规格的注意事项和操作步骤。 带宽 DCS缓存实例的带宽。 单击“调整带宽”可以调整实例的带宽值,详情请参考调整实例带宽。 已用/可用内存 (MB) DCS缓存实例已经使用的内存量和您可以使用的最大内存量。 已使用的内存量包括两部分: 用户存储的数据; Redis-server内部的buffer(如client buffer、repl-backlog等),以及内部的数据结构。 CPU DCS缓存实例的CPU架构。只有Redis实例才会显示该字段。实例创建后,不支持变更CPU架构。 企业项目 实例的企业项目。单击参数后的可以切换实例的企业项目。 企业项目可提供资源/人员/财务等隔离,修改企业项目会修改以上内容的隔离目标。 维护时间窗 运维操作时间。单击参数后的可以修改时间窗。 在下拉框中选择新的维护时间窗,单击保存修改,单击取消修改。 修改成功后立即生效。 描述 DCS缓存实例的描述信息。单击“描述”后的可以修改描述信息。 连接信息 访问方式 根据是否配置访问密码,访问方式分为“密码访问”和“免密访问”。 如需变更密码访问方式,请参考配置Redis访问密码。 连接地址 同一VPC内客户端连接Redis缓存实例时的 域名 地址和端口。 单击“连接地址”后的可以修改端口。实例创建后,不支持修改连接地址。 说明: 如果是Redis 4.0、Redis 5.0和Redis 6.0主备实例,“连接地址”表示主节点的域名和端口号,“只读地址”,表示备节点的域名和端口号。客户端连接时,可选择主节点或备节点的域名和端口号,详情请参考主备实例架构。 仅Redis 4.0/5.0/6.0基础版实例支持修改端口,Redis 3.0实例、Redis 6.0企业版和Memcached实例不支持。 IP地址 同一VPC内客户端连接DCS缓存实例的IP地址和端口。 单击IP地址后的可以修改实例的端口。实例创建后,不支持修改IP地址。在连接实例时,建议优先使用域名地址进行连接。 公网访问 目前仅Redis 3.0实例默认支持开启公网访问。开启Redis 3.0实例公网访问,请参考公网连接Redis 3.0(Redis 3.0已停售)。其他版本暂不支持公网访问。 如果是Redis 4.0、Redis 5.0和Redis 6.0版本的实例,需要先联系客服开通公网访问白名单后,才支持开启公网访问。开启Redis 4.0/5.0/6.0实例公网访问、及获取公网访问地址的操作,请参考开启Redis 4.0/5.0/6.0公网访问并获取公网访问地址。 Memcached(已停售)不支持公网访问。 网络信息 可用区 缓存实例节点所属的可用区。 对于单可用区的多副本集群实例,支持变更备节点可用区,具体请参考变更DCS集群实例为多可用区。其他场景均不支持变更可用区。 虚拟私有云 DCS缓存实例所在的私有网络。实例创建后,不支持修改虚拟私有云。 子网 DCS缓存实例所属子网。实例创建后,不支持修改子网。 安全组 DCS缓存实例所关联的安全组。单击“安全组”后的可以修改安全组。 在下拉框选择新的安全组,单击保存修改,单击取消修改。修改成功后立即生效。 当前仅Redis 3.0、Redis 6.0企业版和Memcached支持安全组访问控制,Redis 4.0、Redis 5.0和Redis 6.0基础版实例是基于VPCEndpoint,暂不支持安全组,建议配置实例白名单。 说明: 此处只能下拉选择已创建的安全组,若需要重新配置安全组,可参考如何选择和配置安全组。 实例拓扑 - 查看实例拓扑图,将鼠标移动到具体节点图标,可以查看该节点的总体监控信息,或者单击节点图标,可以查看节点历史监控信息。 单机实例不显示实例的拓扑图。 付费信息 计费方式 DCS缓存实例的计费方式。如需变更计费方式,请参考变更计费模式概述。 创建时间 DCS缓存实例开始创建时间。 运行时间 DCS缓存实例完成创建时间。
  • 修改定时升级任务 在“后台任务管理”页面的“定时任务”页签中,单击页面左上角下拉框,选择时间段,在搜索对话框中输入“版本升级”,按“Enter”,快速查找定时升级任务。 在待修改的定时升级任务后,单击“修改”。 在弹出的“修改定时任务”对话框中,您可以修改定时升级任务的时间,还可以取消定时升级任务,具体操作如下。 修改定时升级任务的时间:修改时间,单击“确定”。 取消定时升级任务:选择“取消”,单击“确定”。
  • 升级内核版本的影响 若Topic为单副本,升级期间无法对该Topic生产消息或消费消息,会造成业务中断。 若Topic为多副本,升级不会造成服务中断,但可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期升级。 升级过程中会逐个节点升级,单个节点的升级包括两部分:升级软件包和数据同步。升级软件包耗时在5分钟左右,数据同步耗时取决于升级软件包过程中其他节点Leader副本的生产数据量,数据量越大,所需时间越久。升级总耗时=每个节点升级软件包耗时+数据同步耗时。 升级过程中会逐个节点重启监控进程,导致监控数据断点,重启成功后,监控数据恢复。 升级过程中节点滚动重启造成分区Leader切换,会发生秒级连接闪断,在用户网络环境稳定的前提下,Leader切换时长一般为1分钟以内。多副本的Topic需要在生产客户端配置重试机制,方法如下: 生产客户端为Kafka开源客户端时,检查是否配置retries参数,建议此参数值设置为3~5。 生产客户端为Flink客户端时,检查是否配置重启策略,配置重启策略可以参考如下代码。 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, Time.seconds(20)));
  • 操作场景 您可以通过明文接入RocketMQ实例,也可以通过密文接入RocketMQ实例,本章节指导您在控制台修改接入方式。 RocketMQ实例支持的接入方式如下: SSL:服务端与客户端之间通过密文传输,安全性较高,性能较低。 PLAINTEXT:服务端与客户端之间通过明文传输,安全性较低,性能较高。 PERMISSIVE:服务端与客户端之间即能通过明文传输又能通过密文传输,传输方式由客户端决定。
  • 约束与限制 2020年7月1日之前购买的RabbitMQ实例,不支持在控制台开启插件,如果需要开启,请提交工单联系技术人员在后台开启插件。 2020年11月14日之前购买的RabbitMQ实例,不支持在控制台开启rabbitmq_consistent_hash_exchange插件,如果需要开启,请提交工单联系技术人员在后台开启插件。 开启插件过程中,不会重启实例。 rabbitmq_shovel和rabbitmq_federation插件在特定场景下才支持开启,具体如表2所示。 表2 支持开启插件的场景 实例 rabbitmq_shovel rabbitmq_federation 未开启SSL的单机实例 支持 支持 已开启SSL的单机实例 不支持 不支持 未开启SSL的集群实例 不支持 支持 已开启SSL的集群实例 不支持 不支持
  • 约束与限制 只有当DCS缓存实例处于“运行中”或“故障”状态,才能执行此操作。 单机实例或关闭了AOF持久化(参数appendonly配置为no)的主备、集群、读写分离实例,在重启实例后,实例中原有的数据将被清空,请谨慎操作。 在重启DCS缓存实例过程中,您无法对实例进行读写操作。 在重启DCS缓存实例过程中,如果有正在进行的备份操作,备份任务会终止,也可能会重启失败。 重启DCS缓存实例会断开原有客户端连接,建议在应用中配置自动重连。
  • 重启DCS实例 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 勾选“名称”列下需要重启的DCS缓存实例左侧的方框(可选择一个或多个缓存实例),单击信息栏左上侧的“重启”。 如果重启单个实例,也可以在需要重启的DCS缓存实例右侧,单击“操作”列下的“重启”。 单击“是”,重启DCS缓存实例。DCS缓存实例重启成功后,缓存实例状态切换为“运行中”。 重启DCS缓存实例大约需要10秒到30分钟,具体需要时长与实例的缓存大小有关。 默认情况只会重启实例进程。如果勾选“强制重启”,Redis 3.0、Memcached实例将会重启虚拟机,Redis 4.0及以上版本实例不支持强制重启,将会重启实例进程。
  • 操作场景 分布式消息服务Kafka版为实例、Topic、消费者提供了几个常用配置参数的默认值,您可以根据实际业务需求,在控制台自行修改参数值。其他在控制台未列出的配置参数,请参考Kafka配置进行修改。 Kafka实例的参数分为动态参数和静态参数: 动态参数:动态参数修改成功后,无需重启实例,立即生效。 静态参数:静态参数修改成功后,需要手动重启实例才能生效。 部分老实例不支持修改配置参数,具体以控制台为准,此时请联系客服解决。 单机版实例不支持修改配置参数。
  • 操作场景 分布式消息服务RocketMQ版控制台支持重启实例的某个Broker节点,或者所有Broker节点。 主节点重启过程中,客户端的生产和消费请求会被拒绝,持续时间不超过30s,建议在业务量少时重启节点。重启备节点,不会影响业务的使用。 怎么判断哪个是主节点? 主节点为“Broker ID”显示“0”的节点。 图1 重启节点 仅在RocketMQ实例4.8.0版本支持重启节点,5.x版本不支持。
  • 操作场景 部分角色实例以分布式并行工作的方式对外部业务提供服务,服务会单独保存每个实例是否可以使用的信息,所以需要使用 FusionInsight Manager为这些实例执行入服或退服的操作,变更实例的业务可用状态方式。 不支持该此功能的实例,默认无法执行任务。 当前支持退服和入服操作的角色有:HDFS的DataNode、Yarn的NodeManager、HBase的RegionServer。 默认情况下,当DataNode数量少于或等于HDFS的副本数时,不能执行退服操作。若HDFS副本数为3时,则系统中少于4个DataNode,将无法执行退服,Manager在执行退服操作时会等待30分钟后报错并退出执行。 针对 MRS 3.3.0及之后版本集群,用户也可以在DataNode退服前,开启快速退服功能,此时当DataNode数量满足“dfs.namenode.decommission.force.replication.min”参数设置的值时,可以执行退服,系统将同时执行退服和添加HDFS副本数的操作。快速退服期间如果有写入数据操作,可能导致数据丢失,请谨慎操作。快速退服相关参数如下,可以在Manager界面的HDFS服务参数全部配置页面搜索查看: dfs.namenode.decommission.force.enabled:是否开启DataNode快速退服特性。设置为“true”表示开启。 dfs.namenode.decommission.force.replication.min:DataNode快速退服特性场景下,Block满足退服条件的最小可用副本数量。取值范围1~3。 由于Mapreduce任务执行时,会生成一些副本数为10的文件,此时若DataNode实例数少于10时,将无法进行退服操作。 如果退服前,DataNode节点的机架数(机架数由各DataNode节点所配置的“机架”的名称数量决定)大于1;而退服部分DataNode后,剩余的DataNode节点的机架数变为1,则此次退服将会失败。所以需要在退服前评估退服操作对机架数的影响,以调整退服的DataNode节点。 在退服多个DataNode时,如果每个DataNode存储的数据量较大,如果执行选择多个DataNode同时退服,则很有可能会因超时而退服失败。为了避免这种情况,建议每次退服仅退服1个DataNode,进行多次退服操作。