El modo de caché de JindoFS almacena los archivos como objetos en Object Storage Service (OSS) y los guarda localmente en la caché de su clúster de E-MapReduce según los patrones de acceso. Esto mejora la eficiencia en el acceso a los datos, conserva la semántica de los objetos de OSS y garantiza la compatibilidad total con otros clientes de OSS.
Contexto
El modo de caché conserva la semántica original de los objetos de OSS, por lo que puede usar JindoFS sin migrar ni convertir los datos existentes. La caché local del clúster mejora el rendimiento en el acceso a los datos y reduce el consumo de ancho de banda en las operaciones de lectura y escritura de OSS.
Métodos de configuración
JindoFS en modo de caché ofrece dos métodos de configuración para distintos casos de uso.
-
OSS Scheme
Para obtener más información, consulte Configure the OSS scheme (recommended).
-
JFS Scheme
Para obtener más información, consulte Configure the JFS scheme.
Esquema de OSS (recomendado)
El esquema de OSS utiliza el formato de ruta estándar oss://<bucket_name>/<path_of_your_file>. Funciona de forma inmediata después de crear un clúster de E-MapReduce, sin necesidad de configuraciones adicionales. Los trabajos existentes que leen o escriben en OSS se ejecutan sin modificaciones.
Esquema de JFS
-
Vaya al servicio SmartData.
Inicie sesión en la consola de EMR.
En la barra de navegación superior, seleccione una región y un resource group según sus necesidades.
Haga clic en la pestaña Clusters.
En la página Clusters, busque su clúster y haga clic en Details en la columna Actions.
En el panel de navegación izquierdo, elija .
-
Vaya a la pestaña namespace del servicio SmartData.
Haga clic en la pestaña Configure.
-
Haga clic en la pestaña namespace dentro de la sección Service Configuration.

-
Configure los siguientes parámetros.
JindoFS admite varios namespaces. En este tema se usa
test
como namespace de ejemplo.
-
Establezca jfs.namespaces en test.
test
es un nombre de namespace de ejemplo. Para configurar varios namespaces, separe sus nombres con comas (,).
-
Haga clic en Custom Configuration. En el cuadro de diálogo Add Configuration Item, agregue los siguientes parámetros.
Parámetro Descripción Ejemplo jfs.namespaces.test.oss.uri El backend de almacenamiento para el namespace test.oss://<oss_bucket>/<oss_dir>/ Nota Debe establecer este parámetro en un directorio específico de un bucket de OSS o en el directorio raíz.jfs.namespaces.test.mode Especifica que el namespace testutiliza el modo de caché.cache
-
En la esquina superior derecha, haga clic en Save.
-
En la esquina superior derecha, elija .
Una vez reiniciado el servicio, puede acceder a los archivos de JindoFS mediante la ruta
jfs://test/<path_of_file>
.
Habilitar la caché
JindoFS puede usar discos locales para almacenar en caché los bloques de datos con acceso frecuente. De forma predeterminada, la caché está deshabilitada y todas las operaciones de lectura acceden directamente a OSS.
En la pestaña Configure del servicio , haga clic en la pestaña client.
-
Establezca el parámetro jfs.cache.data-cache.enable en 1 para habilitar la caché.
Esta es una configuración del lado del cliente y no requiere reiniciar el servicio SmartData.
Después de habilitar la caché, el servicio Jindo gestiona automáticamente la caché local y expulsa los datos según el umbral configurado. Configure la proporción de almacenamiento de acuerdo con sus necesidades. Para obtener más información, consulte Control disk space by using watermarks.
Controlar el uso del espacio en disco
JindoFS utiliza OSS como backend de almacenamiento, lo cual proporciona una gran capacidad de almacenamiento. Sin embargo, el espacio en disco local de su clúster es finito. Para gestionar este espacio, JindoFS expulsa automáticamente los datos fríos de la caché local. Puede controlar este comportamiento de expulsión con los parámetros storage.watermark.high.ratio y storage.watermark.low.ratio. Estos parámetros aceptan valores decimales entre 0 y 1 que representan la proporción del espacio en disco utilizado.
-
Modifique las configuraciones de uso de disco.
En la sección
Service Configuration
del servicio SmartData, haga clic en la pestaña
storage
y configure los parámetros descritos en la siguiente tabla.

Parámetro
Descripción
storage.watermark.high.ratio
Límite máximo de uso de disco. Cuando el uso de disco de los datos de JindoFS supera este límite, JindoFS elimina automáticamente datos del disco. Valor predeterminado: 0.4.
storage.watermark.low.ratio
Límite mínimo de uso de disco. Después de activarse la eliminación automática de datos, JindoFS comienza a eliminarlos hasta que el uso de disco de los datos de JindoFS se reduce a este límite. Valor predeterminado: 0.2.
NotaPuede configurar el límite máximo y el límite mínimo para ajustar el espacio en disco asignado a JindoFS. Asegúrese de que el límite máximo sea mayor que el límite mínimo.
-
Guarde las configuraciones.
En la esquina superior derecha de la sección Service Configuration, haga clic en Save.
En el cuadro de diálogo Confirm Changes, especifique Description y active Auto-update Configuration.
Haga clic en OK.
-
Reinicie Jindo Storage Service para aplicar las configuraciones.
Seleccione Restart Jindo Storage Service en la lista desplegable ubicada en la esquina superior derecha.
En el cuadro de diálogo Cluster Activities, especifique los parámetros correspondientes.
Haga clic en OK.
En el mensaje Confirm, haga clic en OK.
Acceso a un bucket de OSS
De forma predeterminada, JindoFS permite acceder sin credenciales a los buckets de OSS que se encuentran en la misma región y cuenta de Alibaba Cloud que su clúster de E-MapReduce, sin requerir la configuración de un accesskey. Para acceder a buckets de otras regiones o cuentas, configure el AccessKey ID, el AccessKey Secret y el endpoint. El método de configuración depende del esquema que utilice.
-
Esquema de OSS
En la pestaña Configure del servicio , haga clic en la pestaña smartdata-site.
-
Haga clic en Custom Configuration. En el cuadro de diálogo Add Configuration Item, agregue los siguientes parámetros y haga clic en OK.
Parámetro
Descripción
fs.jfs.cache.oss-accessKeyId
El AccessKey ID para el backend de almacenamiento de OSS.
fs.jfs.cache.oss-accessKeySecret
El AccessKey Secret para el backend de almacenamiento de OSS.
fs.jfs.cache.oss-endpoint
El endpoint para el backend de almacenamiento de OSS.
-
Esquema de JFS
En la pestaña Configure del servicio , haga clic en la pestaña bigboot.
Establezca el parámetro jfs.namespaces en test.
-
Haga clic en Custom Configuration. En el cuadro de diálogo Add Configuration Item, agregue los siguientes parámetros y haga clic en OK.
Parámetro
Descripción
jfs.namespaces.test.oss.uri
El backend de almacenamiento para el namespace
test. Ejemplo: oss://<oss_bucket.endpoint>/<oss_dir>.El endpoint se especifica directamente en el URI.
jfs.namespaces.test.oss.access.key
El AccessKey ID para el backend de almacenamiento de OSS.
jfs.namespaces.test.oss.access.secret
El AccessKey Secret para el backend de almacenamiento de OSS.
-
OSS Scheme
Para obtener más información, consulte Configure OSS Scheme (recommended).
-
JFS Scheme
Para obtener más información, consulte Configure JFS Scheme.
Configuración avanzada
Estas configuraciones del lado del cliente surten efecto sin necesidad de reiniciar el servicio SmartData.
-
En la sección Service Configuration, dentro de la pestaña client, configure los siguientes parámetros.
Parámetro
Descripción
client.oss.upload.threads
Número de subprocesos de carga de OSS para cada flujo de escritura de archivos. Valor predeterminado: 4.
client.oss.upload.max.parallelism
Número máximo de cargas simultáneas de OSS por proceso. Limita el consumo de ancho de banda y memoria de los subprocesos de carga. Valor predeterminado: 16.
-
En la sección Service Configuration, dentro de la pestaña smartdata-site, configure los siguientes parámetros.
Parámetro Descripción fs.jfs.cache.copy.simple.max.byte Tamaño máximo de archivo para la copia estándar durante un cambio de nombre. Los archivos por debajo de este umbral utilizan la interfaz de copia estándar; los archivos más grandes usan la interfaz de copia multiparte para lograr mayor eficiencia. Nota Si habilitó la función de copia rápida de OSS, establezca este parámetro en -1 para usar la interfaz de copia estándar en todos los tamaños de archivo. Así aprovechará la copia rápida y obtendrá un rendimiento óptimo en los cambios de nombre.fs.jfs.cache.write.buffer.size Tamaño del búfer para los flujos de escritura de archivos. Debe ser una potencia de dos, hasta un máximo de 8 MB. Reduzca este valor si los flujos de escritura simultáneos provocan un alto uso de memoria. Valor predeterminado: 1048576. fs.oss.committer.magic.enabled Habilita Jindo Job Committer, lo cual mejora el rendimiento al evitar operaciones de cambio de nombre durante la fase de confirmación del trabajo. Valor predeterminado: true. Nota Los sistemas de object storage como OSS presentan un rendimiento deficiente durante las operaciones de cambio de nombre. Jindo Job Committer resuelve este problema en el modo de caché.