Co to jest HDFS? (System plików Rozproszony Hadoop)
Summary: Wyjaśnienie, czym jest HDFS (Hadoop Distributed File System). W tym artykule opisano również sposób korzystania z HDFS i przedstawiono przykład.
Instructions
Co to jest HDFS? (System plików Rozproszony Hadoop)
Fakty
Odpowiedź na rozproszony system
plików Hadoop
Informacje o systemie plików Hadoop Distributed File System (HDFS)
Aby dowiedzieć się, w jaki sposób można skalować klaster Hadoop® do setek (a nawet tysięcy) węzłów, należy zacząć od rozproszonego systemu plików Hadoop (HDFS). Dane w klastrze Hadoop
są podzielone na mniejsze elementy (zwane blokami) i rozproszone w całym klastrze. Dzięki temu mapowanie i ograniczanie funkcji można wykonywać na mniejszych podzbiorach większych zestawów danych, co zapewnia skalowalność niezbędną do przetwarzania dużych zbiorów danych.
Jaki jest cel?
Celem rozwiązania Hadoop jest korzystanie z powszechnie dostępnych serwerów w bardzo dużym klastrze, w którym każdy serwer ma zestaw niedrogich wewnętrznych dysków twardych. W celu uzyskania wyższej wydajności program MapReduce
próbuje przypisać obciążenia robocze do tych serwerów, na których przechowywane są dane do przetworzenia. Jest to znane jako lokalność danych. (Ze względu na tę zasadę nie zaleca się korzystania z sieci san lub sieciowej pamięci masowej (NAS) w środowisku Hadoop. W przypadku wdrożeń Hadoop przy użyciu sieci SAN lub NAS dodatkowe obciążenie komunikacji sieciowej może spowodować wąskie gardła wydajności, zwłaszcza w przypadku większych klastrów). Poświęć chwilę i pomyśl o klastrze 1000 maszyn, w którym każdy komputer ma trzy wewnętrzne dyski; następnie należy wziąć pod uwagę stopień awarii klastra składającego się z 3000 niedrogich dysków + 1000 niedrogich serwerów!
Prawdopodobnie znajdujemy się już na tej samej stronie: Element oznacza, że czas do awarii (MTTF), którego doświadczysz w klastrze Hadoop, jest prawdopodobnie analogiczny do zamka błyskawicznego w klastrze swojego dzieci: awaria (i wystarczająco terminowo, zippers wydaje się kończyć się niepowodzeniem tylko wtedy, gdy ich potrzebujesz). Chłodne w Hadoop jest to, że rzeczywistość współczynników MTTF związanych z niedrogim sprzętem jest dobrze znana (jeśli chcesz), a częścią siły Hadoop jest wbudowana odporność na awarie i możliwości kompensacji awarii. Jest tak samo w przypadku HDFS, ponieważ dane są podzielone na bloki, a kopie tych bloków są przechowywane na innych serwerach w klastrze Hadoop. Oznacza to, że pojedynczy plik jest przechowywany jako mniejsze bloki replikowane na wielu serwerach w całym klastrze.
Przykład HDFS
Pomyśl o pliku zawierającym numery telefonów dla wszystkich w Stanach Zjednoczonych; osoby z nazwiskom zaczynającym się od A mogą być przechowywane na serwerze 1, B na serwerze 2 itd. W świecie Hadop fragmenty tego książki telefonicznej będą przechowywane w klastrze, a aby odtworzyć cały podręcznik telefoniczny, program będzie potrzebował bloków z każdego serwera w klastrze. Aby osiągnąć dostępność w przypadku awarii komponentów, HDFS domyślnie replikuje te mniejsze elementy na dwóch dodatkowych serwerach. (Nadmiarowość ta może być zwiększana lub zmniejszana w zależności od pliku lub dla całego środowiska; na przykład klaster Deweloper Hadoop zazwyczaj nie potrzebuje nadmiarowości danych). Ta nadmiarowość zapewnia wiele korzyści, a najbardziej oczywistą jest wyższa dostępność.
Ponadto ta nadmiarowość umożliwia klastrowi Hadoop podział pracy na mniejsze fragmenty i uruchamianie tych zadań na wszystkich serwerach w klastrze w celu lepszej skalowalności. Na koniec zyskasz zalety lokalizacji danych, która ma kluczowe znaczenie podczas pracy z dużymi zestawami danych. Poniżej opisano te ważne korzyści w dalszej części tego rozdziału.