Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
La Referencia de los comandos de la CLI de EMRFS
La CLI de EMRFS se instala de forma predeterminada en todos los nodos principales del clúster creados con la versión 3.2.1 o posterior de Amazon EMR. Puede utilizar la CLI de EMRFS para administrar los metadatos de la vista consistente.
nota
El emrfs comando solo es compatible con la emulación de terminal VT1 00. Sin embargo, podría funcionar con otros modos de emulador del terminal.
comando de nivel superior emrfs
El comando de nivel superior emrfs admite la siguiente estructura.
emrfs [describe-metadata | set-metadata-capacity | delete-metadata | create-metadata | \ list-metadata-stores | diff | delete | sync | import ]
[options]
[arguments]
Especifique [opciones], con o sin [argumentos] tal y como se describe en la siguiente tabla. Para [opciones] específicas de subcomandos (describe-metadata
, set-metadata-capacity
, etc.), consulte cada subcomando a continuación.
Opción | Descripción | Obligatorio |
---|---|---|
|
La clave de AWS acceso que utiliza para escribir objetos en Amazon S3 y para crear o acceder a un almacén de metadatos en DynamoDB. De forma predeterminada, |
No |
|
La clave AWS secreta asociada a la clave de acceso que utiliza para escribir objetos en Amazon S3 y para crear o acceder a un almacén de metadatos en DynamoDB. De forma predeterminada, |
No |
|
Hace que la salida sea detallada. |
No |
|
Muestra el mensaje de ayuda para el comando |
No |
subcomando emrfs describe-metadata
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
ejemplo de emrfs describe-metadata
En el siguiente ejemplo se describe la tabla de metadatos predeterminados.
$ emrfs describe-metadata
EmrFSMetadata
read-capacity: 400
write-capacity: 100
status: ACTIVE
approximate-item-count (6 hour delay): 12
subcomando emrfs set-metadata-capacity
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
|
La capacidad de rendimiento de lectura solicitada para la tabla de metadatos. Si no se proporciona el |
No |
|
La capacidad de rendimiento de escritura solicitada para la tabla de metadatos. Si no se proporciona el |
No |
ejemplo de emrfs set-metadata-capacity
El siguiente ejemplo establece la capacidad de rendimiento de lectura en 600
y la capacidad de escritura en 150
para una tabla de metadatos denominada EmrMetadataAlt
.
$ emrfs set-metadata-capacity --metadata-name EmrMetadataAlt --read-capacity 600 --write-capacity 150
read-capacity: 400
write-capacity: 100
status: UPDATING
approximate-item-count (6 hour delay): 0
subcomando emrfs delete-metadata
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
ejemplo de emrfs delete-metadata
En el siguiente ejemplo se elimina la tabla de metadatos predeterminados.
$ emrfs delete-metadata
subcomando emrfs create-metadata
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
|
La capacidad de rendimiento de lectura solicitada para la tabla de metadatos. Si no se proporciona el |
No |
|
La capacidad de rendimiento de escritura solicitada para la tabla de metadatos. Si no se proporciona el |
No |
ejemplo de emrfs create-metadata
El siguiente ejemplo crea una tabla de metadatos denominada EmrFSMetadataAlt
.
$ emrfs create-metadata -m EmrFSMetadataAlt
Creating metadata: EmrFSMetadataAlt
EmrFSMetadataAlt
read-capacity: 400
write-capacity: 100
status: ACTIVE
approximate-item-count (6 hour delay): 0
subcomando emrfs list-metadata-stores
El subcomando emrfs list-metadata-stores no tiene opciones.
ejemplo List-metadata-stores ejemplo
El siguiente ejemplo muestra las tablas de metadatos.
$ emrfs list-metadata-stores
EmrFSMetadata
subcomando emrfs diff
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
|
La ruta del bucket de Amazon S3 que se debe comparar con la tabla de metadatos. Los buckets se sincronizan de forma recursiva. |
Sí |
ejemplo de emrfs diff
En el siguiente ejemplo se compara la tabla de metadatos predeterminados con un bucket de Amazon S3.
$ emrfs diff s3://elasticmapreduce/samples/cloudfront
BOTH | MANIFEST ONLY | S3 ONLY
DIR elasticmapreduce/samples/cloudfront
DIR elasticmapreduce/samples/cloudfront/code/
DIR elasticmapreduce/samples/cloudfront/input/
DIR elasticmapreduce/samples/cloudfront/logprocessor.jar
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-14.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-15.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-16.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-17.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-18.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-19.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-20.WxYz1234
DIR elasticmapreduce/samples/cloudfront/code/cloudfront-loganalyzer.tgz
subcomando emrfs delete
Opción |
Descripción |
Obligatorio |
---|---|---|
|
|
No |
|
La ruta al bucket de Amazon S3 que está siguiendo para una vista coherente. Los buckets se sincronizan de forma recursiva. |
Sí |
-t |
La fecha de vencimiento (interpretada con el argumento de unidad de tiempo). Todas las entradas de metadatos anteriores al |
|
|
La medida utilizada para interpretar el argumento de tiempo (nanosegundos, microsegundos, milisegundos, segundos, minutos, horas o días). Si no se especifica ningún argumento, el valor predeterminado es |
|
|
La cantidad solicitada de rendimiento de lectura disponible utilizada para la operación delete. Si no se especifica el |
No |
|
La cantidad solicitada de rendimiento de escritura disponible utilizada para la operación delete. Si no se especifica el |
No |
ejemplo de emrfs delete
El siguiente ejemplo elimina todos los objetos en un bucket de Amazon S3 desde los metadatos de seguimiento para una vista consistente.
$ emrfs delete s3://elasticmapreduce/samples/cloudfront
entries deleted: 11
subcomando emrfs import
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
|
La ruta al bucket de Amazon S3 que está siguiendo para una vista coherente. Los buckets se sincronizan de forma recursiva. |
Sí |
|
La cantidad solicitada de rendimiento de lectura disponible utilizada para la operación delete. Si no se especifica el |
No |
|
La cantidad solicitada de rendimiento de escritura disponible utilizada para la operación delete. Si no se especifica el |
No |
ejemplo de emrfs import
El siguiente ejemplo importa todos los objetos en un bucket de Amazon S3 con los metadatos de seguimiento para una vista consistente. Todas las claves desconocidas se omiten.
$ emrfs import s3://elasticmapreduce/samples/cloudfront
subcomando emrfs sync
Opción | Descripción | Obligatorio |
---|---|---|
|
|
No |
|
La ruta al bucket de Amazon S3 que está siguiendo para una vista coherente. Los buckets se sincronizan de forma recursiva. |
Sí |
|
La cantidad solicitada de rendimiento de lectura disponible utilizada para la operación delete. Si no se especifica el |
No |
|
La cantidad solicitada de rendimiento de escritura disponible utilizada para la operación delete. Si no se especifica el |
No |
ejemplo de comando emrfs sync
El siguiente ejemplo importa todos los objetos en un bucket de Amazon S3 con los metadatos de seguimiento para una vista consistente. Todas las claves desconocidas se eliminan.
$ emrfs sync s3://elasticmapreduce/samples/cloudfront
Synching samples/cloudfront 0 added | 0 updated | 0 removed | 0 unchanged
Synching samples/cloudfront/code/ 1 added | 0 updated | 0 removed | 0 unchanged
Synching samples/cloudfront/ 2 added | 0 updated | 0 removed | 0 unchanged
Synching samples/cloudfront/input/ 9 added | 0 updated | 0 removed | 0 unchanged
Done synching s3://elasticmapreduce/samples/cloudfront 9 added | 0 updated | 1 removed | 0 unchanged
creating 3 folder key(s)
folders written: 3
subcomando emrfs read-sqs
Opción | Descripción | Obligatorio |
---|---|---|
|
|
Sí |
|
|
Sí |
subcomando emrfs delete-sqs
Opción | Descripción | Obligatorio |
---|---|---|
|
|
Sí |
Envío de comandos de CLI EMRFS CLI como pasos
El siguiente ejemplo muestra cómo utilizar la emrfs
utilidad en el nodo principal aprovechando la API AWS CLI o y la command-runner.jar
para ejecutar el emrfs
comando paso a paso. En el ejemplo, se utiliza AWS SDK for Python (Boto3) para añadir un paso a un clúster que añade objetos de un bucket de Amazon S3 a la tabla de metadatos EMRFS predeterminada.
import boto3
from botocore.exceptions import ClientError
def add_emrfs_step(command, bucket_url, cluster_id, emr_client):
"""
Add an EMRFS command as a job flow step to an existing cluster.
:param command: The EMRFS command to run.
:param bucket_url: The URL of a bucket that contains tracking metadata.
:param cluster_id: The ID of the cluster to update.
:param emr_client: The Boto3 Amazon EMR client object.
:return: The ID of the added job flow step. Status can be tracked by calling
the emr_client.describe_step() function.
"""
job_flow_step = {
"Name": "Example EMRFS Command Step",
"ActionOnFailure": "CONTINUE",
"HadoopJarStep": {
"Jar": "command-runner.jar",
"Args": ["/usr/bin/emrfs", command, bucket_url],
},
}
try:
response = emr_client.add_job_flow_steps(
JobFlowId=cluster_id, Steps=[job_flow_step]
)
step_id = response["StepIds"][0]
print(f"Added step {step_id} to cluster {cluster_id}.")
except ClientError:
print(f"Couldn't add a step to cluster {cluster_id}.")
raise
else:
return step_id
def usage_demo():
emr_client = boto3.client("emr")
# Assumes the first waiting cluster has EMRFS enabled and has created metadata
# with the default name of 'EmrFSMetadata'.
cluster = emr_client.list_clusters(ClusterStates=["WAITING"])["Clusters"][0]
add_emrfs_step(
"sync", "s3://elasticmapreduce/samples/cloudfront", cluster["Id"], emr_client
)
if __name__ == "__main__":
usage_demo()
Puede utilizar el valor devuelto step_id
para comprobar los registros para el resultado de la operación.