Este tema describe cómo utilizar HDFS Filesystem in USErspace (FUSE) para acceder a LindormDFS.
Preparación del entorno de ejecución
-
Instale el JDK y configure la variable JAVA_HOME. A continuación, ejecute el comando
$JAVA_HOME/bin/java -versionpara comprobar la versión del JDK.-
CentOS/RedHat
sudo yum install java-1.8.0-openjdk-devel -y -
Ubuntu
sudo apt-get update sudo apt-get install openjdk-8-jdk -y
-
-
Instale la biblioteca FUSE.
-
CentOS/RedHat
sudo yum install fuse fuse-devel fuse-libs -y -
Ubuntu
sudo apt-get update sudo apt-get install fuse libfuse-dev -y
-
Descarga del cliente FUSE
Descargue el cliente FUSE desarrollado con base en Apache Hadoop V2.7.7 desde download link.
Instalación del cliente FUSE
-
Descomprima el paquete del cliente FUSE descargado y vaya a la ruta donde se descomprimieron los archivos del cliente.
tar -zxf ldfs-fuse-2.7.tar.gz cd ldfs-fuse-2.7 -
Modifique el archivo de configuración
etc/hadoop/hdfs-site.xml. El siguiente ejemplo muestra cómo modificar el archivohdfs-site.xml. Debe reemplazar${Instance ID}en el archivo por el ID de su instancia de Lindorm.<configuration> <property> <name>dfs.nameservices</name> <value>${Instance ID}</value> </property> <property> <name>dfs.client.failover.proxy.provider.${Instance ID}</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>dfs.ha.namenodes.${Instance ID}</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.${Instance ID}.nn1</name> <value>${Instance ID}-master1-001.lindorm.rds.aliyuncs.com:8020</value> </property> <property> <name>dfs.namenode.rpc-address.${Instance ID}.nn2</name> <value>${Instance ID}-master2-001.lindorm.rds.aliyuncs.com:8020</value> </property> </configuration> -
Cree un directorio donde desea montar el disco FUSE y otorgue permisos a los usuarios para acceder a dicho directorio.
sudo mkdir /ldfs_fuse sudo chown $(whoami):$(whoami) /ldfs_fuse -
Monte el disco FUSE en el directorio creado.
/bin/bash bin/mount_to.sh /ldfs_fuse -
Consulte el disco FUSE montado.
df -h -
(Opcional) Desmonte el disco FUSE.
fusermount -u /ldfs_fuse
Ejemplos de operaciones comunes
Ejecute el siguiente comando para escribir datos en el archivo de prueba:
echo 'test' > /ldfs_fuse/test.Ejecute el siguiente comando para leer datos del archivo de prueba:
cat /ldfs_fuse/testEjecute el siguiente comando para eliminar el archivo de prueba:
rm -f /ldfs_fuse/test
El disco de datos donde se monta el cliente FUSE solo admite operaciones de escritura secuencial. No es compatible con operaciones de escritura aleatoria.
Operaciones relacionadas
De forma predeterminada, todos los archivos en el disco FUSE cuentan con tres réplicas disponibles. Modifique el número predeterminado de réplicas en el archivo de configuración etc/hadoop/hdfs-site.xml. Por ejemplo, en el siguiente código, el número de réplicas se establece en 2.
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
Para que la configuración surta efecto, monte nuevamente el disco FUSE.