🔲 Apache Hadoop - Comandos
Apache Hadoop, é un framework que permite o procesamento distribuido de grande volume de datos sobre clústeres de computadoras empregando modelos sinxelos de programación.
O HDFS ou Hadoop Distributed File System é un sistema de arquivos distribuído empregado por Apache Hadoop que espalla os datos polos distintos discos dos servidores que forman o clúster de Hadoop.
-
Os arquivos grandes divídense en bloques (blocks) por defecto de 128 MiB.
-
De cada bloque hai varias copias, o número exacto establéceo o factor de replicación (replication factor) por defecto 3.
Onde están os meus datos?
A primeira pregunta que debemos facernos é: Onde están os meus datos?
- No $HOME do teu usuario -> /home/subdirs-opcionais/usuario.
- No HOME do servidor de HADOOP -> /user/usuario.
A variable $HOME normalmente fai referencia ao teu cartafol persoal. Este adoita estar en /home/usuario ou en /home/algo/mais/usuario. Estes son os arquivos aos que accedes normalmente.
O HOME de Hadoop normalmente estará en: /user/usuario e para acceder a él debes empregar o comando hdfs ou ben API ou programas que se relacionen con Hadoop. A URL de acceso ao arquivo ten o formato: hdfs://nameservice1/user/usuario/arquivo.
Interactuando co sistema de arquivos
O programa hdfs danos unha interfaz e operacións útiles para acceder ao HDFS de Hadoop. Os comandos seguen unha sintaxe de tipo:
- dfs: Indica que a operación é de arquivos sobre o sistema de arquivos.
Os comandos habituais son:
Ver arquivos e directorios
Ver arquivos no noso HOME de HDFS. Imos ver ademáis as distintas rutas: relativas, absolutas e completas.
Ver arquivos que hai en "directorio" que é un directorio que está no noso HOME de HDFS:
O mesmo que o anterior pero empregando unha ruta absoluta:
O mesmo que o anterior pero empregando a ruta absoluta e completa do HDFS:
Transferindo datos entre o HDFS e o almacenamento local
🔼 Subir/Enviar o ARQUIVO_LOCAL que está no noso $HOME ("o noso disco duro") a un directorio de HDFS chamado "DIRECTORIO_HDFS":
🔽 Baixar/Descargar/Recibir do HDFS ("clúster de Hadoop") o arquivo ao noso almacenamento local ("disco duro"):
Amosar un arquivo do HDFS por consola en modo texto. Ademáis admite o formato ZIP e TextRecordInputStream:
Amosar un arquivo do HDFS por consola, danos igual o formato no que estea:
Ver o inicio do arquivo (cabeceira) empregando pipes:
Amosar a cola (o final) do arquivo. Útil para comprobar se está ben recibido e o formato.
Copiar un arquivo dentro do HDFS (de HDFS a HDFS)
Mover un arquivo dentro do HDFS (de HDFS a HDFS)
Borrar un arquivo do HDFSResultado:
25/02/08 16:39:19 INFO fs.TrashPolicyDefault: Moved: 'hdfs://nameservice1/user/usuario/arquivo.txt' to trash at: hdfs://nameservice1/user/usuario/.Trash/Current/user/usuario/arquivo.txt
Borrar un arquivo do HDFS evitando a papeleira (skipTrash):
Resultado:
Mudando de usuario, grupo e permisos
Seguindo a máscara de permisos UGO podemos mudar os permisos dun arquivo ou dun directorio de forma recursiva (-R):
Tamén podemos mudar o propietario e o grupo do ficheiro (tamén admite -R para directorios):
Ou mudar solo o grupo:
É cuestión de espazo
Medir o espazo consumido non sempre é directo. Se preguntamos canto oucpa un arquivo:
Veremos dous tamaños: Tamaño do arquivo e o espazo en disco consumido.
O tamaño en disco consumido pódese calcular como o resultado de multiplicar o tamaño do arquivo polo factor de replicación. Pode haber diferencias debidas ao tamaño de bloque, sobre todo con tamaños de bloque grandes.
Consultar o espazo libre dispoñible:
Outros comandos útiles (probar):
Engadir (concatenar) o contido de ventas-diarias-hoxe-LOCAL.txt
que está no almacenamento local (disco duro local ou $HOME) ao arquivo do HDFS ventas-HDFS.txt
Descargar a local ao arquivo ventas-local.txt
o resultado da concatenación dos arquivos do HDFS: ventas-HDFS-part1.txt
e ventas-HDFS-part2.txt
.
Xerar un checksum dos datos para comprobar se están ben (emprégase MD5, non está pensado para modificacións maliciosas dos datos, senón para cambios accidentais)
Mudar o factor de replicación dun arquivo ou dun directorio:
Cómo se comproba que mudou. Dúas maneiras:
Con ls, o número antes de usuario é o factor de replicación:
Con du mirando que sube o espacio ocupado en disco:
Vemos que:
Arquivos de configuración
hdfs-site.xml. Tamaño de bloque
Cada arquivo divídese en bloques (mínimo 1 bloque por arquivo) de por defecto 128 MiB.
hdfs-site.xml. Factor de replicación
O número de copias de cada bloque, por defecto 3.
Máis información
Se empregas os recursos do CESGA, lembra que dende a casa debes conectarte á VPN antes de conectarte por SSH ao servidor hadoop.cesga.es.