ULC Lab · implementação reproduzível
Laboratório: Data Lake Hadoop com ingestão, consulta e governança básica
Você terá um mini Data Lake Hadoop funcional, com ingestão de dados, consulta SQL via Hive e controle de acesso básico via Apache Ranger, em até 3 horas. O laboratório utiliza máquinas virtuais ou equipamentos comuns, simulando um ambiente de produção enxuto.

- Duração estimada
- 90 min
- Passos
- 12
- Validações
- 4
- Versões da documentação consultada
- Apache Hadoop 3.3.6 · Apache Hive 3.1.3 · Apache Ranger 2.4.0
Este laboratório ensina a montar um Data Lake open source do zero, usando Apache Hadoop, Hive e Ranger. Você vai entender como os componentes se integram, como proteger dados e como consultar informações de forma estruturada. O foco é mostrar, na prática, os fundamentos de ingestão, processamento, consulta e governança de dados em um ambiente controlado.
Topologia
Três máquinas: uma para o Hadoop NameNode e HiveServer2, outra para DataNode, e uma terceira para Apache Ranger. Todas na mesma rede privada, por exemplo 192.168.56.0/24. O HiveServer2 conecta-se ao Hadoop e expõe consultas SQL. O Ranger gerencia permissões de acesso ao Hive. Usuários simulados acessam o Hive via beeline.
[Usuário]
|
[HiveServer2]---[NameNode]
|
[DataNode]
|
[Ranger Admin]
192.168.56.10: Hive/NameNode
192.168.56.11: DataNode
192.168.56.12: RangerEquipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM Hadoop/Hive | 2 vCPU, 4GB RAM, 30GB disco, Ubuntu 20.04+ |
| VM DataNode | 2 vCPU, 2GB RAM, 20GB disco, Ubuntu 20.04+ |
| VM Ranger | 2 vCPU, 2GB RAM, 20GB disco, Ubuntu 20.04+ |
| Apache Hadoop | Apache 2.0 · 3.3.6 |
| Apache Hive | Apache 2.0 · 3.1.3 |
| Apache Ranger | Apache 2.0 · 2.4.0 |
Roteiro
- Preparar as VMs e rede
Crie três VMs Ubuntu 20.04+ na mesma rede privada. Defina IPs fixos: 192.168.56.10 (Hadoop/Hive), 192.168.56.11 (DataNode), 192.168.56.12 (Ranger).
O que você deve ver: VMs acessíveis via SSH entre si.
- Instalar Java JDK
Instale o OpenJDK 8 em todas as VMs. Hadoop, Hive e Ranger dependem do Java.
sudo apt update && sudo apt install openjdk-8-jdk -yO que você deve ver: java -version retorna OpenJDK 8.
- Instalar e configurar Hadoop (NameNode e DataNode)
Baixe e extraia o Hadoop em ambas as VMs. Configure o NameNode em 192.168.56.10 e o DataNode em 192.168.56.11. Edite core-site.xml, hdfs-site.xml e workers.
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz tar -xzvf hadoop-3.3.6.tar.gz # Edite arquivos em hadoop-3.3.6/etc/hadoop/ # Consulte a documentação para parâmetros mínimos.O que você deve ver: hdfs namenode -format executa sem erro. start-dfs.sh sobe NameNode e DataNode.
- Validar HDFS
Verifique se o HDFS está operacional e os nós se comunicam.
hdfs dfsadmin -reportO que você deve ver: Relatório mostra 1 NameNode e 1 DataNode ativos.
- Instalar Apache Hive
No NameNode (192.168.56.10), baixe e extraia o Hive. Configure hive-site.xml para apontar para o HDFS. Use Derby como metastore para simplificar.
wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz tar -xzvf apache-hive-3.1.3-bin.tar.gz # Edite hive-site.xml conforme documentação.O que você deve ver: hive --version retorna versão instalada.
- Inicializar o metastore do Hive
Execute o comando de inicialização do metastore Derby do Hive.
schematool -dbType derby -initSchemaO que você deve ver: Mensagem de sucesso da criação do schema.
- Subir HiveServer2
Inicie o HiveServer2 para aceitar conexões SQL.
hive --service hiveserver2 &O que você deve ver: Porta 10000 aberta e processo rodando.
- Instalar Apache Ranger
No Ranger (192.168.56.12), baixe e extraia o Ranger Admin. Configure para usar banco embutido (Derby) e porta padrão 6080.
wget https://downloads.apache.org/ranger/2.4.0/ranger-2.4.0-admin.tar.gz tar -xzvf ranger-2.4.0-admin.tar.gz # Edite install.properties conforme documentação.O que você deve ver: Acesso à interface web em http://192.168.56.12:6080.
- Integrar Hive ao Ranger
Configure o plugin do Ranger no Hive para controle de acesso. Edite ranger-hive-security.xml e reinicie o HiveServer2.
# Consulte a documentação para copiar e configurar o plugin. # Reinicie HiveServer2.O que você deve ver: Políticas criadas no Ranger refletem no acesso ao Hive.
- Criar e popular tabela Hive
Conecte ao Hive via beeline e crie uma tabela simples. Importe um CSV local para o HDFS e carregue na tabela.
beeline -u jdbc:hive2://localhost:10000 CREATE TABLE pessoas (id INT, nome STRING); LOAD DATA LOCAL INPATH '/tmp/pessoas.csv' INTO TABLE pessoas;O que você deve ver: Tabela criada e linhas carregadas.
- Consultar dados via Hive
Execute uma consulta SQL simples na tabela criada.
SELECT * FROM pessoas;O que você deve ver: Linhas do CSV exibidas.
- Configurar política de acesso no Ranger
No Ranger, crie uma política para permitir acesso apenas ao usuário 'analista' na tabela 'pessoas'. Teste acesso com usuário diferente.
# Use interface web do Ranger para criar política.O que você deve ver: Usuário autorizado acessa, não autorizado recebe erro de permissão.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Verificar status do HDFS | hdfs dfsadmin -report | NameNode e DataNode ativos. |
| Testar conexão Hive via beeline | beeline -u jdbc:hive2://localhost:10000 | Prompt do beeline aberto. |
| Consultar dados na tabela Hive | SELECT * FROM pessoas; | Linhas do CSV exibidas. |
| Testar política Ranger | beeline -u jdbc:hive2://localhost:10000 -n usuario_nao_autorizado | Erro de permissão ao acessar tabela 'pessoas'. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| HDFS não inicia | Permissões ou configuração incorreta em core-site.xml/hdfs-site.xml | Revise permissões dos diretórios e parâmetros de configuração. |
| HiveServer2 não conecta ao HDFS | hive-site.xml aponta para endereço errado do NameNode | Corrija fs.defaultFS para o IP correto. |
| Ranger não aplica políticas | Plugin do Ranger não instalado ou configurado no Hive | Siga o guia de instalação do plugin Ranger para Hive. |
| Usuário não consegue acessar tabela Hive | Política Ranger restritiva ou usuário não listado | Ajuste a política no Ranger para incluir o usuário. |
Segurança e hardening
- Altere as senhas padrão do Ranger antes de expor a interface.
- Restrinja o acesso SSH às VMs apenas a IPs autorizados.
- Utilize firewall para limitar acesso às portas 8020 (HDFS), 10000 (HiveServer2) e 6080 (Ranger).
- Evite rodar serviços como root; crie usuários dedicados para Hadoop, Hive e Ranger.
Checklist final
Referências
- Documentação oficial do Apache Hadoop · Apache Software Foundation (Hadoop) (hadoop.apache.org)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 1 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
