50% zniżki wszystkie plany, oferta czasowa. Od $2.48/mo
13 minut pozostało
Bazy danych i analityka

Jak zainstalować Hadoop na Ubuntu: kompletny przewodnik

Pius Bodenmann By Pius Bodenmann Czytanie w 13 minut Zaktualizowano 1 maja 2024
jak zainstalować hadoop na ubuntu linux

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.

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!

ubuntu-vps 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 VPS

Czę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.

Udostępnij

Więcej z bloga

Czytaj dalej.

Oryginalny symbol MongoDB na tle futurystycznego serwera do instalacji MongoDB na Ubuntu + tagline o zawartości artykułu + tytuł artykułu + logo marki Cloudzy
Bazy danych i analityka

Jak zainstalować MongoDB na trzech najnowszych wersjach Ubuntu (krok po kroku)

Zdecydowałeś się użyć MongoDB, świetnej alternatywy dla MariaDB do budowania aplikacji w stosie MERN, platform analitycznych lub innych systemów opartych na dokumentach, ale nie możesz znaleźć dobrego

Jim SchwarzJim Schwarz 12 minut czytania
Inteligentne zarządzanie danymi w firmie: strategie przechowywania i tworzenia kopii zapasowych w stylu chmurowym z VPS
Bazy danych i analityka

Inteligentne zarządzanie danymi w firmie: strategie przechowywania i tworzenia kopii zapasowych w stylu chmurowym z VPS

VPS do bezpiecznego zarządzania danymi firmowymi to strategia, którą polecam zawsze, gdy firma decyduje się przestać żonglować plikami między laptopami, załącznikami e-mail i zapomnianymi

Rexa CyrusRexa Cyrus 7 minut czytania
Zmaterializowany widok a widok
Bazy danych i analityka

Zmaterializowany widok a widok: rola obu rozwiązań w bazach danych

W systemach bazodanowych zmaterializowany widok to obiekt bazy danych, który przechowuje wstępnie obliczone wyniki zapytania jako fizyczną tabelę. Ponieważ dane są faktycznie zapisane na dysku, złożone

Ivy JohnsonIvy Johnson 7 minut czytania

Gotowy do wdrożenia? Od 2,48 USD/miesiąc.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.