YARN, uno dei principali progressi di Hadoop 2.0, è un gestore di risorse che separa la gestione dell'esecuzione e dell'elaborazione dalle funzionalità di gestione delle risorse di MapReduce. Come un sistema operativo su un server, YARN è progettato per consentire l'esecuzione di applicazioni utente multiple e diverse su una piattaforma multi-tenant.
Gli sviluppatori non sono più limitati a scrivere programmi MapReduce multi-pass con svantaggi come l'alta latenza, quando un'opzione migliore può essere modellata usando un approccio grafico aciclico diretto (DAG).
Qualsiasi applicazione, comprese quelle come Spark, può essere distribuita su un cluster Hadoop esistente e sfruttare YARN per lo scheduling e l'allocazione delle risorse. Questo è anche l'ingrediente base di un Hadooplex in SnapLogic, per ottenere uno scale out e uno scale in elastici per i lavori di integrazione.
L'ApplicationMaster per applicazione è, in effetti, un framework specifico di una libreria e ha il compito di negoziare le risorse dal ResourceManager e di lavorare con i NodeManager per eseguire e monitorare le attività.
L'application master di SnapLogic è responsabile della negoziazione delle risorse con il ResourceManager. Il piano di controllo di SnapLogic è il cervello (leggete questo post sull'integrazione definita dal software), che contiene tutte le informazioni critiche e aiuta a prendere decisioni logiche per lo scale out e lo scale in. Il Hadooplex è l'applicazione vera e propria che esegue il carico di lavoro.
In questo diagramma si può notare che l'Hadooplex riporta le informazioni sul carico di lavoro al piano di controllo a intervalli regolari. L'application master riceve le informazioni sul carico dal piano di controllo, anch'esso a intervalli regolari.
Quando il carico di lavoro aumenta, il master dell'applicazione richiede al ResourceManager di YARN di avviare altri nodi Hadooplex uno alla volta, come mostrato nel diagramma seguente. Questo ridimensionamento avviene dinamicamente fino a quando il carico di lavoro non inizia a diminuire o fino a quando non viene raggiunto il numero massimo di nodi Hadooplex consentito.
Quando il carico di lavoro diminuisce, i nodi iniziano a girare a vuoto. In questo modo SnapLogic ottiene una scalatura elastica in base ai volumi del carico di lavoro all'interno di un cluster Hadoop utilizzando il ResourceManager YARN. Questo è possibile solo se l'applicazione è nativa YARN. (Leggete qui l'importanza di YARN-nativo).
Le prossime tappe:
- Per saperne di più su come i clienti utilizzano SnapLogic per l'integrazione dei big data con Hadoop.
- Date un'occhiata a una dimostrazione delle nostre nuove funzionalità Spark.
- Informazioni sulle piattaforme di elaborazione dati di SnapLogic
Questo post è stato pubblicato originariamente su LinkedIn.