Database
 sql >> Baza danych >  >> RDS >> Database

Wprowadzenie do HDFS | Co to jest HDFS i jak to działa?

Podstawowa technika przechowywania plików w pamięci polega na systemie plików używanym przez środowisko operacyjne. W przeciwieństwie do zwykłych systemów plików Hadoop używa innego systemu plików, który obsługuje duże zestawy danych w sieci rozproszonej. Nazywa się rozproszony system plików Hadoop (HDFS) . Ten artykuł przedstawia pomysł, wraz z powiązanymi informacjami na początek.

Co to jest system plików?

system plików zazwyczaj jest metodą i strukturą danych używaną przez system operacyjny do zarządzania plikami na dysku lub partycji. Z perspektywy dysku magnetycznego każde dane to ładunek przechowywany w sektorach na ścieżkach. Pomyśl o ścieżkach jako spiralnych rzędach i sektorach jako maleńkich komórkach na spiralnych ścieżkach. Teraz, jeśli poprosimy dysk o zlokalizowanie niektórych danych, w najlepszym razie może on przekierować swoją głowę do niektórych sektorów w sekwencji spiralnej. Te surowe dane nie mają znaczenia, chyba że pojawia się system operacyjny; odpowiada za oddzielanie informacji od zbioru sektorów, które mają być rozpoznawane jako plik. System operacyjny organizuje informacje w strukturę danych księgowych zwaną systemem plików. Ta struktura definiuje wzorzec księgowy. Istnieje jednak pewna różnica techniczna w sposobie zarządzania tą strukturą przez systemy operacyjne. Na przykład Windows używa modelu FAT32, NTFS, Linux używa EXT2, EXT3 i tak dalej. Ale podstawową ideą jest to, że wszystkie organizują dane zgodnie z określoną strukturą.

Organizacja systemu plików jest przede wszystkim odpowiedzialna za zarządzanie tworzeniem, modyfikacją i usuwaniem plików (katalogi są również plikami), partycjami dysku, rozmiarami plików itd. i działają one bezpośrednio na surowych sektorach dysku lub partycji.

Pliki w systemie rozproszonym

Cechy systemu rozproszonego różnią się w tym sensie, że pamięć masowa jest rozrzucona na wiele maszyn w sieci. Pojedyncze repozytorium nie może zawierać tak dużej ilości danych. Jeśli pojedyncza maszyna ma ograniczoną pojemność pamięci i moc przetwarzania, ale gdy zadanie przetwarzania i pamięć są rozdzielone między maszyny w sieci, moc i wydajność stają się wielorakie. To nie tylko otwiera możliwości dużej mocy obliczeniowej, ale także wykorzystuje istniejącą infrastrukturę. Dzięki temu koszty są minimalizowane, a wydajność wzrasta. Każda maszyna w sieci staje się potencjalnym wołem roboczym, który przechowuje ograniczone dane, będąc jednocześnie częścią nieograniczonego magazynu i dużej mocy obliczeniowej. Kompromisem jest złożoność. Jeśli można to wykorzystać za pomocą innowacyjnych technik, system rozproszony doskonale radzi sobie z problemami big data. System plików HDFS ma to osiągnąć. W rzeczywistości poza HDFS istnieje wiele innych podobnych rozproszonych systemów plików, takich jak IBM GPFS (General Parallel File System), Ceph (link do Wikipedii:lista rozproszonych systemów plików) i tym podobne. Wszyscy starają się rozwiązać ten problem z różnych kierunków z różnymi wskaźnikami powodzenia.

Omówienie HDFS

Normalny system plików został zaprojektowany do pracy na jednej maszynie lub w jednym środowisku operacyjnym. Zestawy danych w usłudze Hadoop wymagają więcej miejsca na przechowywanie danych, które może zapewnić pojedyncza maszyna fizyczna. Dlatego konieczne staje się partycjonowanie danych na wielu komputerach. Wymaga to specjalnego procesu do zarządzania plikami w sieci rozproszonej. HDFS to system plików, który rozwiązuje ten problem. Ten system plików jest bardziej złożony niż zwykły system plików, ponieważ musi radzić sobie z programowaniem sieciowym, fragmentacją, odpornością na błędy, zgodnością z lokalnym systemem plików i tak dalej. Umożliwia Hadoop uruchamianie aplikacji Big Data na wielu serwerach. Charakteryzuje się wysoką odpornością na błędy i wysoką przepustowością danych na tanim sprzęcie. Cel systemu plików HDFS jest następujący:

  • Aby radzić sobie z bardzo dużymi plikami
  • Dostęp do danych strumieniowych do systemu plików musi wykorzystywać wzorzec jednokrotnego zapisu i wielokrotnego odczytu.
  • Uruchom na niedrogim, standardowym sprzęcie
  • Musi wykorzystywać dostęp do danych o niskim opóźnieniu.
  • Obsługa ogromnej liczby plików
  • Obsługa wielu programów piszących pliki z dowolną modyfikacją plików

Podstawy HDFS

Najmniejsza ilość danych odczytywanych i zapisywanych na dysku ma coś, co nazywa się rozmiarem bloku . Zazwyczaj rozmiar tego bloku wynosi 512 bajtów, a bloki systemu plików to kilka kilobajtów. HDFS działa na tej samej zasadzie, ale rozmiar bloku jest znacznie większy. Większy rozmiar bloku wykorzystuje wyszukiwanie, minimalizując wyszukiwania, a tym samym koszt. Te bloki są rozmieszczone w czymś, co nazywa się klastrami , które są niczym innym jak blokami i kopiami bloków na różnych serwerach w sieci. Poszczególne pliki są replikowane na serwerach w klastrze.

W klastrze działają dwa typy węzłów w układzie master-slave. Węzeł główny nazywa się namenodes a węzeł roboczy nazywa się węzły danych . To właśnie za pośrednictwem tych węzłów HDFS utrzymuje drzewo systemowe plików (i katalogów) oraz metadane. W rzeczywistości plik jest dzielony na bloki i przechowywany w podzbiorze węzłów danych rozprzestrzenić się w całym klastrze. węzeł danych odpowiada za żądania odczytu, zapisu, tworzenia bloków, usuwania i replikacji w systemie plików.

nazwy , z drugiej strony, to serwery, które monitorują dostęp do systemu plików i przechowują pliki danych w HDFS. Mapują bloki do węzła danych i obsługują żądania otwierania, zamykania i zmiany nazwy pliku/katalogu.

Węzły danych są podstawową częścią systemu plików i wykonują zadanie przechowywania i pobierania żądań blokowych od klienta. Nazwa węzła jest opiekunem, dla którego datanodes raport. Oznacza to, że jeśli namenody zostaną usunięte, informacje o plikach zostaną utracone. Dlatego Hadoop upewnia się, że węzeł nazwy jest wystarczająco odporny, aby wytrzymać wszelkiego rodzaju awarie. Jedną z technik zapewniających to jest utworzenie kopii zapasowej w dodatkowym węźle nazwanym okresowo scalając obraz przestrzeni nazw z dziennikiem edycji. Drugi węzeł nazwy zwykle znajduje się na osobnej maszynie, aby przejąć rolę głównego namenode w przypadku poważnej awarii.

Istnieje wiele sposobów interakcji z systemem plików HDFS, ale interfejs wiersza poleceń jest prawdopodobnie najprostszym i najbardziej powszechnym. Hadoop można zainstalować na jednej maszynie i uruchomić, aby zasmakować go z pierwszej ręki. omówimy to w kolejnych artykułach, więc bądź na bieżąco.

Operacje systemu plików

Operacje na systemie plików HDFS są dość podobne do normalnych operacji na systemie plików. Oto kilka list, które mają tylko dać pomysł.

Kopiuje pliki z lokalnego systemu plików do HDFS:

% hadoop fs -copyFromLocal docs/sales.txt hdfs://localhost/
   user/mano/sales.txt

Tworzy katalog w HDFS:

% hadoop fs -mkdir students

Wyświetla listę plików i katalogów w bieżącym katalogu roboczym w HDFS:

% hadoop fs -ls .

Wniosek

HDFS to implementacja tego, co robi system plików reprezentowany przez abstrakcję Hadoopa. Hadoop jest napisany w Javie; w związku z tym wszystkie interakcje z systemem plików są przeplatane przez Java API. Interfejs wiersza poleceń jest powłoką zapewniającą typowe interakcje. Badanie HDFS otwiera inny horyzont dla sektora architektury rozproszonej i jej skomplikowanych procedur działania. Wiele pracy jest włożonej w udoskonalenie tego modelu komputerowego, którego impulsem niewątpliwie były w ostatnich latach Big Data.

Odniesienie

Dokumentacja architektury HDFS


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Twój kompletny przewodnik po SQL Join:CROSS JOIN – część 3

  2. Sterowniki Easysoft ODBC i biblioteka ODBCINST

  3. Czasami MOŻNA rozbudować kolumnę na miejscu

  4. Przywracanie kopii zapasowej bazy danych w OpenCart 1.5

  5. Sprawdź ograniczenie w SQL