hadoop Samouczek
Rozpoczęcie pracy z Hadoop
Szukaj…
Uwagi
Co to jest Apache Hadoop?
Biblioteka oprogramowania Apache Hadoop jest strukturą umożliwiającą rozproszone przetwarzanie dużych zbiorów danych w klastrach komputerów przy użyciu prostych modeli programowania. Został zaprojektowany do skalowania z pojedynczych serwerów na tysiące komputerów, z których każdy oferuje lokalne obliczenia i pamięć. Zamiast polegać na sprzęcie komputerowym w celu zapewnienia wysokiej dostępności, sama biblioteka została zaprojektowana do wykrywania i obsługi awarii w warstwie aplikacji, zapewniając w ten sposób wysoce dostępną usługę na klastrze komputerów, z których każdy może być podatny na awarie.
Apache Hadoop obejmuje następujące moduły:
- Hadoop Common : wspólne narzędzia obsługujące inne moduły Hadoop.
- Hadoop Distributed File System (HDFS) : Rozproszony system plików, który zapewnia wysokoprzepustowy dostęp do danych aplikacji.
- Hadoop YARN : Framework do planowania zadań i zarządzania zasobami klastra.
- Hadoop MapReduce : System YARN do równoległego przetwarzania dużych zestawów danych.
Odniesienie:
Wersje
Wersja | Informacje o wydaniu | Data wydania |
---|---|---|
3.0.0-alfa1 | 30.08.2016 | |
2.7.3 | Kliknij tutaj - 2.7.3 | 25.01.2016 |
2.6.4 | Kliknij tutaj - 2.6.4 | 2016-02-11 |
2.7.2 | Kliknij tutaj - 2.7.2 | 25.01.2016 |
2.6.3 | Kliknij tutaj - 2.6.3 | 17.12.2015 |
2.6.2 | Kliknij tutaj - 2.6.2 | 28.10.2015 |
2.7.1 | Kliknij tutaj - 2.7.1 | 2015-07-06 |
Instalacja lub instalacja w systemie Linux
Procedura instalacji pseudo rozproszonego klastra
Wymagania wstępne
Zainstaluj JDK1.7 i ustaw zmienną środowiskową JAVA_HOME.
Utwórz nowego użytkownika jako „hadoop”.
useradd hadoop
Skonfiguruj logowanie SSH bez hasła do własnego konta
su - hadoop ssh-keygen << Press ENTER for all prompts >> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
Sprawdź, wykonując
ssh localhost
Wyłącz IPV6, edytując
/etc/sysctl.conf
wykonując następujące czynności:net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Sprawdź, czy używasz
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
(powinien zwrócić 1)
Instalacja i konfiguracja:
Pobierz wymaganą wersję Hadoop z archiwów Apache za pomocą polecenia
wget
.cd /opt/hadoop/ wget http:/addresstoarchive/hadoop-2.x.x/xxxxx.gz tar -xvf hadoop-2.x.x.gz mv hadoop-2.x.x.gz hadoop (or) ln -s hadoop-2.x.x.gz hadoop chown -R hadoop:hadoop hadoop
Zaktualizuj
.bashrc
/.kshrc
oparciu o twoją powłokę o poniższe zmienne środowiskoweexport HADOOP_PREFIX=/opt/hadoop/hadoop export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop export JAVA_HOME=/java/home/path export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$JAVA_HOME/bin
W
$HADOOP_HOME/etc/hadoop
edytuj poniższe plikicore-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration>
mapred-site.xml
Utwórz
mapred-site.xml
ze swojego szablonucp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hdfs/datanode</value> </property> </configuration>
Utwórz folder nadrzędny do przechowywania danych hadoop
mkdir -p /home/hadoop/hdfs
Formatuj NameNode (czyści katalog i tworzy niezbędne pliki meta)
hdfs namenode -format
Uruchom wszystkie usługi:
start-dfs.sh && start-yarn.sh mr-jobhistory-server.sh start historyserver
Zamiast tego użyj start-all.sh (przestarzałe).
Sprawdź wszystkie uruchomione procesy Java
jps
Namenode Web Interface: http: // localhost: 50070 /
Interfejs sieciowy menedżera zasobów: http: // localhost: 8088 /
Aby zatrzymać demony (usługi):
stop-dfs.sh && stop-yarn.sh mr-jobhistory-daemon.sh stop historyserver
Zamiast tego użyj stop-all.sh (przestarzałe).
Instalacja Hadoop na Ubuntu
Tworzenie użytkownika Hadoop:
sudo addgroup hadoop
Dodanie użytkownika:
sudo adduser --ingroup hadoop hduser001
Konfigurowanie SSH:
su -hduser001
ssh-keygen -t rsa -P ""
cat .ssh/id rsa.pub >> .ssh/authorized_keys
Uwaga : Jeśli pojawią się błędy [ bash: .ssh / uprawnione_klucze: Brak takiego pliku lub katalogu ] podczas pisania autoryzowanego klucza. Sprawdź tutaj
Dodaj użytkownika hadoop do listy sudoer:
sudo adduser hduser001 sudo
Wyłączanie IPv6:
Instalowanie Hadoop:
sudo add-apt-repository ppa:hadoop-ubuntu/stable
sudo apt-get install hadoop
Przegląd Hadoop i HDFS
- Hadoop to platforma oprogramowania typu open source do przechowywania i przetwarzania zestawów danych na dużą skalę w rozproszonym środowisku komputerowym. Jest sponsorowany przez Apache Software Foundation. Został zaprojektowany do skalowania z pojedynczych serwerów na tysiące komputerów, z których każdy oferuje lokalne obliczenia i pamięć.
- Hadoop został stworzony przez Douga Cuttinga i Mike'a Cafarella w 2005 roku.
- Cięcie, który pracował w Yahoo! w tym czasie nazwał ją imieniem zabawkowego słonia swojego syna.
- Został pierwotnie opracowany w celu obsługi dystrybucji dla projektu wyszukiwarki.
- Hadoop Distributed File System (HDFS): Rozproszony system plików, który zapewnia wysokoprzepustowy dostęp do danych aplikacji. Hadoop MapReduce: Framework oprogramowania do rozproszonego przetwarzania dużych zbiorów danych w klastrach obliczeniowych.
- Wysoce odporny na uszkodzenia. Wysoka przepustowość Nadaje się do aplikacji z dużymi zestawami danych. Może być zbudowany ze sprzętu towarowego.
- Architektura master / slave. Klaster HDFS składa się z jednego Namenode, głównego serwera, który zarządza przestrzenią nazw systemu plików i reguluje dostęp klientów do plików. DataNodes zarządzają pamięcią dołączoną do węzłów, na których działają. HDFS udostępnia przestrzeń nazw systemu plików i umożliwia przechowywanie danych użytkownika w plikach. Plik jest podzielony na jeden lub więcej bloków, a zestaw bloków jest przechowywany w DataNodes. DataNodes: obsługuje żądania odczytu, zapisu, wykonuje tworzenie bloków, usuwanie i replikację na polecenie Namenode.
- HDFS jest przeznaczony do przechowywania bardzo dużych plików na różnych komputerach w dużym klastrze. Każdy plik jest sekwencją bloków. Wszystkie bloki w pliku oprócz ostatniego mają ten sam rozmiar. Bloki są replikowane w celu zapewnienia odporności na uszkodzenia. Namenode odbiera Heartbeat i BlockReport z każdego DataNode w klastrze. BlockReport zawiera wszystkie bloki w Datanode.
- Często używane polecenia:
- ls Zastosowanie: hadoop fs –ls Ścieżka (ścieżka do katalogu / katalogu). Użycie kota : hadoop fs -cat PathOfFileToView
Link do poleceń powłoki hadoop: - https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html