17
HDFS HA : Stockage à haute disponibilité Hadoop CDH4.1.2 Viadeo Tech Days 2012 Damien Hardy Architecte Infrastructure @Viadéo

HDFS HA : Stockage à haute disponibilité par Damien Hardy

Embed Size (px)

DESCRIPTION

Jusqu'alors dans HDFS, NameNode etait un élément critique difficile à fiabiliser. Hadoop 2 et donc CDH4 introduisait HDFS HA. CDH4.1 élimine tous les SPOF. Nous verrons comment mettre en place la haute disponibilité dans HDFS. Quels sont les nouveaux services, comment les articuler. http://fr.viadeo.com/fr/profile/damien.hardy8

Citation preview

Page 1: HDFS HA : Stockage à haute disponibilité par Damien Hardy

HDFS HA : Stockage à haute disponibilité

Hadoop CDH4.1.2

Viadeo Tech Days 2012Damien Hardy

Architecte Infrastructure @Viadéo

Page 2: HDFS HA : Stockage à haute disponibilité par Damien Hardy

OverviewOverview

1. Hadoop par Cloudera

2. CDH3 : Hadoop 1

3. CDH4 : Hadoop 2

4. HDFS HA

5. Paramétrage

6. Mire en route

7. Failover

8. Coté client

9. Information ailleurs

10.Questions

Page 3: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Cloudera : distribution Hadoop

Packetage Debian et RedhatDépots publiquesPatchsCommiteurs Apache

Page 4: HDFS HA : Stockage à haute disponibilité par Damien Hardy

CDH3 : D'où venons nous ?

Hadoop 1.0NameNode (SPOF)SecondarynameNode (ceci n'est pas un NameNode)DataNodeJobtrackerTasktracker

Hbase 0.90Master serverRegion server

Zookeeper 3.3...

Page 5: HDFS HA : Stockage à haute disponibilité par Damien Hardy

©http://lesjoiesdusysadmin.tumblr.com/post/35638011614

Page 6: HDFS HA : Stockage à haute disponibilité par Damien Hardy

CDH4.1 : HADOOP 2

Hadoop 2.0NameNodeDataNodeJournalNodeZK Failover Controler (ZKFC)JobtrackerTasktracker

Hbase 0.92Master serverRegion server

Zookeeper 3.4

...

Page 7: HDFS HA : Stockage à haute disponibilité par Damien Hardy

HDFS HA

NameNode n'est plus un SPOF \o/

SecondaryNameNode n'est plus utile

2 NameNodes en mode active/standby

Bascule automatique possible (ZKFC)

Pas d'IP flottante ni de hearbeat/keepalive

basé sur Zookeeper (déjà utilisé pour Hbase)

avec ou sans NFS (grace aux JournalNodes)

Page 8: HDFS HA : Stockage à haute disponibilité par Damien Hardy

hdfs-site.xml : déclaration du cluster

dfs.nameservices : nom du "point d'accès"

dfs.ha.namenodes.hdfscluster : liste des 2 noms de serveurs NameNode

dfs.namenode.rpc-address.hdfscluster.<nom> : adresse RPC du node

dfs.namenode.http-address.hdfscluster.<nom> : adresse HTTP du node

Page 9: HDFS HA : Stockage à haute disponibilité par Damien Hardy

hdfs-site.xml : méthode Failover

dfs.ha.automatic-failover.enabled : bascule automatique ?

ha.zookeeper.quorum : liste des serveurs du cluster ZooKeeper

Page 10: HDFS HA : Stockage à haute disponibilité par Damien Hardy

hdfs-site.xml : partager les données

dfs.namenode.shared.edits.dir : dossier de partage des meta données (sur NFS ou Quorum JournalNode)

dfs.journalnode.edits.dir : chemin de stockage pour le JournalNode (sur chaque serveur du Quorum)

dfs.ha.fencing.methods : méthode de STONITH (pour dossier partagé)

Page 11: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Initialisation

Hdfs NameNode (premier)hdfs namenode -formatstart hadoop-hdfs-namenode

Hdfs NameNode (second)hdfs namenode -bootstrapStandbystart hadoop-hdfs-namenode

Hdfs zkfc (bascule automatique)hdfs zkfc -formatZKstart hadoop-hdfs-zkfc (sur 2 NameNode)

Page 12: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Administration

hdfs haadminUsage: DFSHAAdmin [-ns <nameserviceId>]

[-transitionToActive <serviceId>] [-transitionToStandby <serviceId>] [-failover [--forcefence] [--forceactive]

<serviceId> <serviceId>] [-getServiceState <serviceId>] [-checkHealth <serviceId>] [-help <command>]

Pour provoquer une bascule de serveur.checkHealth non implémenté

Page 13: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Côté client HDFS: l'exemple HBase

hbase-site.xmlhbase.rootdir : hdfs://<dfs.nameservices>/hbase

La config HDFS dans le $CLASSPATHcore-site.xml

dfs.client.failover.proxy.provider.<ns>hdfs-site.xml

Page 14: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Résultat

Démo

Page 15: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Information

http://ccp.cloudera.com/display/CDH4DOC/CDH4+High+Availability+Guide

Page 16: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Merci de votre attention,

à vos questions!

Page 17: HDFS HA : Stockage à haute disponibilité par Damien Hardy

Adrien DEBBAHResponsables des Partenariats France

[email protected]

http://www.viadeo.com/fr/profile/adrien.debbah