Hadoop / Big Data in azienda
L'ecosistema dei Big Data è nato per gestire l'enorme quantità di dati generati dalle attività web/online. Una volta maturati i principali componenti dell'ecosistema, le organizzazioni aziendali non hanno impiegato molto tempo per utilizzare questi nuovi strumenti e tecnologie per i loro casi d'uso. Oggi le organizzazioni aziendali riversano ogni tipo di dati strutturati, semi-strutturati e non strutturati nei loro sistemi di gestione dei dati. laghi di dati. Ma la sfida principale che devono affrontare è come dare un senso agli enormi dati presenti nel loro data lake. Utilizzando SnapLogic iPaaS elastico (piattaforma di integrazione come servizio), che si basa sul paradigma della programmazione visuale, i clienti possono affrontare questo problema con facilità. Fornisce un potente Designer basato sul web e centinaia di connettori precostituiti (Scatti), che i clienti possono trascinare e rilasciare per costruire le loro pipeline di dati per pulire e rimodellare i dati nel formato richiesto, e possono farlo su scala big data e in un ambiente big data.
Sicurezza
C'è un altro grande problema nell'utilizzo di Hadoop in azienda: La sicurezza. Il modo in cui la maggior parte delle organizzazioni affronta questo problema è l'uso di Kerberos, che è uno standard di fatto per l'implementazione della sicurezza nei sistemi distribuiti. Kerberos garantisce la sicurezza autenticando e autorizzando gli utenti. Utilizzando la funzione di crittografia di HDFS, i clienti possono proteggere i loro dati in movimento (via cavo) e quelli a riposo (su disco).
Kerberos
Kerberos is a widely used network authentication protocol in a distributed computing environment developed originally by MIT. Main components of this system involve KDC, which consists of an Authentication server and a Ticket granting server. <link to resources at bottom of document>
Perché Kerberos?
- Costruito su una forte crittografia a chiave simmetrica.
- Non memorizza la password localmente né la trasmette in rete. Utilizza invece i biglietti.
- Utilizza una terza parte fidata (KDC) per gestire l'autenticazione.
- Peso ridotto. I biglietti sono validi fino alla scadenza e l'interazione con il KDC è minima.
- Sessione orientata.
- Il KDC può far scadere i token, rendendo l'amministrazione un gioco da ragazzi.
- Si tratta di una configurazione di single sign on ampiamente implementata.
- Ampiamente utilizzato nel mondo Hadoop, dove protegge la comunicazione tra entità di servizio.
Come utilizzare Kerberos e l'impersonificazione degli utenti con SnapLogic
SnapLogic supporta Kerberos e User Impersonation in modo immediato (con un paio di modifiche ai file di configurazione del cluster e di SnapLogic).
Si presuppone che il cliente conosca le terminologie di base di SnapLogic e l'impostazione di Kerberos nel proprio cluster Hadoop prima di procedere oltre.
- Creare un principio nel KDC e creare un file keytab corrispondente a questo principio. Supponiamo che il nome del principale creato sia "snaplogic" e che la keytab corrispondente a questo principio sia "snaplogic.keytab".
- Copiare questa keytab in una posizione ben nota su tutti i nodi del cluster in cui verranno eseguiti i nodi JCC.
- Creare utenti in tutti i nodi del cluster in cui verranno eseguite le pipeline. A tal fine, è possibile configurare LDAP.
Modifiche al cluster per abilitare l'impersonificazione dell'utente
Questa funzione consente all'utente connesso di eseguire pipeline (di tutti i tipi) in un cluster Hadoop come utente proxy preconfigurato.
Alla valvola di sicurezza del cluster core-site.xml deve essere aggiunto quanto segue. (sostituite snaplogic con il vostro nome principale)
<property>
<name>hadoop.proxyuser.snaplogic.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.snaplogic.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.snaplogic.users</name>
<value>*</value>
</property>
Modifiche ai file di configurazione di SnapLogic (Kerberos + Impersonificazione utente)
Al file plex.properties deve essere aggiunto quanto segue. Il valore predefinito per questo attributo è false.
jcc.proxy_user_enabled=true
snapreduce.keytab=/snaplogic.keytab
snapreduce.principal=snaplogic/[email protected]
Avvio
- Avviare l'autenticazione con il KDC utilizzando kinit con l'utente e la keytab di SnapLogic.
bash. # kinit snaplogic/[email protected] -k -t /snaplogic.keytab
- Avviare l'Hadooplex.
bash. # yarn jar yplex-4.0-snapreduce.jar -war jcc-4.0-mrc236-snapreduce.war -driver driver-mrc236.jar -master_conf master.properties -plex_conf plex.properties -keys keys.properties
Avviare l'esecuzione della pipeline tramite Designer. L'utente connesso potrà accedere solo ai file a cui è autorizzato ad accedere. Tutti i nuovi file creati saranno di proprietà dell'utente connesso.
Risorse:
Sistema di autenticazione Kerberos:
https://www.youtube.com/watch?v=KD2Q-2ToloE
http://www.roguelynn.com/words/explain-like-im-5-kerberos/
http://web.mit.edu/kerberos/krb5-latest/doc/
Configurazione di Kerberos e dell'impersonificazione degli utenti per snaplogic:
Visitare doc.snaplogic.com per la documentazione più recente sull'argomento.
Non dimenticate di dare un'occhiata agli altri post sull'integrazione dei big data di SnapLogic. sull'integrazione dei big data. SnapLogic è anche alla ricerca di sviluppatori senior di Big Data; candidatevi oggi stesso sul nostro sito web all'indirizzo www.snaplogic.com/jobs.