Hadoop Distributed File System

Transkrypt

Hadoop Distributed File System
Hadoop Distributed File System Instalacja 1. Pobieramy archiwum Hadoop’a, np.: wget http://ftp.ps.pl/pub/apache/hadoop/common/hadoop-1.0.4/hadoop1.0.4.tar.gz 2. Rozpakowujemy oraz umieszczamy w katalogu /usr/local: tar xzf hadoop-1.0.4.tar.gz
sudo mv hadoop-1.0.4 /usr/local/hadoop 3. Nadajemy uprawnienia użytkownika student: sudo chown –R student:users /usr/local/hadoop Konfiguracja 1. Ustawiamy zmienną JAVA_HOME w pliku /usr/local/hadoop/conf/hadoopenv.sh: export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk/jre 2.
Tworzymy katalog, gdzie trzymane będą dane Hadoop’a: sudo mkdir –p /app/hadoop/tmp
3.
Zmieniamy właściciela utworzonego katalogu: sudo chown –R student:users /app/hadoop/tmp
4. Dla każdego komputera modyfikujemy plik /etc/hosts: sudo /etc/hosts
i dodajemy tam wpisy: 192.168.0.1
192.168.0.2
192.168.0.3
5.
master
slave1
slave2 Generujemy klucz SSH na komputerze master oraz dodajemy go do authorized_keys na wszystkich komputerach (włącznie z master): ssh-keygen –t rsa –P „” (na master)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub student@slave1:~/master.pub
cat ~/master.pub >> ~/.ssh/authorized_keys (na slave)
6. Modyfikujemy plik konfiguracyjny /usr/local/hadoop/conf/master na zawartość – tylko na komputerze master: master 7.
Modyfikujemy plik konfiguracyjny /usr/local/hadoop/conf/slaves na zawartość – tylko na komputerze master: master
slave1
slave2
8.
Modyfikujemy plik konfiguracyjny /usr/local/hadoop/conf/core-site.xml – na wszystkich komputerach: <property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
</property>
9.
Modyfikujemy plik konfiguracyjny /usr/local/hadoop/conf/hdfs-site.xml – na wszystkich komputerach: <property>
<name>dfs.replication</name>
<value>2</value>
</property>
10. Formatujemy system plików – na komputerze master: /usr/local/hadoop/bin/hadoop namenode –format Uruchamianie i zatrzymywanie •
Uruchomienie wszystkich elementów klastra: /usr/local/hadoop/bin/start-all.sh
•
Zatrzymanie wszystkich elementów klastra: /usr/local/hadoop/bin/stop-all.sh
•
Uruchomienie HDFS’a: /usr/local/hadoop/bin/start-dfs.sh
•
Zatrzymanie HDFS’a: /usr/local/hadoop/bin/stop-dfs.sh
•
Uruchomienie usługi DataNode na węźle: /usr/local/hadoop/bin/hadoop-daemons.sh start datanode
•
Zatrzymanie usługi DataNode na węźle: /usr/local/hadoop/bin/hadoop-daemons.sh stop datanode
•
Uruchomienie usługi NameNode na węźle: /usr/local/hadoop/bin/hadoop-daemons.sh start namenode
•
Zatrzymywanie usługi NameNode na węźle: /usr/local/hadoop/bin/hadoop-daemons.sh stop namenode
Korzystanie z HDFS Do korzystania z klastra służy program hadoop znajdujący się w /usr/local/hadoop/bin. Dostęp do danych 1. Operacje na systemie plików: hadoop fs <parametr>
2.
Wylistowanie katalogu: hadoop fs –ls /
3.
Utworzenie katalogu: hadoop fs –mkdir <sciezka_katalogu>
4.
Wgranie pliku: hadoop fs –copyFromLocal <sciezka_lokalna> <sciezka_zdalna>
5.
Pobranie pliku: hadoop fs –copyToLocal <sciezka_zdalna> <sciezka_lokalna>
6.
Lista dostępnych poleceń po wywołaniu: hadoop fs
Podgląd poprzez aplikację internetową • http://master:50070 -­‐ podgląd NameNode’a •
http://master:50060 -­‐ podgląd TaskTracker'a •
http://master:50030 -­‐ podgląd JobTracker‘a Uprawnienia 1. Spróbujmy wgrać plik użytkownikiem innym niż student. 2.
Wyłączenie sprawdzania uprawnień – plik hdfs-site.xml na komputerze master: <property>
<name>dfs.permissions</name>
<value>false</value>
</property>
3. Restart klastra. Dostęp do danych z poziomu MapReduce 1. Ustawienie w konfiguracji /usr/local/hadoop/conf/mapred-site.xml wpisu: <property>
<name>mapred.job.tracker</name>
<value>master:54311</value>
</property>
2.
Uruchomienie usługi MapReduce – na masterze: /usr/local/hadoop/start-mapred.sh
3. Wgranie dużych plików tekstowych np. z projektu Gutenberg’a -­‐ http://www.gutenberg.org/: hadoop fs -copyFromLocal ~/pg1* /dane/
4.
Uruchomienie przykładowego programu: bin/hadoop jar hadoop*examples*.jar wordcount
/dane /wyniki
Failover 1. Wyłączamy węzeł slave – na komputerze slave: /usr/local/hadoop/bin/hadoop-daemons.sh stop datanode
2. Sprawdzamy zachowanie klastra poprzez interfejs WWW oraz zawartość katalogów. 3. Wyłączamy drugi węzeł slave. 4. Ponownie sprawdzamy zachowanie klastra. 5. Próbujemy pobrać pliki z klastra. 6. Wgrywamy duże pliki do klastra. 7.
Uruchamiamy węzły slave: /usr/local/hadoop/bin/hadoop-daemons.sh start datanode
8. Obserwujemy zachowanie się klastra. 9.
Uruchamiamy: /usr/local/hadoop/bin/hadoop balancer

Podobne dokumenty