MapR FS - MapR FS
| Utvikler (r) | MapR |
|---|---|
| Fullt navn | MapR FS |
| Introdusert | 2011 med Linux |
| Strukturer | |
| Kataloginnhold | B-treet |
| Filallokering | Flernivå B-tre |
| Grenser | |
| Maks. volumstørrelse | ubegrenset |
| Maks. filstørrelse | 16 EiB |
| Maks. antall filer | ubegrenset |
| Funksjoner | |
| Tillatelser til filsystemer | Standard Unix, tilgangskontrolluttrykk |
| Gjennomsiktig kompresjon | Ja |
| Gjennomsiktig kryptering | Ja |
| Annen | |
| Støttede operativsystemer | Linux |
Den MapR File System ( MapR FS ) er et klynge filsystem som støtter både meget store og høy ytelse anvendelser. MapR FS støtter en rekke grensesnitt, inkludert konvensjonell lese / skrive-filtilgang via NFS og et FUSE-grensesnitt, samt via HDFS-grensesnittet som brukes av mange systemer som Apache Hadoop og Apache Spark . I tillegg til filorientert tilgang, støtter MapR FS tilgang til tabeller og meldingsstrømmer ved hjelp av Apache HBase og Apache Kafka APIer, samt via et dokumentdatabasegrensesnitt.
MapR FS ble først utgitt i 2010, og er nå vanligvis beskrevet som MapR Converged Data Platform på grunn av tillegg av tabell- og meldingsgrensesnitt. Den samme kjerneteknologien brukes imidlertid til å implementere alle disse formene for vedvarende datalagring, og alle grensesnittene støttes til slutt av de samme serverprosessene. For å skille mellom de forskjellige funksjonene til den generelle dataplattformen, brukes begrepet MapR FS mer spesifikt for å referere til de filorienterte grensesnittene, MapR DB eller MapR JSON DB brukes til å referere til tabellgrensesnittene, og MapR Streams brukes til å beskrive funksjoner for streaming av meldinger.
MapR FS er et klyngefilsystem ved at det gir jevn tilgang til / til filer og andre objekter som tabeller ved hjelp av et universelt navneområde som er tilgjengelig fra enhver klient i systemet. Tilgangskontroll er også gitt for filer, tabeller og strømmer som bruker tilgangskontrolluttrykk , som er en utvidelse av den mer vanlige (og begrensede) tilgangskontrollisten for å tillate tillatelser å være sammensatt ikke bare av lister over tillatte brukere eller grupper, men i stedet for å tillat boolske kombinasjoner av bruker-ID og grupper.
Historie
MapR FS ble utviklet fra 2009 av MapR Technologies for å utvide funksjonene til Apache Hadoop ved å tilby en mer effektiv og stabil plattform. Designet av MapR FS er påvirket av forskjellige andre systemer, for eksempel Andrew File System (AFS). Konseptet med volumer i AFS har en viss sterk likhet fra brukernes synspunkt, selv om implementeringen i MapR FS er en helt annen. En stor forskjell mellom AFS og MapR FS er at sistnevnte bruker en sterk konsistensmodell mens AFS bare gir svak konsistens.
For å oppfylle de opprinnelige målene med å støtte Hadoop-programmer, støtter MapR FS HDFS API ved å oversette HDFS-funksjonssamtaler til et internt API basert på en tilpasset ekstern mekanisme (RPC). Den vanlige skriv-en-gang-modellen av HDFS erstattes i MapR FS med et fullstendig foranderlig filsystem, selv når du bruker HDFS API. Evnen til å støtte filmutasjon tillater implementering av en NFS-server som oversetter NFS-operasjoner til interne MapR RPC-anrop. Lignende mekanismer brukes for å tillate et FUSE-grensesnitt for Filesystem in Userspace og en omtrentlig emulering av Apache HBase API.
Arkitektur
Filer i MapR FS implementeres internt ved å dele filinnholdet i biter , vanligvis hver 256 MB i størrelse, selv om størrelsen er spesifikk for hver fil. Hver del blir skrevet til containere som er replikasjonselementet i klyngen. Beholdere replikeres og replikasjonen gjøres ved enten lineær måte der hver replika videresender skriveoperasjoner til neste replika i linje eller på en stjernemote der masterreplikatene videresender skriveoperasjoner til alle andre kopier samtidig. Skriftene blir anerkjent av hovedreplika når alle skriver til alle kopier er fullført. Internt implementerer containere B-trær som brukes på flere nivåer, for eksempel til å kartlegge filforskyvning til del i en fil eller til å kartlegge filforskyvning til riktig 8 kB-blokk i en del.
Disse B-trærne brukes også til å implementere kataloger. En lang hash av hvert fil- eller katalognavn i katalogen brukes til å finne underfilen eller katalogtabellen.
Et volum er en spesiell datastruktur som ligner på en katalog på mange måter, bortsett fra at det tillater ytterligere tilgangskontroll og administrasjonsoperasjoner. En bemerkelsesverdig evne til volumer er at nodene som et volum kan ligge i en klynge kan være begrenset til å kontrollere ytelse, spesielt i sterkt omstridte multi-tenant-systemer som kjører en rekke arbeidsbelastninger.
Proprietær teknologi brukes i MapR FS for å implementere transaksjoner i containere og for å oppnå konsekvent kollisjonsgjenoppretting.
Andre funksjoner i filsystemet inkluderer
- Distribuerte klyngemetadata, inkludert plasseringen av alle containere og deres ordning i replikeringskjeder.
- Distribuerte metadata, inkludert katalogtreet. Alle kataloger er fullstendig replikert og ingen enkelt node inneholder alle metadataene for klyngen.
- Effektiv bruk av B-trær for å oppnå høy ytelse selv med veldig store kataloger.
- Partisjonstoleranse. En klynge kan partisjoneres uten tap av konsistens, selv om tilgjengeligheten kan bli kompromittert. Begrenset konsistensreplikasjon på tvers av flere klynger støttes også ved hjelp av volumsspeil og nær sanntidsreplisering av tabeller og strømmer.
- Konsekvent oppdatering med flere tråder. Filer kan oppdateres eller leses av veldig mange kontrolltråder samtidig uten at det kreves globale låsestrukturer.
- Rullende oppgraderinger og online vedlikehold av filsystem. Nesten alt vedlikehold, inkludert store versjonsoppgraderinger, kan utføres mens klyngen fortsetter å fungere med nesten full hastighet.
Se også
- GFS2
- Glans
- Googles filsystem
- Liste over filsystemer
- Luster (filsystem)
- ElgFS
- OCFS2
- QFS
- RozoFS
- Delt filfilsystem
- ZFS