Spark监控与优化工具

Spark Optimus是一个用于Apache Spark的下一代可观测性和智能平台,结合高性能React仪表板和MCP后端,实现AI代理实时检查、分析和优化Spark作业。

  • by Armelabdelkbir
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Armelabdelkbir/spark-optimus

使用说明

⚡ Spark Optimus仪表板

基于人工智能的Apache Spark分析和代理控制

Spark Optimus 是Apache Spark的下一代可观察性和智能平台。它将高性能React仪表板与 MCP(模型上下文协议) 后端,允许AI代理实时检查、分析和优化Spark作业。


🚀 特性

  • 📊 实时可观测性:查看带有实时状态更新的应用程序、作业、阶段和执行器。
  • 🤖 代理AI集成:基于 模型上下文协议(MCP),使Claude/Gemini代理能够直接与您的Spark集群交互。
  • ⚡ 资源战略仪表板:可视化动态分配、执行者流失和峰值资源使用情况。
  • 🐢 瓶颈检测:自动识别慢速任务、偏斜和低效的SQL查询。
  • 💡 智能洞察:获取自动生成的效率评分和建议。


🏁 快速启动(演示模式)

按照以下步骤在新机器上设置完整堆栈以进行演示。

1.️⃣ 先决条件

确保已安装以下内容:

  • Node.js 18+ & npm
  • Python 3.10+
  • 紫外线 (超快速Python包管理器)
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

2.️⃣ 克隆和设置

git clone https://github.com/your-repo/agent-spark.git
cd agent-spark

# Create a virtual environment (optional but recommended)
uv venv
source .venv/bin/activate

# Install backend dependencies
uv pip install -e .

# Install frontend dependencies
cd dashboard
npm install
cd ..

3.️⃣ 配置

创建 .env 文件(或仅使用演示示例):

cp .env.example .env

注意:演示运行时 模拟数据 默认情况下,您不需要运行真正的Spark集群!

4.️⃣ 🚀 发射一切!

我们有一个“turbo”脚本,可以同时启动MCP服务器、后端网桥和前端仪表板。

./run_full_system.sh

访问仪表板: 👉 http://localhost:5173


🎮 演示演练

  1. 着陆页:打开仪表板。你会看到 应用程序 列表中填充了演示数据。
  2. 深入分析:点击 TestJob_BadConfig_Demo.
  3. 工作分析:前往 工作分析 选项卡查看作业执行的甘特图。
  4. 资源战略:切换到 智能 -> 资源使用情况 看看 新KPI卡 以及效率洞察。
  5. 代理集成:解释所有数据获取都是通过以下方式进行的 MCP工具调用这意味着AI代理可以完全自主地完成这项工作。

🐛 故障排除

  • 正在使用的端口? 该脚本试图终止端口上的进程 18888, 18889,以及 5173.如果失败,请手动检查:

    lsof -i :18888
    kill -9 <PID>
    
  • 没有数据? 确保 mock_data 文件夹存在并且 USE_MOCK_DATA=true 在您的环境或配置中设置。


建于❤️ 参加Agent AI黑客马拉松。