HDFS MCP Server
Accede y gestiona archivos en clústeres HDFS usando el protocolo MCP, con soporte para operaciones como carga, descarga, mover y copiar.
Documentación
HDFS MCP Server
HDFS MCP Server es un controlador basado en MCP (Model Context Protocol) que proporciona acceso a clústeres HDFS a través del protocolo MCP. El servidor admite operaciones básicas de HDFS como carga, descarga, movimiento y copia de archivos, y ofrece un manejo de errores amigable y capacidades de prueba de conexión.
Requisitos
- Python 3.11 o superior
- Cliente de Hadoop instalado y configurado
uvgestor de paquetes
Instalación
-
Clona el repositorio:
git clone https://github.com/will-sh/hdfs-mcp.git cd hdfs-mcp -
Asegúrate de que Python 3.11 esté activo: El proyecto especifica Python 3.11 en el archivo
.python-version. Si usaspyenv, automáticamente usará esta versión al entrar en el directorio. Si no tienes Python 3.11 instalado, puedes instalarlo usando:# Example using pyenv pyenv install 3.11 -
Crea y activa el entorno virtual usando
uv:uv venv source .venv/bin/activate # macOS/Linux # .\.venv\Scripts\activate # Windows -
Instala las dependencias usando
uv:uv pip sync
Configuración de MCP
{
"mcpServers": {
"hdfs-controller": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/hdfsmcp",
"run",
"hdfs.py"
],
"env": {
"HDFS_NAMENODE": "your_namenode_hostname",
"NAMENODE_PORT": "your_namenode_port"
}
}
}
}
Reemplaza lo siguiente con tu configuración real:
/path/to/your/hdfs-mcp: Reemplaza con la ruta real de tu proyectoyour_namenode_hostname: Reemplaza con el nombre de host de tu NameNode HDFSyour_namenode_port: Reemplaza con el puerto de tu NameNode HDFS (si no se especifica, el puerto predeterminado es 8020)
Características
El HDFS MCP proporciona las siguientes operaciones de HDFS:
- Listar contenido de directorios
- Leer contenido de archivos
- Crear directorios
- Eliminar archivos/directorios
- Subir archivos a HDFS
- Descargar archivos de HDFS
- Obtener información de archivos/directorios
- Obtener uso de disco
- Obtener estado del clúster
- Copiar/mover archivos dentro de HDFS
Uso
- Asegúrate de que el cliente de Hadoop esté correctamente instalado y configurado
- Asegúrate de que la variable de entorno
HADOOP_HOMEesté configurada - Asegúrate de que el comando
hdfsesté en el PATH de tu sistema
Solución de problemas
Si encuentras problemas de conexión, verifica:
- Accesibilidad del NameNode HDFS
- Configuración del puerto
- Conectividad de red
- Configuración del cliente de Hadoop
- El ticket de Kerberos es válido
Notas
- Asegúrate de tener permisos suficientes para acceder al clúster HDFS
- Las operaciones con archivos grandes pueden tardar más, por favor ten paciencia
- Se recomienda probar la conexión antes de las operaciones