mercoledì 1 aprile 2015

Quale Storage per Hadoop ?

Hadoop è diventato oggi molto popolare, perché rende l'analisi di grandi dati semplice ed economica: basta avere un cluster di server e utilizzare i loro processori come nodi di elaborazione per estrarre i dati critici, mentre i loro dischi interni (DAS) operano come nodi di storage a basso costo.

Il vantaggio di quest’architettura è di avere storage vicino alle CPU, senza la necessità quindi di pescare i dati dall’esterno, ed è possibile aggiungere più spazio di archiviazione (e più potenza di elaborazione) solo con l'aggiunta di nodi server economici con unità SATA a basso costo.
L’ Hadoop Distributed  File System  (HDFS) si assume la responsabilità di organizzare e rendere disponibile storage. Per aggiungere un elemento di protezione dei dati, fault tolerance e resilienza al cluster Hadoop, HDFS triplica tutti i dati: una copia viene effettuata e memorizzata su uno storage node diverso nello stesso rack, e l'altro inviato a un altro storage node su un altro rack .
Questo approccio presenta vantaggi e svantaggi. La triplice copia del dato è semplice ed efficace, ma quando si utilizzano grandi quantità di dati può portare ad enormi volumi.  La buona notizia è che se un disco si guasta basta semplicemente collegarne uno di nuovo e si ritorna immediatamente allo stato normale - non c'è ricostruzione RAID ed il carico elaborativo per fornire questo tipo di protezione dei dati è minimo.



HDFS è stato progettato per supportare le query batch stile MapReduce (il modello di elaborazione originale Hadoop), ma con l'uscita di Hadoop 2 e di YARN (Yet Another Negotiator Resource), Hadoop è diventato più di un semplice sistema per l'esecuzione dell'algoritmo MapReduce.  E’ ora possibile eseguire altri sistemi di elaborazione, come Tez, HBase, Tempesta, Giraph, Spark e più.

Quindi Hadoop sta diventando sempre più un Task Scheduler, eseguendo MapReduce ed altri algoritmi che possono sfruttare il Cluster Hadoop.

Sorge quindi naturale una domanda: perché non utilizzare Hadoop per memorizzare tutti i dati, realizzare cioè un “Data Lake” unico da cui si possono  estrarre le informazioni che servono?

C'è un problema che bisogna considerare con questo modello: il DAS può essere a buon mercato, ma c'è un motivo per cui la maggior parte delle imprese si è allontanata da questo tipo di memorizzazione "convenzionale", a favore di sistemi più sofisticati di storage enterprise.

Il DAS manca infatti di diverse funzionalità proprie dello storage enterprise.  Esse comprendono:
  • · Compliance and regulatory controls
  • · Security, access and audit controls
  • · Multi-site data protection
  • · Disaster recovery / business continuity
  • · Workflow integration and multi-user sharing
  • · System manageability at scale
  • · Consistent performance and multiple workloads
In gnerale quali sono le opzioni storage per Hadoop?  Queste possono essere così riassunte:

1. DAS - l'originale architettura di Hadoop. Questo può essere migliorata con l'aggiunta di dispositivi flash e software tiering per migliorare le prestazioni e potenzialmente consentire ad ogni nodo di rispondere a più interrogazioni, ma questo non affronta la mancanza di servizi di storage enterprise.

2. DAS avanzato - Hadoop con uno strato software proprietario di memorizzazione ed organizzazione dei dati al posto di HDFS. Questo tipo di opzione è raramente adottata perché tradisce lo spirito Open Source con cui Hadoop è stato concepito.

3. SAN / NAS / appliance - un sistema di Storage Enterprise o equivalente appliance.

4. Virtualizzazione - Hadoop in esecuzione su macchine virtuali. Una valida alternativa, ma spesso onerosa da implementare.

5. Cloud - Cloud Clustered Storage. Obbliga a spostare tutti i dati nel cloud con innegabili rischi legati alla sicurezza e alla riservatezza dei  dati.

Tra tutte le opzioni solo la terza risponde pienamente ai requisiti di sicurezza, compliance , data protection e business continuity; non sempre però  viene garantita la scalabilità necessaria e potrebbero esserci problemi di performance legati alla presenza di più carichi di lavoro concorrenti con Hadoop.

Inoltre spostare i dati fuori dal Compute Node introduce potenziali problemi di latenza e vincoli di larghezza di banda, e l'aggiunta (ad esempio) di schede Fibre Channel a un gran numero di Compute Node potrebbe essere proibitivo in termini di costo.
L'approccio adottato da EMC con la piattaforma ISILON è di spostare HDFS fuori dal cluster Hadoop in modo che i Compute Node possano dialogare direttamente con l'array di Storage Isilon, che offre l'integrazione HDFS nativa. Ciò significa che il cluster Hadoop non ha più in carico la gestione e la protezione del dato, semplificando e velocizzando la realizzazione di una soluzione Hadoop.

Isilon semplifica e velocizza quindi il deployment di una soluzione Hadoop.
Queste due figure esemplificano questo concetto.


Inoltre Isilon da la possibilità di esporre i dati a più istanze Hadoop contemporanee anche provenienti da fornitori diversi.
Isilon è infatti certificato per:



Ambari 1.6.1
Hadoop 2.5.0
CDH 5.1.3
CM 5.2.0
HDP 2.1
Ambari 1.6.1
PHD 2.1
HAWQ 1.2

Riassumendo ISILON offre molteplici vantaggi per il Data Analytics, riassumibili in 6 punti principali:

1
Scale-Out Storage Platform
     Multiple applications & workflows
2
No Single Point of Failure
     Distributed NameNode
3
End-to-End Data Protection
     SnapshotIQ, SyncIQ, NDMP Backup
4
Industry-Leading Storage Efficiency
     >80% Storage Utilization
5
Independent Scalability
     Add compute & storage separately
6
Multi-Protocol
     Industry standard protocols
     NFS, CIFS, FTP, HTTP, HDFS

ISILON offre inoltre caratteristiche di sicurezza tipiche di un ambiente enterprise, tra cui:
  • Granular Role Based Access Control
  • Data at Rest Encryption
  • SmartLock (Compliant WORM)
  • Rich ACL’s/ACE’
  • Kerberos Integration
  • Access Zones
  • Auditing


Link utili:
EMC Isilon Solution for Hadoop Analytics

Post pubblicata da:

Sandro Pasquato, Sr. Systems Engineer @essep58






Nessun commento:

Posta un commento