Bedste svar
Nå, replikationsfaktor er 3 Som standard i HDFS . I dette er en originalblok og to replikaer.
Men det kan være Set af os.
Lad mig forklare dig, hvordan du gør det.
Se, der er to måder at gøre det på. En er ved hjælp af kommando og andet er direkte ændring i hdfs-site.xml fil.
Den første er enkel, du skal bare skrive kommandoen som følger:
Du kan også ændre replikationsfaktoren på pr. fil-basis ved hjælp af Hadoop FS-skallen .
[sawant@localhost ~]$ hadoop fs –setrep –w 3 /my/file
Alternativt kan du ændre replikationsfaktoren for alle filerne under en mappe.
[sawant@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir
som du ser ovenstående kommando, skal du bare erstatte 3 med uanset dit krav.
Lad os forstå den anden…
Åbn hdfs-site .xml -fil. Denne fil findes normalt i conf / -mappen i Hadoop-installationsmappen. Skift eller tilføj følgende egenskab til hdfs-site.xml….
hdfs-site.xml bruges til at konfigurere HDFS. Ændring af egenskaben dfs.replication i hdfs-site.xml ændrer standardreplikationen for alle filer, der er placeret i HDFS.
Ovenfor dfs.replication-ejendom erstatter bare 3 med uanset hvad du har brug for.
Tak !!
Svar
Den virkelige årsag til at vælge replikering af tre er, at det er det mindste tal, der tillader et meget pålideligt design. Lad os gennemgå en reel analyse af hvorfor.
Overvej at du mister data, hvis du har en hardwarefejl på hardwaren, der gemmer hver replika af dataene. For moderne centrifugeringsdiske er fejlprocenten relativt enkel og er cirka 5\% om året (dine tal kan være højere eller lavere afhængigt af din estimeringsmetode og hardware, du køber). Hvis alle fejl er uafhængige (de er ikke rigtig, da du får dårlige batcher), betyder det, at individuelle diske fejler med en hastighed på ca. 1,6e-9 fejl i sekundet, og fejlene skal fordeles i henhold til en Poisson-distribution. Tusind diske skal have et datatab på omkring 1000 gange denne hastighed over korte tidsperioder, hvis du antager ingen replikering.
Vi kan bruge disse tal til at beregne noget, der kaldes middel tid til datatab. I tilfælde af enkelt disk har du en 95\% chance for at bevare dine data efter et år, men i tusind disk tilfælde har du en ubetydelig chance for at undgå tab af data efter et år. Jeg tror ikke, at selv den enkelte disksag er ærlig ærlig.
Så vi replikerer dataene.
De tusinde disksager vil have omkring 50 fejl om året, hvilket oversættes til et disktab hver uge eller deromkring. Det betyder ikke, at det vil ske med nøjagtige ugentlige intervaller. Det betyder bare, at den gennemsnitlige tid mellem diskfejl vil være omkring en uge. Efter en diskfejl bliver vi nødt til at genskabe dataene igen, fordi vi ikke ønsker et system, der nedbrydes over tid. Hvis vi kan genskabe dataene igen, før den næste disk fejler, der indeholder vores data, så undgår vores system datatab på grund af den første fejl.
Tricket er dog, at tiden mellem den enkelte disk fejl falder, når systemerne øges i størrelse. Hvis vi designer tingene godt, vil replikeringstiden dog * falde * i samme forhold. Tiden til at komme sig vil afhænge af antallet af drev pr. Maskine og netværksbåndbredden mellem maskinerne.
Det betyder, at vi kan lave et hurtigt skøn over den gennemsnitlige tid til datatab ret let. For to kopier er vi nødt til at beregne hastigheden for disktab og derefter beregne sandsynligheden for et andet disktab i løbet af gendannelsestiden for dette tab. For to kopier er vi nødt til at udvide dette til det tilfælde, hvor to drev dør under gendannelsestiden for det første drev. Dette gøres mere komplekst, når du striber diske og har smarte genopretningsstrategier, der forsøger at bevare normal drift efter den første fiasko, men som afsætter alle ressourcer til at komme sig efter den anden fiasko.
Hvis du laver matematikken, en kopi af data giver dig en meget høj sandsynlighed (næsten sikker på, faktisk) for at miste data i en stor klynge.
For to kopier har du sandsynligheden for at miste data i området 0,3 \% – 5\% afhængigt af dine klyngeparametre. Dette er ikke godt nok for de fleste virksomheder, men nogle applikationer tåler dette.
For tre kopier kan du normalt udvide sandsynligheden for datatab til ,1\% om året, svarende til en gennemsnitlig tid til datatab på 1000 år eller mere, hvis du gør tingene rigtigt.
Så det er grunden.