Use o shell do HDFS para gerenciar arquivos no LindormDFS. Como o LindormDFS é totalmente compatível com o HDFS, use comandos padrão do shell Hadoop FileSystem para listar, fazer upload e baixe, exclua e gerencie permissões de arquivos.
Pré-requisitos
Antes de começar, certifique-se de ter:
Baixado o cliente. Consulte Baixar o cliente
Configurado o Apache Hadoop. Consulte Configurar o Apache Hadoop
Observações de uso
O LindormDFS usa uma arquitetura de alta disponibilidade (HA) com múltiplos NameNodes. Configure o failover automático para evitar falhas de acesso caso o NameNode primário fique indisponível. Consulte Configurar o Hadoop.
Comandos comuns
Todos os comandos seguem este padrão:
${HADOOP_HOME}/bin/hadoop fs -<command> [options] <args>
Substitua ${Instance ID} pelo ID da sua instância Lindorm em todos os exemplos abaixo.
Fazer upload de dados
put
Copia um ou mais arquivos do sistema de arquivos local para o LindormDFS. Se - for especificado como origem, lê da entrada padrão (stdin) e grava no LindormDFS.
${HADOOP_HOME}/bin/hadoop fs -put test.txt hdfs://${Instance ID}/
copyFromLocal
Idêntico ao put, mas o caminho de origem deve ser local.
moveFromLocal
Move arquivos do sistema de arquivos local para o LindormDFS. Diferentemente do put, os arquivos de origem são excluídos após a conclusão da cópia.
appendToFile
Anexa um ou mais arquivos de origem do sistema de arquivos local a um arquivo de destino no LindormDFS.
${HADOOP_HOME}/bin/hadoop fs -appendToFile localfile hdfs://${Instance ID}/remotefile
Processar dados
cp
Copia arquivos do caminho de origem para o de destino. Ao copiar de várias origens, o destino deve ser um diretório.
${HADOOP_HOME}/bin/hadoop fs -cp hdfs://${Instance ID}/src hdfs://${Instance ID}/dst
mv
Move arquivos do caminho de origem para o de destino. Ao mover de várias origens, o destino deve ser um diretório. Não é possível mover arquivos entre sistemas de arquivos diferentes.
mkdir
Cria os diretórios especificados, incluindo quaisquer diretórios pai ausentes — semelhante ao mkdir -p no Unix.
${HADOOP_HOME}/bin/hadoop fs -mkdir -p hdfs://${Instance ID}/path/to/newdir
ls
Lista arquivos e diretórios.
Para um arquivo: retorna
File name <Number of replicas> File size Modification date Modification time Permissions User ID Group IDPara um diretório: retorna cada filho direto com
Folder name <dir> Modification date Modification time Permissions User ID Group ID
${HADOOP_HOME}/bin/hadoop fs -ls hdfs://${Instance ID}/
du
Exibe o tamanho de cada arquivo no diretório ou de um arquivo específico.
df
Visualiza o uso de arquivos.
cat
Copia o conteúdo de um arquivo para a saída padrão (stdout).
${HADOOP_HOME}/bin/hadoop fs -cat hdfs://${Instance ID}/myfile.txt
chown
Altera o proprietário de um arquivo. Requer permissões de superusuário.
|
Opção |
Descrição |
|
|
Altera a propriedade recursivamente na estrutura de diretórios |
chgrp
Altera o grupo de um arquivo. Requer permissões de superusuário ou propriedade do arquivo.
|
Opção |
Descrição |
|
|
Altera o grupo recursivamente na estrutura de diretórios |
chmod
Altera as permissões de um arquivo. Requer permissões de superusuário ou propriedade do arquivo.
|
Opção |
Descrição |
|
|
Altera as permissões recursivamente na estrutura de diretórios |
rm
Exclui um arquivo especificado. Só é possível excluir diretórios não vazios e arquivos.
O comando rm move o arquivo para a pasta Trash em vez de excluí-lo permanentemente. Para excluir arquivos permanentemente, execute expunge para esvaziar a Lixeira.
${HADOOP_HOME}/bin/hadoop fs -rm hdfs://${Instance ID}/${filename}
expunge
Exclui permanentemente todos os arquivos na pasta Trash.
${HADOOP_HOME}/bin/hadoop fs -expunge
Baixar dados
get
Copia arquivos do LindormDFS para o sistema de arquivos local.
|
Opção |
Descrição |
|
|
Ignora a validação de verificação de redundância cíclica (CRC) nos arquivos baixados |
|
|
Salva as somas de verificação CRC juntamente com os arquivos baixados |
${HADOOP_HOME}/bin/hadoop fs -get hdfs://${Instance ID}/${filename} .
getmerge
Concatena todos os arquivos de um diretório de origem em um único arquivo de destino local.
${HADOOP_HOME}/bin/hadoop fs -getmerge hdfs://${Instance ID}/srcdir/ localfile.txt
copyToLocal
Idêntico ao get, mas o caminho de destino deve ser local.
Para ver todos os comandos suportados pelo shell do HDFS, execute:
${HADOOP_HOME}/bin/hadoop fs -help
Para obter a referência completa de comandos, consulte Shell FileSystem do Apache HDFS.