2012-04-15 27 views
5

Tôi đang chạy một cụm nút đơn sử dụng phiên bản hadoop 1.0.1 và Ubuntu linux 11.10. Tôi đã chạy một kịch bản đơn giản khi nó bị rơi, có lẽ vì máy tính của tôi đã đi ngủ. Tôi cố gắng để định dạng lại hệ thống tập tin sử dụngLàm cách nào để định dạng và thêm tệp vào hadoop sau khi nó bị lỗi?

bin/hadoop namenode -format

và đã nhận lỗi sau:

LỖI namenode.NameNode: java.io.IOException: Không thể khóa lưu trữ/app/hadoop/tmp/dfs/tên. Thư mục đã bị khóa. tại org.apache.hadoop.hdfs.server.common.Storage $ StorageDirectory.lock (Storage.java:602)

tôi cố gắng thêm các tập tin đầu vào bằng cách sử dụng lệnh:

bin/hadoop fs -copyFromLocal DataDirectory/* txt inputDirectory

và nhận được lỗi:.

12/04/15 09:05:21 WARN hdfs.DFSClient: DataStreamer Ngoại lệ: org.apache.hadoop.ipc.RemoteException: java.io .IOException: Tệp /home/hduser/input/book1.txt chỉ có thể được nhân rộng thành 0 nút, thay vì 1

12/04/15 09:05:21 Cảnh báo hdfs.DFSClient: Lỗi phục hồi cho khối không hợp lệ xấu datanode [0] nodes == null 12/04/15 09:05:21 Cảnh báo hdfs.DFSClient: Không thể nhận được chặn vị trí. Tệp nguồn "/home/hduser/input/book1.txt" - Đang hủy ...

Sau đó, tôi thấy các tệp trong thư mục nhập, nhưng kích thước của chúng là 0. Bất kỳ ý tưởng nào về cách tôi có thể thêm tệp? Tôi đã có thể thêm các tập tin trước khi hadoop bị rơi, vì vậy tôi có thể cài đặt lại Linux và hadoop, nhưng nó có vẻ như quá mức cần thiết. Cảm ơn.

Trả lời

3
  1. Cố gắng xóa thủ công các thư mục lưu trữ dữ liệu cho nút tên của bạn. Điều này được định cấu hình theo các thuộc tính trong mapred-site.xml như mapred.local.dir, mapred.system.dir v.v. Sau đó, dừng hadoop, định dạng lại nút tên và thử lại. Nếu vẫn gặp phải sự cố, hãy chuyển đến bước 2

  2. Thử đặt cấu hình nút tên cho một số đường dẫn khác thay vì đường dẫn hiện tại. Sau đó, dừng hadoop, định dạng lại nút tên và thử lại. Nếu vẫn gặp phải sự cố, hãy chuyển đến bước 3

  3. Xác minh xem có dung lượng đĩa rộng không. Nếu không, sau đó tạo một số không gian trong phân vùng nơi nút tên được định cấu hình. Nếu vẫn gặp phải vấn đề, sau đó goto bước 4

  4. Trong hdfs.site.xml, đặt dfs.replication thành 0. Sau đó, dừng lại, định dạng lại nút tên và thử lại.

Nếu vẫn gặp sự cố, vui lòng cho tôi biết cùng với lỗi/ngoại lệ bạn nhận được.

+0

Cảm ơn, Tejas, nhưng bây giờ tôi thậm chí không thể kết nối với máy chủ lưu trữ cục bộ, ngay cả sau khi thử nghiệm ssh. Đó là cực đoan, nhưng tôi đang cài đặt lại Linux. – user1106278

+0

bạn nhận được lỗi nào? –

+0

Điều này làm việc cho tôi ngoại trừ việc tôi phải đặt dfs.name.dir và dfs.data.dir trong tệp hdfs-site.xml. Tôi không chắc tại sao nó không hoạt động trước khi không có phân vùng nào gần đầy. – MikeKulls

2

Tôi đã có loại vấn đề này trong quá khứ, đối với tôi đó là do phân vùng đĩa của tôi đã đầy. Vì vậy, tôi khuyên bạn nên kiểm tra đĩa của bạn và xem nếu đó là liên quan.

Nếu đúng như vậy, chỉ cần giải phóng một số không gian, khởi động lại daemon của bạn (bạn có thể phải tự tay xóa nó, đôi khi điều này xảy ra) và khởi động lại.

+0

Xin cảm ơn, liên kết. – user1106278

5

Bạn cần phải ngăn chặn hadoop đầu tiên sử dụng

bin/stop-all.sh

sau đó cố gắng để định dạng tập tin sytem kể từ khi hadoop (tên nút và dữ liệu nút vẫn chạy) nó khóa các tập tin hệ thống, có thể cung cấp cho rằng lỗi.

vì vậy nếu sau khi đưa lệnh bin/stop-all.sh chỉ cần hủy quá trình cho những gì bạn có thể làm là cung cấp lệnh "jps" tại trình bao và sẽ hiển thị cho bạn các quy trình (quy trình java) và sẽ có một pid liên quan đến mỗi quá trình bạn có thể cho lệnh "kill processno" như "kill 23232", như thế này giết tất cả các tiến trình, và xóa thư mục hệ thống tập tin hdfs mà bạn đã chỉ định, sử dụng lệnh bạn đã nói.

Và cũng có thể kiểm tra dung lượng đĩa trống, giả sử bạn đã cài đặt ubuntu bên trong cửa sổ, bạn có thể nhận thêm dung lượng bằng cách chỉ định hệ thống tệp của bạn bên trong/máy chủ/và một số thư mục.

Lưu ý: Bạn không cần phải định dạng HDFS như bạn chỉ có thể ngăn chặn tất cả namenode và nút dữ liệu và một lần nữa bắt đầu quá trình hadoop, vì nó không được currupted thường xuyên, sau khi ngừng và bắt đầu hadoop nếu nó mang lại bất kỳ lỗi nào thì bạn định dạng hệ thống tệp.

Hy vọng điều này sẽ giúp bạn ......

+0

Cảm ơn, Shaswat. – user1106278

0

Quan trọng nhất là kiểm tra /etc/hadoop/conf/hdfs-site.xml và đảm bảo rằng bạn chưa béo ngón tay cùng giá trị :

dfs.name.dir & dfs.data.dir.

Cả hai phải có các giá trị khác nhau.

aBBy

Các vấn đề liên quan