Todos los productos
Search
Centro de documentos

E-MapReduce:Guía de usuario de SmartData (EMR 3.22.0 a 3.25.1)

Última actualización: Sep 17, 2026

JindoFS es un sistema de archivos nativo de la nube que combina Object Storage Service (OSS) y el almacenamiento local para ofrecer un almacenamiento eficiente y confiable en E-MapReduce (EMR). Esta guía abarca la configuración, el uso y los escenarios comunes de JindoFS.

Descripción general

JindoFS es compatible con el modo block storage y el modo caché.

JindoFS utiliza un mecanismo heterogéneo de múltiples copias de seguridad. Storage Service almacena los datos en OSS para garantizar una alta confiabilidad y mantiene copias redundantes en el clúster local para acelerar las lecturas. Namespace Service gestiona los metadatos de JindoFS de forma local en lugar de consultarlos en OSS, lo cual mejora el rendimiento de las consultas de manera similar a Hadoop Distributed File System (HDFS).

Nota
  • JindoFS es compatible con EMR 3.20.0 y versiones posteriores. Para usarlo, seleccione el servicio cuando cree un clúster.

  • Este tema describe cómo usar JindoFS en EMR 3.22.0 y versiones posteriores. Para obtener instrucciones sobre su uso en versiones desde EMR 3.20.0 hasta antes de la 3.22.0, consulte SmartData User Guide (EMR 3.20.0 to 3.22.0).

signal_path

Preparar el entorno

  • Crear un clúster

    Seleccione EMR 3.22.0 o una versión posterior y elija SmartData entre los servicios opcionales. Para obtener más información, consulte Create a cluster.

  • Configurar el clúster

    JindoFS usa OSS como backend de almacenamiento y requiere configurar los parámetros relacionados con este servicio. Puede modificar los parámetros de Bigboot después de crear el clúster (lo cual exige reiniciar SmartData) o agregar configuraciones personalizadas durante la creación para que los servicios inicien con sus ajustes.

    • Inicializar los parámetros después de crear el clúster

      Siga estos pasos para configurar todos los parámetros de JindoFS en Bigboot:

      1. En la página Service Configuration, haga clic en la pestaña bigboot.

        Establezca el valor de jfs.namespaces en test.

      2. Haga clic en Custom Configuration. En el cuadro de diálogo Add Configuration Item, agregue los siguientes elementos de configuración: establezca jfs.namespaces.test.uri en oss://oss-bucket/oss-dir, configure jfs.namespaces.test.mode como block, defina el AccessKey ID y el AccessKey Secret de OSS correspondientes y, por último, haga clic en OK.

      Nota
      • Los parámetros listados son obligatorios.

      • JindoFS admite varios namespaces. Este tema usa test como namespace de ejemplo.

      Parámetro

      Descripción

      Ejemplo

      jfs.namespaces

      Los namespaces compatibles con la instancia actual de JindoFS. Separe varios namespaces con comas.

      test

      jfs.namespaces.test.uri

      El URI del backend de almacenamiento para el namespace test.

      oss://oss-bucket/oss-dir

      Nota

      Puede apuntar a un directorio específico dentro de un bucket de OSS, el cual se convierte en el directorio raíz de ese namespace.

      jfs.namespaces.test.mode

      El modo de almacenamiento para el namespace test.

      block

      Nota

      JindoFS es compatible con los modos de almacenamiento block y cache.

      jfs.namespaces.test.oss.access.key

      El AccessKey ID para OSS.

      xxxx

      Nota

      Para lograr un rendimiento y una estabilidad óptimos, use un bucket de OSS que pertenezca a la misma cuenta y región que su clúster de EMR. Esto permite acceder a OSS sin contraseña y elimina la necesidad de credenciales AccessKey.

      jfs.namespaces.test.oss.access.secret

      El AccessKey Secret para OSS.

      Guarde y despliegue la configuración de JindoFS. Reinicie todos los componentes de SmartData para empezar a usar JindoFS.

    • Agregar configuraciones personalizadas durante la creación del clúster

      Es posible agregar ajustes personalizados al crear un clúster de EMR. Por ejemplo, para habilitar el acceso sin contraseña a un bucket de OSS en la misma región, seleccione Custom Software Configuration y agregue la siguiente configuración para el namespace test.

      [
      {
      "ServiceName":"BIGBOOT",
      "FileName":"bigboot",
      "ConfigKey":"jfs.namespaces","ConfigValue":"test"
      },{
      "ServiceName":"BIGBOOT",
      "FileName":"bigboot",
      "ConfigKey":"jfs.namespaces.test.uri",
      "ConfigValue":"oss://oss-bucket/oss-dir"
      },{
      "ServiceName":"BIGBOOT",
      "FileName":"bigboot",
      "ConfigKey":"jfs.namespaces.test.mode",
      "ConfigValue":"block"
      }
      ]

Usar JindoFS

JindoFS funciona de manera similar a HDFS. Sustituya el prefijo hdfs por el prefijo jfs en las rutas de sus archivos.

JindoFS es compatible con la mayoría de los componentes de cómputo del clúster de EMR, incluidos Hadoop, Hive, Spark, Flink, Presto e Impala.

A continuación se muestran algunos ejemplos:

  • Comandos de shell

    hadoop fs -ls jfs://your-namespace/ 
    hadoop fs -mkdir jfs://your-namespace/test-dir
    hadoop fs -put test.log jfs://your-namespace/test-dir/
    hadoop fs -get jfs://your-namespace/test-dir/test.log ./
  • Trabajo de MapReduce

    hadoop jar /usr/lib/hadoop-current/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar teragen -Dmapred.map.tasks=1000 10737418240 jfs://your-namespace/terasort/input
    hadoop jar /usr/lib/hadoop-current/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar terasort -Dmapred.reduce.tasks=1000 jfs://your-namespace/terasort/input jfs://your-namespace/terasort/output
  • Spark SQL

    CREATE EXTERNAL TABLE IF NOT EXISTS src_jfs (key INT, value STRING) location 'jfs://your-namespace/Spark_sql_test/';

Control de marcas de agua del espacio en disco

JindoFS usa OSS como backend para ofrecer una capacidad de almacenamiento masiva, pero el espacio en disco local es limitado. El sistema expulsa automáticamente las copias de seguridad de datos fríos con base en dos parámetros de marca de agua: node.data-dirs.watermark.high.ratio y node.data-dirs.watermark.low.ratio. Ambos parámetros se definen como una proporción (un número decimal de 0 a 1) respecto a la capacidad total del disco. Cuando el uso del disco alcanza la marca de agua alta, JindoFS expulsa datos hasta que el nivel desciende a la marca de agua baja. El valor de la marca de agua baja debe ser menor que el de la marca de agua alta.

Configurar la directiva de almacenamiento

JindoFS ofrece las siguientes directivas de almacenamiento para directorios, diseñadas para cubrir distintas necesidades.

Directiva

Descripción

COLD

Los datos solo tienen una copia de seguridad en OSS y ninguna copia local. Esta directiva es adecuada para almacenar datos fríos.

WARM

Es la directiva de almacenamiento predeterminada.

Los datos cuentan con una copia de seguridad en OSS y otra en el almacenamiento local. La copia local acelera de forma eficaz las operaciones de lectura posteriores.

HOT

Los datos mantienen una copia de seguridad en OSS y varias copias en el almacenamiento local. Esta opción acelera aún más el acceso a los datos consultados con mayor frecuencia.

TEMP

Los datos solo conservan una copia local. Esta directiva proporciona lecturas y escrituras de alto rendimiento para datos temporales, aunque reduce su confiabilidad. Resulta útil para almacenar y acceder a datos temporales.

Utilice la herramienta de línea de comandos Admin para configurar la directiva de almacenamiento de un directorio. La directiva predeterminada es WARM, y los archivos nuevos heredan la directiva de su directorio principal. Ejecute el siguiente comando para establecer una directiva de almacenamiento:

jindo dfsadmin -R -setStoragePolicy [path] [policy]

Ejecute el siguiente comando para obtener la directiva de almacenamiento configurada en un directorio:

jindo dfsadmin -getStoragePolicy [path]
Nota

Aquí, [path] indica la ruta a la que desea aplicar la directiva, y -R especifica que esta se aplica de forma recursiva a todos los subdirectorios dentro de la ruta indicada.

Usar la herramienta Admin

La herramienta Admin de JindoFS proporciona los comandos archive y jindo.

  • Use el comando archive para archivar datos fríos.

    Este comando expulsa explícitamente los bloques locales y conserva las copias de seguridad en OSS. Por ejemplo, si Hive particiona una tabla por día, puede ejecutar periódicamente el comando archive en directorios con datos poco consultados, como las particiones anteriores a una semana.

    Ejecute el siguiente comando archive:

    jindo dfsadmin -archive [path]
    Nota

    El parámetro [path] especifica la ruta del directorio donde se encuentran los archivos que se van a archivar.

  • Use el comando jindo para gestionar los metadatos de JindoFS en Namespace Service.

    jindo dfsadmin [-options]
    Nota

    Ejecute el comando jindo dfsadmin --help para obtener información de ayuda.

La herramienta Admin también incluye los comandos diff y sync para el modo caché.

  • El comando diff muestra las diferencias entre los datos locales y el almacenamiento del backend.

    jindo dfsadmin -R -diff [path]
    Nota

    De forma predeterminada, este comando compara los metadatos de los subdirectorios inmediatos dentro de la [path] especificada. La opción -R compara de forma recursiva todas las rutas bajo la [path] indicada.

  • El comando sync sincroniza los metadatos entre el almacenamiento local y el del backend.

    jindo dfsadmin -R -sync [path]
    Nota

    El parámetro [path] indica la ruta que se va a sincronizar. De forma predeterminada, solo se sincronizan los metadatos de los subdirectorios inmediatos de [path]. La opción -R sincroniza de forma recursiva todas las rutas bajo la [path] especificada.