Este tópico descreve como usar o HDFS Filesystem in USErspace (FUSE) para acessar o LindormDFS.
Prepare o ambiente de execução
-
Instale o JDK e configure a variável JAVA_HOME. Em seguida, execute o comando
$JAVA_HOME/bin/java -versionpara verificar a versão do 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 a 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
-
Baixe o cliente FUSE
Baixe o cliente FUSE desenvolvido com base no Apache Hadoop V2.7.7 pelo link de download.
Instale o cliente FUSE
-
Descompacte o pacote do cliente FUSE baixado e acesse o diretório onde os arquivos foram extraídos.
tar -zxf ldfs-fuse-2.7.tar.gz cd ldfs-fuse-2.7 -
Modifique o arquivo de configuração
etc/hadoop/hdfs-site.xml. O exemplo a seguir demonstra como alterar o arquivohdfs-site.xml. Substitua${Instance ID}no arquivo pelo ID da sua instância 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> -
Crie um diretório para montar o disco FUSE e conceda permissões de acesso aos usuários.
sudo mkdir /ldfs_fuse sudo chown $(whoami):$(whoami) /ldfs_fuse -
Monte o disco FUSE no diretório criado.
/bin/bash bin/mount_to.sh /ldfs_fuse -
Visualize o disco FUSE montado.
df -h -
(Opcional) Desmonte o disco FUSE.
fusermount -u /ldfs_fuse
Exemplos de operações comuns
Grave dados no arquivo de teste executando o comando:
echo 'test' > /ldfs_fuse/test.Leia dados do arquivo de teste com o comando:
cat /ldfs_fuse/testExclua o arquivo de teste executando:
rm -f /ldfs_fuse/test
O disco de dados onde o cliente FUSE está montado suporta apenas operações de gravação sequencial. Não há suporte para gravações aleatórias.
Operações relacionadas
Por padrão, todos os arquivos no disco FUSE possuem três réplicas. Altere esse número padrão no arquivo de configuração etc/hadoop/hdfs-site.xml. No código a seguir, por exemplo, o número de réplicas é definido como 2.
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
Para aplicar a nova configuração, monte o disco FUSE novamente.