MapR FS
Deweloperzy | MapaR |
---|---|
Pełne imię i nazwisko | MapR FS |
wprowadzony | 2011 z Linuksem |
Struktury | |
Zawartość katalogu | drzewo B |
Alokacja plików | Wielopoziomowe B-drzewo |
Granice | |
Maks. rozmiar woluminu | Nieograniczony |
Maks. rozmiar pliku | 16 EiB |
Maks. liczba plików | Nieograniczony |
Cechy | |
Uprawnienia systemu plików | Standardowe Unix, wyrażenia kontroli dostępu |
Przezroczysta kompresja | Tak |
Przejrzyste szyfrowanie | Tak |
Inny | |
Obsługiwane systemy operacyjne | Linuks |
System plików MapR ( MapR FS ) to klastrowy system plików , który obsługuje zarówno zastosowania na bardzo dużą skalę, jak i zastosowania o wysokiej wydajności. MapR FS obsługuje różne interfejsy, w tym konwencjonalny dostęp do odczytu/zapisu plików przez NFS i interfejs FUSE, a także przez interfejs HDFS używany przez wiele systemów, takich jak Apache Hadoop i Apache Spark . Oprócz dostępu zorientowanego na pliki, MapR FS obsługuje dostęp do tabel i strumieni komunikatów za pomocą Apache HBase i Apache Kafka , a także za pośrednictwem interfejsu bazy danych dokumentów.
Wydany po raz pierwszy w 2010 roku, MapR FS jest obecnie zwykle opisywany jako MapR Converged Data Platform ze względu na dodanie interfejsów tabelarycznych i komunikatów. Ta sama podstawowa technologia jest jednak używana do implementacji wszystkich tych form trwałego przechowywania danych, a wszystkie interfejsy są ostatecznie obsługiwane przez te same procesy serwera. Aby rozróżnić różne możliwości całej platformy danych, termin MapR FS jest używany bardziej szczegółowo w odniesieniu do interfejsów zorientowanych na pliki, MapR DB lub MapR JSON DB jest używany w odniesieniu do interfejsów tabelarycznych, a Strumienie MapR są używane do opisania możliwości przesyłania strumieniowego wiadomości.
MapR FS to klastrowy system plików, który zapewnia jednolity dostęp z/do plików i innych obiektów, takich jak tabele, przy użyciu uniwersalnej przestrzeni nazw dostępnej z dowolnego klienta systemu. Kontrola dostępu jest również zapewniana dla plików, tabel i strumieni przy użyciu wyrażeń kontroli dostępu , które są rozszerzeniem bardziej powszechnej (i ograniczonej) listy kontroli dostępu , aby umożliwić składanie uprawnień nie tylko z list dozwolonych użytkowników lub grup, ale zamiast tego zezwalaj na logiczne kombinacje identyfikatora użytkownika i grup.
Historia
MapR FS został opracowany w 2009 roku przez MapR Technologies w celu rozszerzenia możliwości Apache Hadoop poprzez zapewnienie bardziej wydajnej i stabilnej platformy. Na projekt MapR FS mają wpływ różne inne systemy, takie jak Andrew File System (AFS). Koncepcja woluminów w AFS ma pewne silne podobieństwo z punktu widzenia użytkowników, chociaż implementacja w MapR FS jest zupełnie inna. Jedną z głównych różnic między AFS i MapR FS jest to, że ten ostatni wykorzystuje model silnej spójności, podczas gdy AFS zapewnia tylko słabą spójność.
Aby spełnić pierwotne cele obsługi programów Hadoop, MapR FS obsługuje interfejs API HDFS, tłumacząc wywołania funkcji HDFS na wewnętrzny interfejs API oparty na niestandardowym mechanizmie zdalnego wywołania procedury (RPC). Zwykły model HDFS z jednokrotnym zapisem jest zastępowany w MapR FS przez w pełni zmienny system plików, nawet podczas korzystania z API HDFS. Możliwość obsługi mutacji plików pozwala na implementację serwera NFS, który tłumaczy operacje NFS na wewnętrzne wywołania MapR RPC. Podobne mechanizmy są używane, aby umożliwić Filesystem in Userspace (FUSE) i przybliżoną emulację API Apache HBase .
Architektura
Pliki w MapR FS są implementowane wewnętrznie poprzez podzielenie zawartości pliku na części , zwykle o rozmiarze 256 MB, chociaż rozmiar jest specyficzny dla każdego pliku. Każdy fragment jest zapisywany w kontenerach które są elementem replikacji w klastrze. Kontenery są replikowane, a replikacja odbywa się w sposób liniowy, w którym każda replika przekazuje operacje zapisu do następnej repliki w kolejce lub w sposób gwiaździsty, w którym replika główna przekazuje operacje zapisu do wszystkich innych replik w tym samym czasie. Zapisy są potwierdzane przez replikę główną po zakończeniu wszystkich zapisów we wszystkich replikach. Wewnętrznie kontenery implementują B-drzewa , które są używane na wielu poziomach, takich jak mapowanie przesunięcia pliku na fragment w pliku lub mapowanie przesunięcia pliku na prawidłowy blok 8kB w fragmencie.
Te B-drzewa są również używane do implementacji katalogów. Długi skrót każdej nazwy pliku lub katalogu w katalogu służy do znalezienia podrzędnej tabeli plików lub katalogów.
Wolumen to specjalna struktura danych podobna do katalogu pod wieloma względami, z tą różnicą, że umożliwia dodatkowe operacje kontroli dostępu i zarządzania. Godną uwagi funkcją woluminów jest to, że węzły, na których może znajdować się wolumin w klastrze, mogą być ograniczone w celu kontrolowania wydajności, szczególnie w mocno rywalizujących systemach z wieloma dzierżawcami, które obsługują różnorodne obciążenia.
Zastrzeżona technologia jest używana w MapR FS do implementacji transakcji w kontenerach i uzyskania spójnego odtwarzania po awarii.
Inne funkcje systemu plików obejmują:
- Rozproszone metadane klastra, w tym lokalizacja wszystkich kontenerów i ich rozmieszczenie w łańcuchach replikacji.
- Rozproszone metadane, w tym drzewo katalogów. Wszystkie katalogi są w pełni replikowane i żaden pojedynczy węzeł nie zawiera wszystkich metadanych klastra.
- Efektywne wykorzystanie B-drzew w celu osiągnięcia wysokiej wydajności nawet przy bardzo dużych katalogach.
- Tolerancja partycji. Klaster można podzielić na partycje bez utraty spójności, chociaż dostępność może być zagrożona. Replikacja o ograniczonej spójności w wielu klastrach jest również obsługiwana przy użyciu kopii lustrzanych woluminów oraz replikacji tabel i strumieni w czasie zbliżonym do rzeczywistego.
- Spójna aktualizacja wielowątkowa. Pliki mogą być aktualizowane lub odczytywane jednocześnie przez bardzo wiele wątków kontroli bez konieczności stosowania globalnych struktur blokujących.
- Ciągłe aktualizacje i konserwacja systemu plików online. Niemal wszystkie prace konserwacyjne, w tym aktualizacje głównych wersji, można wykonać, gdy klaster nadal działa z prawie pełną prędkością.
Zobacz też
- GFS2
- Gluster
- System plików Google
- Lista systemów plików
- Połysk (system plików)
- Łoś FS
- OCFS2
- QFS
- RozoFS
- System plików na dysku współdzielonym
- ZFS