HDFS-Konfigurationsdateien


Um in einem Cluster ein Hadoop Distributed File System (HDFS) bereitzustellen, benötigt es folgende Komponente:

In dem Tutorial Infrastruktur, Monitoring und Softwareverteilung zum Aufbau unserer Advanced Analytics Appliance sind wir alle Themen bis auf Unsere Konfiguration durchgegangen, was wir hier nun nachholen werden.

Das File System, sehr häufig auch einfach nur Hadoop genannt, wird primär über vier Dateien konfiguriert, die wir in alphabetischer Reihenfolge durchgehen werden.

In der Datei core-site.xml wird (übergreifend) die URL definiert, unter welcher wir das File System erreichen können. Hinweis: Da es sich um eine Konfiguration handelt, können Sie natürlich jeden beliebigen anderen, noch nicht in Verwendung befindlichen Port als 9000 nutzen.

<!-- Dateiname: core-site.xml-->
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://analyticsMaster:9000</value>
    </property>
</configuration>

Mit dieser Konfiguration können wir später den Inhalt wie folgt abfragen:

hdfs dfs -ls hdfs://analyticsMaster:9000/


In der Datei hdfs-site.xml werden die File System spezischen Konfigurationen vorgenommen. Für einen ersten Start reichen uns drei Parameter und zwar fs.datanode.data.dir zur Angabe des Ordners zur Speicherung der Daten, dfs.namenode.name.dir zur Angabe des Ordners zur Speicherung der Verzeichnisverwaltung und dfs.replication zur Definition des Replikationsfaktors. Die Speicherung der Daten auf mehr als einem Cluster Member dient der Ausfallsicherheit des Clusters.

<!-- Dateiname: hdfs-site.xml-->
<configuration>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///analyticsData/data/hadoop/hdfs/datanode/</value>
        <description>DataNode directory for storing data chunks.</description>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///analyticsData/data/hadoop/hdfs/namenode/</value>
        <description>NameNode directory for namespace and transaction logs storage.</description>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>3</value>
        <description>Number of replication for each chunk.</description>
    </property>
</configuration>

In den beiden Dateien masters und slaves wird für den HDFS-Master definiert, wie sich der Cluster zusammensetzt. Die Datei slaves wird im Cluster Member (häufig auch worker genannt) nicht benötigt (und war sogar früher dort auch nicht erlaubt, daher lösche ich diese Datei dort auch immer (noch)), da der Worker durchaus weiß, dass er Worker ist.

# Dateiname: masters
analyticsMaster

# Dateiname: slaves
analyticsWorker1
analyticsWorker2
analyticsWorker3

< zurück zum letzten Artikel