Video: Styring af synkronisering af filer fra OneDrive tech til pc 2017 2025
HDFS er en af de to hovedkomponenter i Hadoop-rammen; den anden er det beregningsmæssige paradigme, der er kendt som MapReduce. Et distribueret filsystem er et filsystem, som styrer lagring på tværs af en netværksklynge af maskiner.
HDFS gemmer data i blokke , enheder, hvis standardstørrelse er 64 MB. Filer, som du vil have gemt i HDFS, skal opdeles i blokstørrelsesbiter, som derefter gemmes uafhængigt i hele klyngen. Du kan bruge kommandoen fsck line til at liste de blokke, der udgør hver fil i HDFS, som følger:
% hadoop fsck / -files -blocks
Da Hadoop er skrevet i Java, administreres alle interaktioner med HDFS via Java API. Husk dog, at du ikke behøver at være en Java-guru til at arbejde med filer i HDFS. Flere Hadoop-grænseflader bygget oven på Java-API'et er nu i almindelig brug (og skjul Java), men den enkleste er kommandolinjegrænsefladen; brug kommandolinjen til at interagere med HDFS i de givne eksempler.
Du får adgang til Hadoop filsystem shell ved at køre en form for hadoop kommandoen. Alle hadoop kommandoer påberåbes af bin / hadoop script. (For at hente en beskrivelse af alle hadoop-kommandoer skal du køre Hadoop-scriptet uden at angive nogen argumenter.) Hadoop-kommandoen har syntaxen
hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
config confdir-opsætningen overskriver standardkonfigurationsmappen ($ HADOOP_HOME / conf), så du nemt kan tilpasse Hadoop-miljøkonfigurationen. De generiske valgmuligheder og kommandoindstillinger er et fælles sæt indstillinger, som understøttes af flere kommandoer.
Hadoop-filsystemskallekommandoer (for kommandolinjegrænseflader) tager ensartede ressourceidentifikatorer (URI'er) som argumenter. En URI er en streng af tegn, der bruges til at identificere et navn eller en webressource.
Strengen kan indeholde et skema navn - en kvalifikation for datakildens art. For HDFS er systemnavnet hdfs, og for det lokale filsystem er ordningsnavnet fil. Hvis du ikke angiver et skema navn, er standard det skema navn, der er angivet i konfigurationsfilen. En fil eller en mappe i HDFS kan specificeres på en fuldt kvalificeret måde, som i dette eksempel:
hdfs: // namenodehost / parent / child
Eller det kan simpelthen være / forælder / barn, hvis konfigurationsfilen peger til hdfs: // namenodehost.
Hadoop-filsystemskallekommandoerne, som ligner Linux-filkommandoer, har følgende generelle syntaks:
hadoop hdfs dfs - file_cmd
Læsere med en tidligere Hadoop-oplevelse kan spørge: "Men hvad om hadoop fs kommandoen?"Fs-kommandoen udskilles i Hadoop 0. 2-udgivelsesserien, men det virker stadig i Hadoop 2. Brug hdfs dfs i stedet.
Som du måske forventer, bruger du kommandoen mkdir til at oprette en mappe i HDFS, ligesom du ville gøre på Linux eller på Unix-baserede operativsystemer. Selvom HDFS har en standard arbejdskatalog, / bruger / $ USER, hvor $ USER er dit login brugernavn, skal du oprette det selv ved at bruge syntaksen
$ hadoop hdfs dfs -mkdir / user / login_user_name
For at oprette en mappe med navnet "joanna" skal du køre denne mkdir-kommando:
$ hadoop hdfs dfs -mkdir / user / joanna
Brug kommandoen Hadoop put til at kopiere en fil fra dit lokale filsystem til HDFS:
$ hadoop hdfs dfs -put filnavn / bruger / login_user_name
For eksempel at kopiere en fil, der hedder data. txt til denne nye mappe, kør følgende sæt kommando:
$ hadoop hdfs dfs -put data. txt / user / joanna
Kør kommandoen ls for at hente en HDFS-filliste:
$ hadoop hdfs dfs -ls. Fundet 2 emner drwxr-xr-x - joanna supergroup 0 2013-06-30 12: 25 / bruger / joanna -rw-r - r-- 1 joanna supergroup 118 2013-06-30 12: 15 / bruger / joanna / data. txt
Filfortegnelsen brydes ned som beskrevet i denne liste:
-
Kolonne 1 viser filtilstand ("d" for mappe og "-" for normal fil efterfulgt af tilladelserne). De tre tilladelsestyper - læs (r), skriv (w) og udfør (x) - er de samme som i Linux- og Unix-baserede systemer. Den tilladte tilladelse til en fil ignoreres, fordi du ikke kan udføre en fil på HDFS. Tilladelserne grupperes af ejer, gruppe og offentlighed (alle andre).
-
Kolonne 2 viser replikationsfaktoren for filer. (Begrebet replikation gælder ikke for mapper.) De blokke, der udgør en fil i HDFS, replikeres for at sikre fejltolerance. replikationsfaktoren, eller antallet af replikaer, der holdes for en bestemt fil, kan konfigureres. Du kan angive replikeringsfaktoren, når filen oprettes eller senere, via din applikation.
-
Kolonner 3 og 4 viser filen ejer og gruppen . Supergruppe er navnet på gruppen af superusere, og en superbruger er brugeren med samme identitet som NameNode-processen. Hvis du starter NameNode, er du superbrugeren for nu. Dette er en særlig gruppe - faste brugere vil have deres brugergrupper tilhørende en gruppe uden særlige egenskaber - en gruppe, der simpelthen er defineret af en Hadoop-administrator.
-
Kolonne 5 viser filens størrelse, i byte eller 0, hvis det er en mappe.
-
Kolonne 6 og 7 viser dato og klokkeslæt for den sidste modifikation.
-
Kolonne 8 viser det ukvalificerede navn (hvilket betyder, at ordnets navn ikke er angivet) i filen eller mappen.
Brug Hadoop get-kommandoen til at kopiere en fil fra HDFS til dit lokale filsystem:
$ hadoop hdfs dfs -get filnavn / bruger / login_user_name
Brug Hadoop rm kommando for at slette en fil eller en tom mappe:
$ hadoop hdfs dfs -rm filnavn / bruger / login_user_name
Brug kommandoen hadoop hdfs dfs -help til at få detaljeret hjælp til alle mulighed.