第7周周总结第8周个人周计划文档 #37

Merged
hnu202326010130 merged 2 commits from zoujiaxuan_branch into develop 2 months ago

@ -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性能调优
**个人评价**: 本周围绕三大核心任务完成既定目标,形成核心交付物的闭环结构;下周将从高可用与性能角度深化验证与优化,推动项目向生产化更进一步。

@ -0,0 +1,163 @@
# 邹佳轩第8周详细工作计划
## 基本信息
- **姓名**: 邹佳轩
- **计划周期**: 第8周2025-11-10 至 2025-11-16
- **项目**: 基于Hadoop的故障检测与自动恢复项目
- **计划制定时间**: 2025-11-10
- **工作时间**: 每天20:00-21:301.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:00Pydantic与基础路由
- **学习任务**编写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:00JWT认证与CORS
- **学习任务**实现基础JWT登录/校验流程配置CORS以允许前端访问统一请求上下文。
- **产出**`/auth/login` 端点、Token校验中间件与CORS设置。
### 21:00-22:00统一日志与异常处理
- **学习任务**:设计全局异常处理与统一响应格式,记录接口访问日志与错误堆栈。
- **产出**:异常处理器、中间件日志与错误响应规范。
---
## 周五2025-11-14
**主题:测试与文档**
### 20:00-21:00Pytest与集成测试
- **学习任务**编写服务层与路由的单元测试使用FastAPI `TestClient`完成接口集成测试(含认证)。
- **产出**:测试用例与覆盖率报告(核心路径)。
### 21:00-22:00OpenAPI与版本化
- **学习任务**完善接口注解生成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
**下周重点**: 细化权限与角色、完善监控与告警、扩展更多业务接口
**个人目标**: 完成从接口设计到后端实现与测试文档的闭环,具备可演示与联调能力。
Loading…
Cancel
Save