2013-04-18 10 views
8

może ktoś dać mi znać, jak naprawić brakujące repliki?Hadoop: wynik fsck pokazuje brakujące repliki

============================================== ==============================

Całkowity rozmiar: 3447348383 B

Wszystkie katalogi: 120

Wszystkie pliki: 98

Wszystkie bloki (potwierdzone): 133 (. Średnia wielkość bloku 25919912 B)

Minimalnie powtórzone bloki: 133 (100,0%)

nadmiernej replikacji bloki 0 (0,0%)

U-replikowane bloków 21 (15,789474%)

niewłaściwymi replikacji bloki 0 (0,0%)

domyślna czynnik replikacji: 3

Średnia replikacji bloku: 2.3834586

Uszkodzone bloki 0

Brakujące replik: 147 (%) 46,37224

ilość danych węzły: 3

Ilość stojaków 1

================= ================================================== =========

Zgodnie nieokreślony przewodnika

uszkodzone lub brakujące bloki są największym powodem do niepokoju, ponieważ oznacza to, że dane zostały utracone. Domyślnie fsck pozostawia pliki z uszkodzonymi lub brakującymi blokami, ale możesz je przekazać do wykonać jedną z następujących akcji:

• Przenieś pliki, których dotyczy problem, do katalogu/lost + found w HDFS, używając - przenieść opcję. Pliki są podzielone na łańcuchy sąsiednich bloków, aby pomóc w próbach ratunkowych, które możesz podjąć.

• Usuń pliki naruszone, używając opcji Usuń nie. Pliki nie mogą być odzyskane po usunięciu .

Tutaj moje pytanie jest jak dowiedzieć się uszkodzone pliki? Pracowałem już z Hive, aby uzyskać wymagane wyniki bez żadnych problemów. wpłynie to na wydajność/prędkość przetwarzania zapytań.

Pozdrowienia,

Raj

Odpowiedz

12

Brakujące repliki powinny być samoleczenia w czasie.Jednakże, jeśli chce, aby przenieść je do lost + found, można użyć:

hadoop fsck/-move 

albo usunąć je z:

hadoop fsck/-delete 

Jeśli chcesz tylko do identyfikacji plików z pod-replikowane bloki, użyć:

hadoop fsck/-files -blocks -locations 

To daje wiele szczegółów, w tym listy oczekiwanych/rzeczywistych liczby replikacji blokowych.

+0

A więc brakujące repliki nie są problemem według ciebie, prawda? wpłynie to na wydajność/prędkość przetwarzania zapytań. – Raj

+1

Dopóki nie zabraknie wszystkich replik dla danego bloku, brakujące repliki można zregenerować z pozostałych replik. Jeśli w pliku brakuje jednego lub więcej bloków, które nie posiadają wszystkich replik, plik ten jest uszkodzony i nie można go odzyskać. Dobre wyjaśnienie znajdziesz w książce Eric Sammer "Hadoop Operations": http://books.google.com/books?id=TQqSwRScVhoC&printsec=frontcover&dq=sammer+hadoop+operations&hl=pl&sa=X&ei=r652UczYCsKT2QXcm4GICg&ved=0CDkQ6AEwAA#v=onepage&q&f = false – highlycaffeinated

+1

Witam, jeśli uruchomię hadoop fsck/-delete, co stanie się wewnętrznie? czy możesz rozwinąć proszę. –