网站网址没有被百度收录博海博海网站建设

张小明 2026/3/12 14:03:30
网站网址没有被百度收录,博海博海网站建设,百度快速收录方法,仿大学网站网页代码文章目录问题场景根本原因分析1. BE 注册机制2. 问题发生的时序3. 代码流程分析3.1 BE 注册到 Leader FE3.2 Follower FE 同步 BE 信息3.3 容量检查逻辑为什么会出现这个问题#xff1f;原因1#xff1a;Follower 启动/同步延迟原因2#xff1a;Follower 的 journal replay …文章目录问题场景根本原因分析1. BE 注册机制2. 问题发生的时序3. 代码流程分析3.1 BE 注册到 Leader FE3.2 Follower FE 同步 BE 信息3.3 容量检查逻辑为什么会出现这个问题原因1Follower 启动/同步延迟原因2Follower 的 journal replay 卡住原因3BE 注册时 Follower 还没完全加入集群解决方案方案1等待 Follower 同步完成推荐方案2重启 Follower FE如果同步卡住预防措施1. 正确的启动顺序2. 监控 Follower 同步状态3. 确保网络连通性代码关键点总结快速诊断命令总结问题场景初始化流程先启动 3 个 FE1 Leader 2 Follower然后启动 3 个 BEBE 通过 MySQL 连接到 FE 并注册自己问题现象两个 Follower FE 报错Cluster has no available capacityLeader FE 可能正常能看到 BE根本原因分析1. BE 注册机制BE 启动时会通过MySQL 协议连接到 FE 并注册自己。关键点BE 只连接到指定的 FE通常是 Leader或配置的 helper FEBE 注册操作只在连接的 FE 上执行不会直接广播到所有 FEBE 注册信息通过 EditLog 同步到其他 FE2. 问题发生的时序时间线 T1: 启动 3 个 FE - FE1 成为 Leader - FE2, FE3 成为 Follower可能还在同步 journal T2: 启动 3 个 BE - BE1 连接到 Leader FE1注册成功 - BE2 连接到 Leader FE1注册成功 - BE3 连接到 Leader FE1注册成功 Leader FE1: - 执行 addBackend() → 更新 idToBackendRef - 记录到 EditLog: logAddBackend() - 此时 Leader 能看到 3 个 BE容量正常 T3: Follower FE2, FE3 的状态 - 如果 Follower 还没完全启动/同步完成 - 或者 Follower 的 journal replay 还没追上 - 它们可能还没 replay 到 BE 注册的 EditLog - 因此 idToBackendRef 还是空的或只有部分 BE - 导致 getClusterAvailableCapacityB() 返回 0 或很小 - 触发 Cluster has no available capacity 错误3. 代码流程分析3.1 BE 注册到 Leader FE当 BE 通过 MySQL 连接到 Leader FE 并执行注册时// SystemInfoService.addBackend() 方法第 203-224 行privatevoidaddBackend(Stringhost,intheartbeatPort){BackendnewBackendnewBackend(GlobalStateMgr.getCurrentState().getNextId(),host,heartbeatPort);// 1. 更新 Leader 的 idToBackendRef立即生效MapLong,BackendcopiedBackendsMaps.newHashMap(idToBackendRef);copiedBackends.put(newBackend.getId(),newBackend);idToBackendRefImmutableMap.copyOf(copiedBackends);// 2. 记录到 EditLog用于同步到 FollowerGlobalStateMgr.getCurrentState().getEditLog().logAddBackend(newBackend);LOG.info(finished to add {} ,newBackend);}关键点Leader 的idToBackendRef立即更新Leader 能立即看到 BEBE 注册信息记录到 EditLog需要时间同步到 Follower3.2 Follower FE 同步 BE 信息Follower FE 通过Replay EditLog来同步 BE 信息// SystemInfoService.replayAddBackend() 方法第 909-934 行publicvoidreplayAddBackend(BackendnewBackend){// 更新 Follower 的 idToBackendRefMapLong,BackendcopiedBackendsMaps.newHashMap(idToBackendRef);copiedBackends.put(newBackend.getId(),newBackend);idToBackendRefImmutableMap.copyOf(copiedBackendRef);// 添加到集群if(newBackend.getBackendState()BackendState.using){finalClusterclusterGlobalStateMgr.getCurrentState().getCluster();if(null!cluster){cluster.addBackend(newBackend.getId());}}}关键点Follower 的idToBackendRef只有在 Replay EditLog 时才会更新如果 Follower 的 journal replay还没追上就看不到新注册的 BE3.3 容量检查逻辑当 TableKeeper 或其他组件尝试创建表时// SystemInfoService.checkClusterCapacity() 方法第 1024-1028 行publicvoidcheckClusterCapacity()throwsDdlException{if(getClusterAvailableCapacityB()0L){thrownewDdlException(Cluster has no available capacity);}}// SystemInfoService.getClusterAvailableCapacityB() 方法第 1007-1022 行publiclonggetClusterAvailableCapacityB(){ListBackendclusterBackendsgetBackends();// 从 idToBackendRef 获取longcapacity0L;for(Backendbackend:clusterBackends){if(backend.isDecommissioned()){capacity-backend.getDataUsedCapacityB();}else{capacitybackend.getAvailableCapacityB();// 如果 BE 不在 idToBackendRef 中这里就是 0}}returncapacity;}关键点getBackends()从idToBackendRef获取 BE 列表如果 Follower 的idToBackendRef还是空的或只有部分 BE容量就是 0触发 “Cluster has no available capacity” 错误为什么会出现这个问题原因1Follower 启动/同步延迟场景Follower FE2, FE3 启动较慢或者还在 replay journalBE 注册时Follower 的 journal replay还没追上Follower 的idToBackendRef还是空的验证方法-- 在 Follower FE 上执行SHOWFRONTENDS;-- 查看 ReplayedJournalId如果比 Leader 小很多说明还在同步SHOWBACKENDS;-- 如果看不到 BE说明还没 replay 到 BE 注册的 EditLog原因2Follower 的 journal replay 卡住场景Follower 的 journal replay 遇到错误/异常卡在某个 journal ID无法继续 replay 后续的 BE 注册 EditLog导致 Follower 永远看不到新注册的 BE验证方法# 在 Follower FE 上查看日志tail-100 fe/log/fe.log|grep-ireplay\|error\|exception原因3BE 注册时 Follower 还没完全加入集群场景Follower FE2, FE3 虽然启动了但可能还没完全加入集群状态异常Leader 的 EditLog 可能还没同步到这些 Follower导致 Follower 看不到 BE验证方法-- 在 Leader FE 上执行SHOWFRONTENDS;-- 查看 Follower 的 Alive 状态和 ReplayedJournalId解决方案方案1等待 Follower 同步完成推荐操作等待 Follower FE 的 journal replay 追上 Leader确认 Follower 能看到所有 BE验证-- 在 Leader 上查看SHOWFRONTENDS;-- 确认 Follower 的 ReplayedJournalId 接近 Leader-- 在 Follower 上查看如果能连接SHOWBACKENDS;-- 确认能看到所有 BE等待时间通常需要1-5 分钟取决于 journal 数量方案2重启 Follower FE如果同步卡住操作停止 Follower FE使用 Leader 作为 helper 重新启动# 在 Follower FE 上执行./bin/stop_fe.sh# 使用 Leader 作为 helper 启动./bin/start_fe.sh --helperleader_ip:9010 --daemon# 查看启动日志等待同步完成tail-f log/fe.log|grep-ireplay\|ready\|transfer预防措施1. 正确的启动顺序推荐顺序先启动Leader FE等待完全启动再启动Follower FE等待完全启动并同步完成最后启动BE让 BE 注册到 Leader验证每个步骤-- 步骤1确认 Leader 启动SHOWFRONTENDS;-- 应该看到 1 个 Leader-- 步骤2确认 Follower 启动并同步SHOWFRONTENDS;-- 应该看到 1 Leader 2 Follower且 重要点ReplayedJournalId 接近-- 步骤3启动 BE 后在所有 FE 上验证SHOWBACKENDS;-- 所有 FE 都应该能看到 BE2. 监控 Follower 同步状态定期检查-- 在 Leader 上执行SHOWFRONTENDS;-- 关注-- - Follower 的 Alive 状态-- - ReplayedJournalId 是否接近 Leader-- - LastHeartbeat 是否正常3. 确保网络连通性检查Follower FE 能连接到 Leader FE9010 端口Follower FE 能连接到 BE9050 心跳端口Leader FE 能连接到所有 BE代码关键点总结BE 注册只在连接的 FE通常是 Leader上立即生效Leader 的idToBackendRef立即更新其他 FE 需要通过 EditLog Replay 才能看到Follower 的 BE 视图依赖 Journal ReplayreplayAddBackend()方法更新 Follower 的idToBackendRef如果 Replay 还没追上Follower 就看不到 BE容量检查基于本地的idToBackendRefgetClusterAvailableCapacityB()从idToBackendRef获取 BE 列表如果idToBackendRef为空容量就是 0触发错误快速诊断命令-- 1. 在 Leader 上检查 FE 状态SHOWFRONTENDS;-- 2. 在 Leader 上检查 BE 状态SHOWBACKENDS;-- 3. 在 Follower 上检查 BE 状态如果能连接SHOWBACKENDS;-- 4. 对比 Leader 和 Follower 的 ReplayedJournalId-- 如果差异很大说明 Follower 还在同步# 5. 在 Follower 上查看 journal replay 日志tail-100 fe/log/fe.log|grep-ireplay\|error\|exception# 6. 检查 Follower 到 Leader 的网络连通性nc-zvleader_ip9010总结问题本质Follower FE 的idToBackendRef还没同步到 BE 注册信息导致容量检查失败。根本原因BE 注册信息通过 EditLog 同步如果 Follower 的 journal replay 还没追上就看不到 BE。解决方法等待 Follower 同步完成或重启 Follower 使其从 Leader 重新同步。预防措施按正确顺序启动Leader → Follower → BE并确保 Follower 完全同步后再启动 BE。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

手机网站怎么在电脑上打开青岛网站建设方案策划

大家好,我是Ai培训韩老师今天通义万象Wan2.6视频模型出来了,效果确实还不错。给的提示词不复杂示例:这是一个充满活力与自然美感的滑雪场宣传短片,主题是自由、冒险与冬日狂欢,通过快节奏镜头展现雪地运动的激情与雪景…

张小明 2026/3/5 4:18:52 网站建设

家教网站域名怎么做如何由网页生成网站

开启你的音乐之旅 🎵 【免费下载链接】Groove 项目地址: https://gitcode.com/gh_mirrors/gr/Groove Groove音乐播放器是一款功能全面的开源音乐软件,专为追求高品质音乐体验的用户设计。它巧妙地将本地音乐管理、在线音乐探索和个性化播放功能融…

张小明 2026/3/5 4:18:53 网站建设

网站建设的进度表wp-wordpress

Java MQTT 开发方案全景对比与实践指南 MQTT(Message Queuing Telemetry Transport)作为轻量级物联网消息协议,在 Java 生态中应用广泛。无论是传统后端应用,还是云端物联网平台,选择合适的 MQTT 客户端或集成方案都是项目成功的关键。本文将从核心库、Spring生态集成、云…

张小明 2026/3/5 4:18:52 网站建设

网站建设费在会计上怎么入账网站域名买卖

1. 【深度学习】基于yolo12-A2C2f-EDFFN的垃圾废弃物分类识别系统实现_1 1.1.1.1. 摘要 随着城市化进程的加快和消费水平的不断提高,生活垃圾产量持续增长,垃圾分类成为解决环境问题的关键环节。本文基于深度学习技术,提出了一种基于yolo12…

张小明 2026/3/5 4:18:53 网站建设

网站建设 400电话 广告购物网站建设 成都

这是某乎平台运维人员找工作难的经历 这两年,IT行业面临经济周期波动与AI产业结构调整的双重压力,确实有很多运维与网络工程师因企业缩编或技术迭代而暂时失业。 很多人都在提运维网工失业后就只能去跑滴滴送外卖了,但我想分享的是&#xf…

张小明 2026/3/5 4:18:57 网站建设

陕西建设网综合便民服务中心网站超大网站制作素材

告别数据混乱:企业级JavaScript表格ag-Grid实战指南 【免费下载链接】ag-grid ag-grid/ag-grid-react 是一个用于 React 的数据表格库。适合在 React 开发的 Web 应用中使用,实现丰富的数据表格和数据分析功能。特点是提供了与 React 组件的无缝集成、易…

张小明 2026/3/5 4:18:57 网站建设