O LindormDFS é compatível com a API do Hadoop Distributed File System (HDFS). Este tópico descreve como configurar um cliente Hadoop HDFS open-source para se conectar ao LindormDFS e executar operações comuns de arquivos.
Pré-requisitos
Antes de começar, verifique se você possui:
Java instalado. É necessário o JDK 1.7 ou superior.
Endereço IP do cliente adicionado à lista de permissões do Lindorm. Para mais detalhes, consulte Definir listas de permissões.
Requisitos de rede
Se sua aplicação for executada em uma instância do Elastic Compute Service (ECS), a instância ECS e a instância do Lindorm devem atender às seguintes condições:
Estar na mesma região. Use a mesma zona de disponibilidade para reduzir a latência de rede.
Usar a mesma Virtual Private Cloud (VPC).
Baixar o cliente
Baixe o kit de desenvolvimento de software (SDK) do Hadoop 2.7.3, hadoop-2.7.3.tar.gz, no site oficial do Apache.
Configurar o Hadoop
É possível configurar o cliente HDFS de duas formas:
Console (recomendado): Gere o arquivo de configuração diretamente pelo console do Lindorm. Consulte Gerar o arquivo de configuração pelo console.
Manual: Edite os arquivos de configuração XML manualmente. Consulte Configurar manualmente abaixo.
Configurar manualmente
-
Descompacte o pacote do SDK.
tar -zxvf hadoop-2.7.3.tar.gz -
Defina a variável de ambiente
HADOOP_HOME.export HADOOP_HOME=/${Hadoop_installation_folder}/hadoop-2.7.3 -
Acesse o diretório do Hadoop.
cd $HADOOP_HOME -
Adicione a variável de ambiente
JAVA_HOMEao arquivoetc/hadoop/hadoop-env.sh. Este exemplo considera que o Java está instalado em/opt/install/java.export JAVA_HOME=/opt/install/java -
Edite o arquivo
etc/hadoop/hdfs-site.xmle adicione as propriedades a seguir. Substitua${Instance ID}pelo ID real da sua instância. Essas propriedades configuram o cliente Hadoop para o modo de alta disponibilidade (HA), permitindo failover automático entre os dois NameNodes do LindormDFS (nn1enn2).NotaPara configurar múltiplas instâncias, copie todo o bloco
<property>para cada instância adicional, substitua${Instance ID}pelo ID da respectiva instância e cole todos os blocos<property>dentro do elemento<configuration>.<configuration> <property> <!-- Logical name for the LindormDFS nameservice --> <name>dfs.nameservices</name> <value>${Instance ID}</value> </property> <property> <!-- Failover proxy provider for the nameservice --> <name>dfs.client.failover.proxy.provider.${Instance ID}</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <!-- Enable automatic HA failover between NameNodes --> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <!-- Identifiers for the two NameNodes in this nameservice --> <name>dfs.ha.namenodes.${Instance ID}</name> <value>nn1,nn2</value> </property> <property> <!-- RPC address of the first NameNode --> <name>dfs.namenode.rpc-address.${Instance ID}.nn1</name> <value>${Instance ID}-master1-001.lindorm.rds.aliyuncs.com:8020</value> </property> <property> <!-- RPC address of the second NameNode --> <name>dfs.namenode.rpc-address.${Instance ID}.nn2</name> <value>${Instance ID}-master2-001.lindorm.rds.aliyuncs.com:8020</value> </property> </configuration>
Operações comuns
Substitua ${Instance ID} pelo ID da sua instância antes de executar estes comandos.
Carregar um arquivo
# Create a directory in LindormDFS
$HADOOP_HOME/bin/hadoop fs -mkdir hdfs://${instanceID}/test
# Create a local file and upload it
echo "test" > test.log
$HADOOP_HOME/bin/hadoop fs -put test.log hdfs://${Instance ID}/test
Listar arquivos
$HADOOP_HOME/bin/hadoop fs -ls hdfs://${instance_id}/test
Baixar um arquivo
$HADOOP_HOME/bin/hadoop fs -get hdfs://${Instance ID}/test/test.log
Gerar o arquivo de configuração pelo console
Use o console do Lindorm para gerar automaticamente o conteúdo das configurações hdfs-site.xml e core-site.xml, sem necessidade de editar XML manualmente.
Faça login no console do Lindorm.
No canto superior esquerdo, selecione a região onde a instância está implantada.
Na página Instances, clique no ID da instância ou em View Instance Details na coluna Actions.
No painel de navegação à esquerda, clique em Database Connections.
Na página Database Connections, clique na aba LindormDFS.
Clique em Activate Now.
Após ativar o Underlying File Access, clique em Generate Configuration Items para gerar as configurações
hdfs-siteecore-site.