0
0
Lập trình
NM

Tự động quản lý cụm Hadoop với MCP Ambari API

Đăng vào 6 tháng trước

• 4 phút đọc

Chủ đề:

KungFuTech

MCP Ambari API - Tự động hóa quản lý cụm Apache Hadoop

🚀 Tự động hóa các thao tác Apache Ambari với AI/LLM: Sử dụng lệnh tự nhiên để quản lý cụm Hadoop, điều khiển dịch vụ, giám sát cấu hình và theo dõi tình trạng theo thời gian thực thông qua các công cụ Model Context Protocol (MCP).


Tổng quan về MCP Ambari API

MCP Ambari API là một máy chủ Model Context Protocol (MCP) mạnh mẽ cho phép quản lý cụm Apache Ambari một cách liền mạch thông qua các lệnh tự nhiên. Được xây dựng cho các kỹ sư DevOps, kỹ sư dữ liệu và quản trị hệ thống làm việc với hệ sinh thái Hadoop.

🎯 Tính năng chính

  • Quản lý dịch vụ tự động: Khởi động, dừng và khởi động lại các dịch vụ Hadoop (HDFS, YARN, Spark, v.v.) chỉ với các lệnh đơn giản.
  • Giám sát theo thời gian thực: Theo dõi sức khỏe cụm, tình trạng dịch vụ và các chỉ số hiệu suất.
  • Quản lý cấu hình: Xem, cập nhật và quản lý cấu hình cụm trên tất cả các dịch vụ.
  • Quản lý cảnh báo: Theo dõi và quản lý các cảnh báo và thông báo từ cụm.
  • Quản lý người dùng và máy chủ: Quản lý người dùng cụm, quyền truy cập và phân bổ máy chủ.
  • Theo dõi yêu cầu: Giám sát các thao tác dài hạn với chi tiết tiến trình.

Kiến trúc và Cấu trúc bên trong

Kiến trúc MCP Ambari API

Hướng dẫn nhanh với Docker

Lưu ý: Các hướng dẫn sau giả định bạn đang sử dụng chế độ streamable-http cho MCP Server.

1. Chuẩn bị cụm Ambari (Mục tiêu thử nghiệm)

Để thiết lập một cụm Ambari Demo, hãy làm theo hướng dẫn tại: Cài đặt Ambari 3.0 với Docker.

2. Chạy Docker-Compose

Khởi động MCP-Server, MCPO (MCP-Proxy cho OpenAPI) và OpenWebUI.

  1. Đảm bảo rằng Docker và Docker Compose đã được cài đặt trên hệ thống của bạn.
  2. Sao chép kho này và điều hướng đến thư mục gốc của nó.
  3. Cài đặt cấu hình môi trường:
Copy
   # Sao chép mẫu môi trường và cấu hình cài đặt của bạn
   cp .env.example .env
   # Chỉnh sửa .env với thông tin cụm Ambari của bạn
  1. Cấu hình kết nối Ambari trong tệp .env:
Copy
   AMBARI_HOST=host.docker.internal
   AMBARI_PORT=7070
   AMBARI_USER=admin
   AMBARI_PASS=admin
   AMBARI_CLUSTER_NAME=TEST-AMBARI

   # (Tùy chọn) Bật xác thực cho chế độ streamable-http
   REMOTE_AUTH_ENABLE=false
   REMOTE_SECRET_KEY=your-secure-secret-key-here
  1. Chạy:
Copy
   docker-compose up -d
  • OpenWebUI sẽ có sẵn tại: http://localhost:${DOCKER_EXTERNAL_PORT_OPENWEBUI} (mặc định: 3001)
  • MCPO-Proxy sẽ có thể truy cập tại: http://localhost:${DOCKER_EXTERNAL_PORT_MCPO_PROXY} (mặc định: 8001)
  • Tài liệu API MCPO: http://localhost:${DOCKER_EXTERNAL_PORT_MCPO_PROXY}/ambari-api/docs

3. Đăng ký công cụ trong OpenWebUI

  1. Đăng nhập vào OpenWebUI bằng tài khoản admin.
  2. Truy cập "Cài đặt" → "Công cụ" từ menu trên cùng.
  3. Nhập địa chỉ công cụ ambari-api (ví dụ: http://localhost:8000/ambari-api) để kết nối các công cụ MCP với cụm Ambari của bạn.

4. Ví dụ: Sử dụng các công cụ MCP để truy vấn cụm Ambari

Dưới đây là một ví dụ minh họa cách truy vấn cụm Ambari bằng các công cụ MCP trong OpenWebUI:

Ví dụ truy vấn - Xem cấu hình cụm & Khuyến nghị

Ví dụ truy vấn - Khởi động lại dịch vụ HDFS


💡 Các truy vấn công cụ ví dụ

🔍 Quản lý Cụm & Dịch vụ

get_cluster_info

  • "Hiển thị tóm tắt cụm và thông tin cơ bản."
  • "Tên cụm và phiên bản là gì?"
  • "Hiển thị tổng quan cụm với số lượng dịch vụ."
  • 📋 Tính năng: Tên cụm, phiên bản, số lượng dịch vụ, thông tin cơ bản về cụm.

get_cluster_services

  • "Hiển thị tất cả các dịch vụ trong cụm và trạng thái hiện tại của chúng."
  • "Liệt kê tất cả các dịch vụ với trạng thái của chúng."
  • 📋 Tính năng: Tên dịch vụ, trạng thái, tổng quan sức khỏe.

⚙️ Các thao tác dịch vụ

start_service / stop_service / restart_service

  • "Khởi động dịch vụ HDFS."
  • "Dừng dịch vụ MapReduce."
  • 📋 Tính năng: Quản lý vòng đời dịch vụ riêng lẻ.
  • ⚠️ Lưu ý: Trả về ID yêu cầu để theo dõi thao tác.

📊 Hoạt động & Giám sát

get_active_requests

  • "Hiển thị tất cả các thao tác đang chạy."
  • 📋 Tính năng: Trạng thái thao tác theo thời gian thực, theo dõi yêu cầu.

🖥️ Quản lý Máy chủ

list_hosts

  • "Liệt kê tất cả các máy chủ trong cụm."
  • 📋 Tính năng: Danh sách máy chủ, tổng quan về nút cụm.

🔐 Bảo mật & Xác thực

Xác thực Bearer Token

Đối với chế độ streamable-http, máy chủ MCP này hỗ trợ xác thực Bearer token để bảo mật truy cập từ xa. Điều này đặc biệt quan trọng khi chạy máy chủ trong môi trường sản xuất.

Cấu hình

Bật xác thực:

Copy
# Trong tệp .env
REMOTE_AUTH_ENABLE=true
REMOTE_SECRET_KEY=your-secure-secret-key-here

Thực hành bảo mật tốt nhất

  • Luôn bật xác thực khi sử dụng chế độ streamable-http trong môi trường sản xuất.
  • Sử dụng các khóa bí mật mạnh, được tạo ngẫu nhiên (đề xuất 32+ ký tự).
  • Giới hạn quyền truy cập mạng bằng cách sử dụng tường lửa hoặc chính sách mạng.

❓ Câu hỏi thường gặp

Q: Các phiên bản Ambari nào được hỗ trợ?

A: Ambari 2.7+ được khuyến nghị. Các phiên bản trước có thể hoạt động nhưng không được kiểm tra chính thức.

Q: Tôi có thể sử dụng điều này với các cụm Hadoop được quản lý trên đám mây không?

A: Có, miễn là các điểm cuối API Ambari có thể truy cập.


🤝 Đóng góp & Hỗ trợ

Cách đóng góp

  • 🐛 Báo lỗi: GitHub Issues
  • 💡 Yêu cầu tính năng: Feature Requests
  • 🔧 Gửi PR: Hướng dẫn đóng góp

📄 Giấy phép

Dự án này được cấp phép theo Giấy phép MIT.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào