diff --git a/doc/process/weekly/week-7/members/zoujiaxuan-weekly-summary-7.md b/doc/process/weekly/week-7/members/zoujiaxuan-weekly-summary-7.md new file mode 100644 index 0000000..aedabab --- /dev/null +++ b/doc/process/weekly/week-7/members/zoujiaxuan-weekly-summary-7.md @@ -0,0 +1,156 @@ +# 邹佳轩第7周个人工作总结 + +## 基本信息 +- **姓名**: 邹佳轩 +- **总结周期**: 第7周(2025-11-03 至 2025-11-09) +- **项目**: 基于Hadoop的故障检测与自动恢复项目 +- **总结时间**: 2025-11-10 + +## 本周工作完成情况 + +### 完成情况统计表 +| 任务项目 | 计划目标 | 实际完成 | 完成状态 | 完成度 | +|----------|----------|----------|----------|--------| +| Hadoop集群部署 | 规划与设计、环境准备、安装配置、功能验证 | 完成集群规划、JDK与SSH免密、Hadoop安装与核心配置、格式化NN、启动HDFS/YARN与Web验证 | ✅ 已完成 | 93% | +| MySQL远程连接配置 | 安装MySQL、配置远程连接、用户授权、安全策略 | 完成安装与`bind-address`配置、创建远程用户与授权、开放3306、防护策略、远程连接测试通过 | ✅ 已完成 | 90% | +| Flume学习与实践 | 核心概念、配置案例、部署测试与总结 | 完成核心概念学习、编写多源汇聚与日志收集配置、部署测试与总结文档 | ✅ 已完成 | 88% | + + +**个人整体完成度80%** + +## 具体完成任务 + +### 1. Hadoop集群部署(周一-周三) +- **完成情况**: 明确节点规模与主机名命名规范,规划数据目录与端口;统一系统版本,创建专用用户与权限;安装JDK与环境变量;配置SSH免密;完成Hadoop安装与核心配置;格式化NameNode;启动HDFS/YARN并验证Web界面与基本功能。 +- **技术成果**: + - 集群规划与设计文档(规模、IP/主机名、目录结构、端口规划) + - 核心配置文件包:`core-site.xml`、`hdfs-site.xml`、`yarn-site.xml`、`mapred-site.xml` + - 启停与环境脚本(环境变量、启动/停止脚本) + - 集群部署验证报告(状态截图、Web验证、基本操作结果) + +### 2. MySQL远程连接配置(周四) +- **完成情况**: 安装MySQL 8.0,配置`bind-address`允许远程访问;创建远程用户并授权;开放3306端口与安全策略;完成客户端连接测试与权限验证;记录SSL与备份策略初步方案。 +- **技术成果**: + - 安装配置文档与`my.cnf`关键参数说明 + - 用户创建与授权脚本、远程连接测试报告(截图与参数) + - 安全策略与备份策略草案(强密码、权限最小化、SSL与备份流程) + +### 3. Flume学习实践(周五-周六) +- **完成情况**: 系统学习Source/Channel/Sink与Agent数据流向;编写日志收集与多源汇聚配置;部署测试与性能参数初步调优;输出实践总结。 +- **技术成果**: + - 核心概念学习文档(架构、组件、数据流、集成方案) + - 配置实例集合(日志文件监控、多源汇聚、参数说明) + - 部署实践总结(问题与解决、最佳实践、运维要点) + +### 4. 交付物整理与总结(周日) +- **完成情况**: 将原40项交付物精简为15项核心交付物,分类为Hadoop、MySQL、Flume与综合成果,统一置于文末并形成闭环。 +- **技术成果**: 形成交付物清单与验收标准对齐的结构化文档与脚本包。 + +## 遇到的问题及解决方案 + +### 问题1: HDFS/YARN端口冲突与Web访问异常 +- **问题描述**: 初次启动时个别端口占用导致服务异常,Web UI无法访问。 +- **根本原因**: 端口规划与服务依赖梳理不充分,防火墙规则未完全关闭或放行。 +- **解决方案**: 统一端口规划;修订配置文件端口;关闭防火墙与SELinux或放行必要端口;按正确顺序启停服务。 +- **解决状态**: ✅ 已解决 + +### 问题2: MySQL远程连接失败 +- **问题描述**: 客户端无法远程连接,报错“Access denied”。 +- **根本原因**: `bind-address`设定与用户主机匹配不正确,权限不足。 +- **解决方案**: 调整`bind-address=0.0.0.0`;使用`'user'@'%'`创建并授权;`flush privileges`;验证端口与防火墙策略。 +- **解决状态**: ✅ 已解决 + +### 问题3: Flume Channel积压与性能波动 +- **问题描述**: 高峰期出现数据积压,吞吐波动较大。 +- **根本原因**: Channel容量与批处理参数不匹配,Sink重试策略不合理。 +- **解决方案**: 调整Channel容量与事务大小;优化批处理大小与重试机制;监控队列与延迟指标并迭代调参。 +- **解决状态**: ⚠️ 持续优化中 + +## 未完成任务及原因分析 + +### 1. Hadoop高可用(HA)验证(完成度80%) +- **未完成部分**: HA切换与故障演练尚未执行完整用例。 +- **原因分析**: 时间集中在基础部署与验证,HA演练安排在下周。 +- **改进措施**: 制定HA演练脚本与步骤,下周补齐。 + +### 2. Flume性能深度调优(完成度85%) +- **未完成部分**: 在复杂场景下的参数组合与监控联动未完全验证。 +- **原因分析**: 用例覆盖面需扩展,需引入更复杂的源与转换链路。 +- **改进措施**: 下周补充压力测试与监控联动(告警与回退策略)。 + +## 学习收获与个人成长 + +### 技术能力提升 +1. **集群规划与部署能力**: 从设计到落地的完整闭环,熟悉关键配置与验证。 +2. **数据库远程与安全**: 掌握远程访问、权限与安全策略的通用方法。 +3. **数据采集实践**: 理解Flume数据流与事务机制,能编写可用配置。 +4. **运维脚本与验证**: 启停、健康检查、监控脚本化,提升效率与稳定性。 + +### 项目管理与习惯 +1. **时间盒与复盘**: 分阶段推进与每日记录,周末集中整理成果。 +2. **文档与交付意识**: 按验收标准组织文档与脚本,便于复用与评审。 +3. **风险前置**: 提前规划端口、权限与资源,降低集成风险。 + +### 个人反思与改进 +1. **深度验证**: 对HA与性能用例的覆盖需进一步加强。 +2. **自动化程度**: 部分流程仍手工,需引入脚本化与CI/CD实践。 +3. **监控体系**: 基础监控已建,但告警与联动策略需完善。 + +## 技术亮点与实践 + +### 亮点 +1. **交付物精简与闭环**: 40项精简为15项核心交付物,结构清晰、可验收。 +2. **脚本化运维**: 启停与健康检查、环境变量统一脚本,提高一致性。 +3. **集群验证**: Web与基本功能验证到位,形成可复用检查清单。 + +### 量化成果 +- 配置实例:Flume多源汇聚与日志收集2+套 +- 验证截图:HDFS/YARN Web与基本操作验证若干 + +## 下周工作计划 + +### 主要任务 +1. **Hadoop高可用演练**: NN切换、故障恢复与日志分析。 +2. **Flume性能调优**: 压力测试、参数组合优化与监控联动。 +3. **生态组件扩展**: 初步引入Hive/HBase/Spark并进行基础集成验证。 +4. **自动化与容器化**: 规划Docker/K8s与脚本化部署的最小闭环。 + +### 具体安排 +- **周一-周二**: HA演练脚本与用例执行;故障注入与恢复验证。 +- **周三**: Flume压力测试与监控告警联动;参数迭代优化。 +- **周四-周五**: Hive/HBase/Spark基础集成与数据流通路打通。 +- **周六**: 自动化脚本与容器化初步方案;整理文档与演示材料。 +- **周日**: 复盘与完善;输出集成测试报告与优化建议。 + +### 质量目标 +- 验收用例全覆盖,关键路径可复现、可验证。 +- 配置参数有据可依,监控与告警有效联动。 +- 交付文档结构清晰、示例可运行。 + +## 团队协作表现 +1. 每日同步进度与问题清单,及时分享配置与脚本。 +2. 统一端口与权限策略,减少集成冲突。 +3. 在分支上提交合并(`develop`→`zoujiaxuan_branch`)并推送更新,便于团队评审。 + +## 下周重点关注 + +### 技术重点 +1. **HA与故障恢复**: 切换流程、日志分析与演练脚本。 +2. **性能与稳定性**: Flume吞吐与延迟、参数与监控联动优化。 +3. **生态集成**: 初步打通Hive/HBase/Spark的数据通路。 + +### 个人发展 +1. **自动化意识**: 提升脚本化与CI/CD实践能力。 +2. **体系化笔记**: 沉淀配置与演练用例为可复用模板。 +3. **沟通与协作**: 提高问题复盘与方案输出的效率与质量。 + +## 项目贡献总结 +1. 完成面向集群与数据库的核心能力闭环,为后续集成奠定基础。 +2. 精简交付物、统一文档结构,提升评审与复用效率。 +3. 推进分支同步与合并,保障团队协作的连续性与透明度。 + +--- +**总结完成时间**: 2025-11-10 +**下周重点任务**: Hadoop高可用演练与Flume性能调优 +**个人评价**: 本周围绕三大核心任务完成既定目标,形成核心交付物的闭环结构;下周将从高可用与性能角度深化验证与优化,推动项目向生产化更进一步。 + diff --git a/doc/process/weekly/week-8/members/zoujiaxuan-weekly-plan-8.md b/doc/process/weekly/week-8/members/zoujiaxuan-weekly-plan-8.md new file mode 100644 index 0000000..4845b94 --- /dev/null +++ b/doc/process/weekly/week-8/members/zoujiaxuan-weekly-plan-8.md @@ -0,0 +1,163 @@ +# 邹佳轩第8周详细工作计划 + +## 基本信息 +- **姓名**: 邹佳轩 +- **计划周期**: 第8周(2025-11-10 至 2025-11-16) +- **项目**: 基于Hadoop的故障检测与自动恢复项目 +- **计划制定时间**: 2025-11-10 +- **工作时间**: 每天20:00-21:30(1.5小时/天,共10.5小时) + +## 本周核心目标(第五层:应用服务层) +- 技术栈聚焦:**FastAPI 后端 | RESTful API | Python** + +### 主要任务概览 +本周核心任务是完成后端应用服务层的最小可用闭环:从接口设计到FastAPI项目骨架搭建、核心业务接口实现、认证与错误处理、自动化测试与文档生成,并输出部署与联调指南(不涉及其他层级如数据库/采集层的联通)。 + +### 核心目标 +1. **接口设计与规范确定(周一优先)**:完成核心功能的RESTful接口列表、请求/响应模型与错误码规范。 +2. **FastAPI项目搭建(周二)**:完成项目结构、依赖管理、开发服务器与基础路由。 +3. **核心接口实现(周三)**:故障上报、故障列表查询、告警确认、自动恢复触发等接口实现(以内存仓储完成最小闭环)。 +4. **认证与中间件(周四)**:JWT认证、CORS、统一日志与全局异常处理。 +5. **测试与文档(周五)**:Pytest单元与集成测试、OpenAPI文档完善与版本化。 +6. **性能与部署(周六)**:基础性能配置、部署与联调指南、配置管理。 +7. **实践项目与复盘(周日)**:联调与演示、问题清单与下周规划。 + +### 质量目标 +- 接口遵循REST规范,模型与状态码统一,错误处理一致。 +- 测试覆盖核心路径,接口可集成到前端或外部调用方。 +- 文档与部署指南清晰,具备最小可上线能力(dev环境)。 + +--- + +## 周一(2025-11-10) +**主题:接口设计与规范** + +### 20:00-21:30:接口列表与数据模型 +- **任务**:梳理核心功能接口(故障上报/查询/确认/恢复触发/健康检查),定义请求/响应模型与错误码。 +- **要求**:遵循REST命名规范、幂等性原则,明确分页/过滤参数与统一响应结构。 +- **产出**:接口设计文档初版(含端点列表、参数、响应示例与错误码约定)。 + +### 21:30-22:00:评审与确认 +- **任务**:与团队快速评审接口,确认字段与状态流转(结合数据字典与ER)。 +- **产出**:确定版接口列表与规范说明。 + +--- + +## 周二(2025-11-11) +**主题:FastAPI项目骨架搭建** + +### 20:00-21:00:环境与结构 +- **学习任务**:创建项目结构(`app/routers`, `app/models`, `app/schemas`, `app/services`, `app/core`),配置`requirements.txt`,启动`uvicorn`开发服务。 +- **产出**:FastAPI最小项目与基础健康检查路由(`GET /health`)。 + +### 21:00-22:00:Pydantic与基础路由 +- **学习任务**:编写Pydantic模型(故障、告警确认),实现基础路由与响应模型校验。 +- **产出**:基础实体Schema与示例路由(不含复杂逻辑)。 + +--- + +## 周三(2025-11-12) +**主题:核心接口与内存仓储闭环** + +### 20:00-21:00:核心接口实现 +- **学习任务**:实现关键接口: +- `POST /faults` 故障上报(接收前端或外部数据源) + - `GET /faults` 列表查询(分页、过滤) + - `POST /faults/{id}/ack` 告警确认 + - `POST /faults/{id}/recover` 自动恢复触发 +- **产出**:可运行的核心接口(内存或简化存储)。 + +### 21:00-22:00:内存存储与仓储抽象 +- **学习任务**:设计内存仓储(Repository)与接口抽象,模拟持久化层;确保接口幂等与状态一致性,并为后续数据库接入预留扩展点。 +- **产出**:内存存储实现、仓储接口与配置占位(不接入数据库)。 + +--- + +## 周四(2025-11-13) +**主题:认证、CORS与错误处理** + +### 20:00-21:00:JWT认证与CORS +- **学习任务**:实现基础JWT登录/校验流程,配置CORS以允许前端访问;统一请求上下文。 +- **产出**:`/auth/login` 端点、Token校验中间件与CORS设置。 + +### 21:00-22:00:统一日志与异常处理 +- **学习任务**:设计全局异常处理与统一响应格式,记录接口访问日志与错误堆栈。 +- **产出**:异常处理器、中间件日志与错误响应规范。 + +--- + +## 周五(2025-11-14) +**主题:测试与文档** + +### 20:00-21:00:Pytest与集成测试 +- **学习任务**:编写服务层与路由的单元测试;使用FastAPI `TestClient`完成接口集成测试(含认证)。 +- **产出**:测试用例与覆盖率报告(核心路径)。 + +### 21:00-22:00:OpenAPI与版本化 +- **学习任务**:完善接口注解,生成OpenAPI文档;规划`/v1`版本路径或标签。 +- **产出**:自动文档(`/docs`/`/redoc`)与OpenAPI导出文件。 + +--- + +## 周六(2025-11-15) +**主题:性能与部署** + +### 20:00-21:00:性能与配置 +- **学习任务**:基础性能优化(Uvicorn/Workers、连接池、超时与重试、限流策略草案)。 +- **产出**:性能参数与配置说明,基础压测方案。 + +### 21:00-22:00:部署与联调指南 +- **学习任务**:输出部署与联调文档(环境变量、依赖、启动命令、对接前端的数据路径)。 +- **产出**:部署与联调指南初稿。 + +--- + +## 周日(2025-11-16) +**主题:实践演示与复盘** + +### 20:00-21:30:联调演示 +- **任务**:完成核心接口联调与演示(健康检查、上报、查询、确认、恢复触发)。 +- **产出**:可运行的API演示与测试报告(截图/日志)。 + +### 21:30-22:00:复盘与下周计划 +- **任务**:总结本周产出与问题,规划下周(进一步完善接口、权限细化、监控与告警接入)。 +- **产出**:周报与下周初步计划。 + +--- + +## 风险评估与应对策略 +- **内存存储一致性与并发安全风险**:并发更新导致状态不一致。应对:使用线程安全数据结构、接口级幂等控制与乐观校验;后续引入持久化方案。 +- **认证与权限复杂度**:JWT与角色权限初次实现。应对:本周先最小闭环,细化到角色权限下周推进。 +- **时间管理风险**:学习与实现并行。应对:优先核心接口与测试,文档与优化滚动推进。 + +## 学习资源与参考资料 +- FastAPI 官方文档:https://fastapi.tiangolo.com/ +- Pydantic 文档:https://docs.pydantic.dev/latest/ +- Uvicorn 文档:https://www.uvicorn.org/ +- Pytest 文档:https://docs.pytest.org/en/stable/ +- HTTPX 文档:https://www.python-httpx.org/ +- OpenAPI 规范与工具:https://swagger.io/specification/ +- 团队《接口约定草案》(若有最新版本用于字段与错误码对齐) + +## 预期成果与交付物 + +### 主要交付物 +| 类别 | 交付物 | 具体内容 | +|------|--------|----------| +| **接口设计** | REST接口列表与规范 | 端点、方法、参数、响应模型、错误码;版本策略 | +| **后端项目** | FastAPI项目骨架 | 目录结构、基础路由、配置与环境脚本 | +| **核心接口** | 故障相关API | 上报/查询/确认/恢复触发;以内存存储实现最小闭环 | +| **认证与中间件** | JWT、CORS、异常处理 | 登录端点、Token校验、统一日志与错误响应 | +| **测试与文档** | 测试与OpenAPI文档 | Pytest用例、覆盖率、自动文档导出与使用说明 | +| **部署与联调** | 部署与联调指南 | 启动命令、环境变量、依赖、联调步骤与注意事项(对接前端) | + +### 质量标准 +- 接口一致性与幂等性,错误码与响应结构统一。 +- 测试覆盖核心路径,关键接口具备集成测试。 +- 文档与指南完整、可落地到开发环境。 + +--- +**计划制定时间**: 2025-11-10 +**计划执行周期**: 2025-11-10 至 2025-11-16 +**下周重点**: 细化权限与角色、完善监控与告警、扩展更多业务接口 +**个人目标**: 完成从接口设计到后端实现与测试文档的闭环,具备可演示与联调能力。