Dzisiaj, gdy firma lub dowolna operacja informatyczna rozrasta się do punktu, w którym wymaga więcej niż jednego komputera do obsługi, zaczynamy natychmiast używać wielu komputerów jako części jednej sieci w celu bardziej efektywnego rozłożenia obciążenia. Stało się to tak powszechne, że obecnie prawie wszystkie operacje w dziedzinach takich jak nauka o danych są wykonywane przez te połączone w sieć komputery. Choć niewątpliwie wykonywanie wymagających zadań komputerowych jest w ten sposób wydajniejsze, jest to również niezwykle skomplikowane, ponieważ musisz indywidualnie konfigurować każdy komputer, a następnie zarządzać całą siecią podczas wykonywania zadań. Tu z pomocą przychodzą programy takie jak Hadoop.
- Co to jest Hadoop Apache?
- Zastosowania Hadoopa
- Przegląd architektury Hadoopa
- Instalacja Hadoopa na Ubuntu 20.04 - Przewodnik krok po kroku
- Wymagania wstępne
- Krok 1: Stwórz użytkownika innego niż root dla Hadoopa
- Krok 2: Skonfiguruj klucze SSH
- Krok 3: Pobierz i zainstaluj Hadoop na Ubuntu
- Krok 4: Skonfiguruj środowisko Hadoopa
- Krok 5: Edytuj pliki konfiguracyjne
- Krok 6: Sformatuj HDFS
- Krok 7: Uruchom usługi Hadoopa
- Krok 8: Weryfikuj instalację
- Krok 9: Uzyskaj dostęp do interfejsów webowych
- Krok 10: Uruchom przykład MapReduce
- Krok 11: Ustaw zmienne środowiskowe
- Wnioski
- Często zadawane pytania
Hadoop to zestaw narzędzi i programów wydanych przez Apache, który pozwala na łączenie wielu komputerów w sieć z znacznie większą wydajnością i łatwością. W tym artykule przeanalizuję Hadoop, przejrzę jego przypadki użycia, omówię zalety i wady, przedstawię przegląd jego zaawansowanej architektury, a następnie przejdę do przewodnika krok po kroku dotyczącego instalacji Hadoop na Ubuntu 20.04. Zakanczamy ten przewodnik Hadoop na rok 2024.
Co to jest Hadoop Apache?
Hadoop, zestaw narzędzi zasilany przez Apache, przez ponad 15 lat zmienia sposób konfiguracji i wykorzystania sieci. Użytkownicy mogą w pełni wykorzystać wydajność zasobów Hadoop, co pozwala im zastosować istniejącą moc obliczeniową do wymagających zadań bez konieczności kosztownych aktualizacji. Zestaw składa się z czterech modułów: HDFS, YARN, MapReduce i Hadoop Common, każdy przeznaczony do konkretnych przypadków użycia.
Siła Hadoop tkwi w jego wewnętrznej efektywności. Pozwala zarówno pojedynczym osobom, jak i organizacjom na połączenie istniejących możliwości obliczeniowych w jeden system zdolny do rozwiązywania poważnych problemów obliczeniowych. Bez Hadoop entities byłyby zmuszane do kosztownego zakupu coraz bardziej zaawansowanych maszyn.
Zastosowania Hadoopa
Teraz wiemy, czym jest Hadoop. Ale jak dokładnie jego przypadki użycia znajdują zastosowanie w rzeczywistym świecie? Zrozumienie programu w teorii to dobrze, ale nigdy nie zastąpi to zobaczenia jego potencjału w rzeczywistej operacji. Poniżej podaję kilka przykładów przed przejściem do tutoriala Hadoop.
Analiza Ryzyka
Jak już wspomniałem, Hadoop pozwala na wykorzystanie mocy kilku systemów komputerowych jako część pojedynczej jednostki sieciowej, aby efektywnie przetwarzać i analizować duże ilości danych szybciej niż zwykle. W każdej firmie istnieją ryzyka, które wymagają analizy i obliczeń. Hadoop jest tutaj niezwykle przydatny. Tak bardzo, że wiele wiarygodnych szpitali używa go do analizy ryzyka różnych leczenia i przewidywania potencjalnych wyników i statystyk swoich operacji dla pacjentów. Więcej informacji na temat roli Hadoop w opiece zdrowotnej znajdziesz tutaj.
Wykrywanie naruszenia bezpieczeństwa
Wraz ze wzrostem liczby urządzeń sieciowych w sieci lub firmie pojawia się coraz więcej potencjalnych zagrożeń bezpieczeństwa. Jedną z kluczowych możliwości Hadoop jest ocena całości operacji poprzez analizę dużych ilości danych i wskazanie potencjalnych słabych punktów systemu.
Przegląd mapowania
Wiele firm opiera się na opiniach klientów, które otrzymują na temat swoich produktów, aby je ulepszyć lub opracować nowe strategie marketingowe. Podczas gdy człowiek zajęłby się analizą dużego pliku opinii przez długi czas, Hadoop pracuje dzięki sieci komputerów i daje znacznie szybsze wyniki.
Analiza Rynku
Jeśli chodzi o strategie marketingowe, wspomniana wcześniej analiza opinii to nic w porównaniu z zasobami potrzebnymi do oceny rynku pod kątem potencjału zupełnie nowego produktu. To kolejny przypadek użycia, w którym Hadoop się sprawdza, pozwalając nawet małym, wschodzącym firmom na efektywną ocenę rynku przy użyciu kilku komputerów w wydajnym czasie i sposób.
Analiza plików dziennika
Innym aspektem biznesu, który komplikuje się wraz z upływem czasu i wzrostem firmy, jest liczba oprogramowania, które będzie się rozrastać. Używanie coraz więcej oprogramowania powoduje więcej potencjalnych błędów i problemów, co wymaga dedykowanego pracownika do zarządzania plikami logów i obsługi problemów. Zajmuje to dużo czasu, ale korzystając z kilku prostych protokołów, firma może użyć Hadoop do szybkiego przeglądu i oceny plików logów, aby znaleźć i wyeliminować te błędy.
Istnieje wiele innych przypadków użycia i aplikacji Hadoop, ale aby utrzymać skupienie się na celu artykułu, nie będziemy omawiać żadnych dalszych.
Przegląd architektury Hadoopa
Załóżmy, że słyszałeś o Hadoop i jego przypadkach użycia oraz tym, co robi. A nawet jeśli nie, ten artykuł prawdopodobnie to dla ciebie zrobił. Ale teraz musisz uzyskać dogłębne zrozumienie tego, z czego Hadoop się składa i jak każda jego część współpracuje z innymi funkcjami. Jak wspomniałem wcześniej, istnieją cztery ogólne warstwy Hadoop. W tej części tutoriala Hadoop poznamy więcej na temat HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce i Hadoop Common. Jednak ponieważ Hadoop Common nie ma wielu funkcji wymagających wyjaśnienia, jego istotę stanowią ZookeeperDlatego w tej sekcji postaram się wyjaśnić zaawansowaną architekturę i ekosystem Hadoop oraz jego cztery sekcje w prostych słowach, zanim przejdę do sposobu instalacji Hadoop na Ubuntu 20.04.
HDFS
HDFS w ekosystemie Hadoop stanowi ogólny system przechowywania, którego wszystkie podsystemy i aplikacje Hadoop używają do oceny, przesyłania i zapisywania danych. Kluczowy punkt architektury HDFS polega na tym, że w przeciwieństwie do samego Hadoop, będącego programem open-source, HDFS w Hadoop to system plików odpowiedzialny za uruchamianie wszystkich operacji klastra Hadoop. HDFS to niezwykle niezawodny system plików, który dzieli serie danych na fragmenty 128 MB i optymalizuje je do operacji sekwencyjnych.
Podstawową rolą HDFS w oprogramowaniu Hadoop jest dostarczanie wszystkich danych jako część ogólnego stojaika danych, którym można następnie manipulować za pośrednictwem różnych węzłów nazw i drugorzędnych stojaków w podsekcje do organizacji operacji analizy danych. Następnie możesz użyć innych opcji, takich jak stojanki dziennika, QJM, HA, pliki fsimage i edit log oraz ogólny dziennik legendy, aby śledzić i wykonywać inne zadania.
YARN
YARN to kolejna gałąź wykonawcza Hadoop, która jest używana do przydzielenia żądanych ilości zasobów obliczeniowych do określonych aplikacji w ekosystemie Hadoop. W istocie pozwala na użycie menedżera zasobów dla klientów do przydzielenia tych zasobów za pośrednictwem zestawu różnych węzłów do różnych zadań i aplikacji. Istnieje również legenda w YARN, która podobnie jak w HDFS pozwala śledzić wszystkie przydzielone zasoby i operacje. Sam YARN jest podzielony na trzy podsekcje: Resource Manager, Application Master i Node Manager.
Każda z tych trzech podsekcji tworzy nową instancję siebie dla każdego klastra, aplikacji i węzła odpowiednio. Nie tylko możesz przydzielić zasoby do różnych zadań za pomocą YARN, ale także możesz zaplanować zmianę tych zasobów w czasie, aby opracować zaawansowane przepływy pracy algorytmiczne. YARN nie ogranicza się do swojej podsekcji. Będzie wiele instancji, w których będziesz używać YARN w połączeniu z innymi warstwami architektonicznymi, takimi jak HDFS i Zookeeper, aby przydzielić zasoby i ocenić całość operacji.
Hadoop MapReduce
Hadoop MapReduce to kolejny główny komponent ekosystemu Hadoop. Po zainstalowaniu Hadoop na Ubuntu możesz użyć tej funkcji do efektywnej analizy ogromnej ilości danych w rozproszony sposób przez kilka komputerów. W istocie Hadoop MapReduce działa w następujący sposób: wprowadzasz dużą mapę danych do programu. Ta mapa danych zostanie wymieniana, rozdzielana i rozpowszechniana na wszystkich komputerach sieciowych. Następnie, korzystając z określonych protokołów znanych jako reducers, dane są redukowane do ich najistotniejszych elementów. Każda z tych operacji jest znana jako zadanie.
Załóżmy, że masz trzysłowne zdanie, które pełni rolę mapy danych, którą chcesz analizować za pomocą MapReduce. Powiedzmy, że zdanie to "Bear Hunt Rabbit". Hadoop MapReduce podzieli i zredukuje to zdanie na trzy różne partie, każda z jednym słowem, następnie użyje tych słów i utworzy nowe kombinacje z podobnym wejściem danych z innych zadań, aby utworzyć ostateczną jednorodną porcję danych z usuniętymi zbędnymi danymi, którą można łatwo analizować.
Zookeeper
Zookeeper to kolejna podsekcja ekosystemu Hadoop, która zyskała na znaczeniu i powszechnym użyciu wraz z wydaniem Hadoop w wersji 2.0. Głównym punktem usług Zookeeper jest koordynacja między różnymi operacjami, które uruchamiasz jako część jednej instancji Hadoop. W związku z tym Zookeeper prawie zawsze jest używany w połączeniu z Resource Manager YARN i różnymi funkcjami HDFS w Hadoop. Głównym zastosowaniem Zookeeper w tych operacjach jest wykrycie i naprawa potencjalnych punktów awarii. Aby to zrobić, używa dwóch różnych narzędzi: ZKFiloverController i Zookeeper Quorum.
W tych procedurach węzły danych zarządzane przez inne komponenty architektury Hadoop są kategoryzowane jako aktywne węzły nazw, nadzorowane przez użytkownika. Następnie każdy z tych węzłów nazw przechodzi gruntowne przeanalizowanie w ramach dwóch wymienionych powyżej podsekcji Zookeeper. Robi się to, aby zidentyfikować obszary trudności i potencjalne awarie.
Instalacja Hadoop na Ubuntu 20.04. Przewodnik krok po kroku
I wreszcie, po zapoznaniu się z architekturą Hadoop, czas przejść do głównego punktu tego artykułu, czyli sposobu instalacji Hadoop na Ubuntu 20.04 jako ostatniej części tego tutoriala Hadoop. Zanim przejdziemy do przewodnika krok po kroku instalacji Hadoop na Ubuntu 20.04, omówmy wymagania wstępne. Pamiętaj, że ten przewodnik można również użyć dla Ubuntu 18.04.
Wymagania wstępne
Wymagania wstępne do instalacji Hadoop na Ubuntu są proste. Potrzebujesz komputera z Ubuntu, dostępu root-a (lokalnie lub zdalnie przez VPS) oraz zainstalowanych Java 11 i SSH. Jeśli ich nie masz, uruchom po kolei następujące komendy:
sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y
Licencja nie będzie potrzebna, bo Hadoop jest darmowy i open-source. To wszystko. Przejdzmy do kroku pierwszego.
Krok 1: Stwórz użytkownika innego niż root dla Hadoopa
Utwórz użytkownika bez uprawnień root-a dla Hadoop, używając tej komendy. To część konfiguracji wstępnej przed pobraniem i instalacją Hadoop:
sudo adduser hdoop
su - hdoop
Krok 2: Skonfiguruj klucze SSH
Aby zainstalować Hadoop na Ubuntu, użyjemy właśnie stworzonego użytkownika Hadoop i nawiążemy z nim połączenie SSH. Uruchom tę komendę, aby wygenerować parę kluczy SSH i ją zapisać:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
Po wygenerowaniu kluczy następna linia pozwoli Ci je oznaczyć jako authorized_keys i zapisać w katalogu SSH:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Teraz użyj tej komendy, aby upewnić się, że połączenie SSH ma wszystkie wymagane uprawnienia:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
Potwierdź zmiany i będziesz mógł bez problemu łączyć się z localhost w każdej chwili tym użytkownikiem:
ssh localhost
Krok 3: Pobierz i zainstaluj Hadoop na Ubuntu
Możesz odwiedzić stronę Hadoop Apache aby zobaczyć listę wersji ze zmianami. Wybierz interesującą Cię wersję, a otrzymasz link do użycia w następującej komendzie do pobrania i instalacji Hadoop na Ubuntu. Tu wybieram wersję 3.3.6. Zastąp '3.3.6' najnowszą stabilną wersją, jeśli to konieczne:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
Po pobraniu użyj tej linii, aby zakończyć ekstrakcję i instalację:
tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop
Krok 4: Skonfiguruj środowisko Hadoopa
Ustaw JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:
echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh
Krok 5: Edytuj pliki konfiguracyjne
Zaktualizuj pliki konfiguracyjne XML Hadoop-a ustawieniami klastra.
nano /usr/local/hadoop/etc/hadoop/core-site.xml
Krok 6: Sformatuj HDFS
Zainicjuj przestrzeń nazw systemu plików Hadoop.
/usr/local/hadoop/bin/hdfs namenode -format
Krok 7: Uruchom usługi Hadoopa
Uruchom usługi HDFS i YARN.
/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh
Krok 8: Weryfikuj instalację
Sprawdź procesy Java, aby potwierdzić, że Hadoop działa.
jps
Krok 9: Uzyskaj dostęp do interfejsów webowych
Otwórz przeglądarki internetowe, aby uzyskać dostęp do interfejsów NameNode i ResourceManager Hadoop-a.
NameNode: http://localhost:9870
ResourceManager: http://localhost:8088
Krok 10: Uruchom przykład MapReduce
Uruchom przykładowe zadanie MapReduce, aby sprawdzić konfigurację.
/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*
Krok 11: Ustaw zmienne środowiskowe
Dodaj Hadoop'a bin i sbin katalogi do zmiennej PATH systemu.
echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc
I gotowe! Pomyślnie skonfigurowałeś i zainstalowałeś Apache Hadoop na Ubuntu 20.04!
Wnioski
Podsumowując, instalacja Hadoop-a na Ubuntu 20.04 to dokładny proces wymagający uwagi na szczegóły i chęci do zrozumienia całej konfiguracji. Postępując zgodnie z krokami z tego przewodnika, użytkownicy Ubuntu mogą w pełni wykorzystać możliwości Hadoop-a w swoich projektach analityki danych.
Jeśli chcesz się uczyć i eksperymentować z Hadoop, rekomendujemy wdrożenie go jako single-node z ograniczoną dystrybucją. Do tego celu idealnie sprawdzi się VPS. Cloudzy oferuje szeroki wybór Linux VPS usługi w tym niezawodne i stabilne Ubuntu VPS które można skonfigurować w kilka minut, aby stworzyć doskonałe środowisko do nauki Hadoop. Zaczynając od 4,95 $ miesięcznie, możesz mieć własny serwer Ubuntu VPS z ponad 12 lokalizacjami i wsparciem dostępnym 24/7!
Oczywisty wybór
Większość serwerów z Linux działa na Ubuntu. Dlaczego nie twój? Przekonaj się, za co wszyscy cenią Ubuntu, i zamów zoptymalizowany Ubuntu VPS.
Zamów swój Ubuntu VPSCzęsto zadawane pytania
Jakie są różnice między HDFS a MapReduce?
Choć oba moduły działają w ekosystemie Hadoop, służą innym celom. HDFS pełni funkcję rozproszonego systemu plików, ułatwiając dostęp do danych. MapReduce natomiast doskonale radzi sobie z dzieleniem i efektywną analizą dużych zbiorów danych.
Czy Hadoop jest uważany za bazę danych?
Hadoop nie jest bazą danych, choć to nieporozumienie jest powszechne. Działa raczej jako rozproszony system plików, umożliwiający przechowywanie i przetwarzanie ogromnych ilości danych przy użyciu sieci połączonych komputerów. Nie powinien być używany jako bezpośrednia zamiana dla tradycyjnego systemu bazy danych.
Jakie są cztery główne komponenty Hadoop?
Hadoop składa się z czterech podstawowych komponentów: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce i Hadoop Common. Dodatkowo niektóre źródła uważają ZooKeeper za komponent, choć oficjalnie nie jest on tam uznawany.
Gdzie Hadoop jest zwykle wykorzystywany?
Hadoop znajduje zastosowanie w różnych branżach, gdzie konieczne jest zarządzanie, przechowywanie, przetwarzanie i analiza danych na dużą skalę. Wspomaga operacje zarówno średnich przedsiębiorstw i szpitali, jak i rozwijających się startupów, dostarczając rozwiązania oparte na danych.