2013-07-29 29 views
15

Tôi đang chạy Apache Pig .11.1 với Hadoop 2.0.5.Lỗi kết nối trong Apache Pig

Hầu hết các công việc đơn giản mà tôi chạy trong Pig hoạt động hoàn toàn tốt.

Tuy nhiên, bất cứ khi nào tôi cố gắng sử dụng GROUP BY trên một tập dữ liệu lớn, hoặc các nhà điều hành LIMIT, tôi nhận được các lỗi kết nối:

2013-07-29 13:24:08,591 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server 
013-07-29 11:57:29,421 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 

2013-07-29 11:57:30,421 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 

2013-07-29 11:57:31,422 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
... 
2013-07-29 13:24:18,597 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-07-29 13:24:18,598 [main] ERROR org.apache.hadoop.security.UserGroupInformation - PriviledgedActionException as:gpadmin (auth:SIMPLE) cause:java.io.IOException 

Điều kỳ lạ là sau khi các lỗi này giữ xuất hiện trong khoảng 2 phút , chúng sẽ dừng lại và đầu ra chính xác hiển thị ở dưới cùng.

Vì vậy, Hadoop đang chạy tốt và tính toán đầu ra phù hợp. Vấn đề là chỉ là những lỗi kết nối mà giữ popping lên.

Toán tử LIMIT luôn nhận được lỗi này. Nó xảy ra ở cả chế độ MapReduce và chế độ cục bộ. Toán tử GROUP BY sẽ hoạt động tốt trên các tập dữ liệu nhỏ.

Một điều mà tôi đã nhận thấy là bất cứ khi nào lỗi này xuất hiện, công việc đã tạo và chạy nhiều tệp JAR trong công việc. Tuy nhiên, sau một vài phút của thông báo này xuất hiện, đầu ra chính xác cuối cùng cũng xuất hiện.

Bất kỳ đề xuất nào về cách loại bỏ các thư này?

+0

Là tên địa phương của bạn? Nếu không, nó đang cố gắng truy cập nó ở 0.0.0.0. Nó có thể không chọn vị trí nút tên từ core-site.xml hoặc bạn có tệp/etc/hosts bị rối tung lên. –

+0

Nút tên là địa phương. core-site.xml và/etc/hosts dường như tất cả được cấu hình đúng bởi vì hầu hết các công việc khác của Pig/Hadoop của tôi hoạt động theo cách mà chúng cần.Thêm vào đó, đầu ra công việc chính xác xuất hiện sau khi lỗi kết nối hiển thị trong vài phút. Vì vậy, tôi nghĩ rằng vấn đề là cái gì khác. –

+0

@AndyBotelho Có lẽ đáng để kiểm tra nhật ký máy chủ của jobhistory –

Trả lời

30

Có vấn đề là máy chủ lịch sử công việc không chạy.

Tất cả chúng ta phải làm gì để khắc phục vấn đề này là nhập lệnh này vào cửa sổ lệnh:

mr-jobhistory-daemon.sh start historyserver 

Lệnh này khởi động máy chủ lịch sử công việc. Bây giờ nếu chúng ta nhập 'jps', chúng ta có thể thấy rằng JobHistoryServer đang chạy và công việc Pig của tôi không còn lãng phí thời gian cố gắng kết nối với máy chủ nữa.

+1

Điều này rất hữu ích. Pig 0.13 Hadoop 2.3.0 - sẽ không kết thúc thành công ở tất cả, nó sẽ chỉ thử lại 10 lần và sau đó bắt đầu lại từ đầu. – jeveloper

+0

Đây là câu trả lời hoàn hảo! –

+1

Tập tin này nằm trong thư mục sbin trong phiên bản của tôi, FYI – WattsInABox

4

Tôi nghĩ rằng, sự cố này liên quan đến vấn đề cấu hình bản đồ trang web hadoop. Máy chủ lịch sử chạy mặc định trong máy chủ cục bộ, vì vậy bạn cần thêm máy chủ được định cấu hình của mình.

<property> 
<name>mapreduce.jobhistory.address</name> 
<value>host:port</value> 
</property> 

sau đó lửa lệnh này -

mr-jobhistory-daemon.sh start historyserver 
1

Tôi đang sử dụng Hadoop 2.6.0, vì vậy tôi đã phải làm

$ mr-jobhistory-daemon.sh --config /usr/local/hadoop/etc start historyserver 

ở đâu,/usr/local/hadoop/etc là HADOOP_CONF_DIR của tôi.

0

Tôi đang sử dụng Hadoop 2.2.0. Vấn đề này là do máy chủ Lịch sử không chạy. Tôi phải khởi động máy chủ lịch sử. Tôi sử dụng lệnh sau để khởi động máy chủ lịch sử:

[root @ localhost ~] $ /usr/lib/hadoop-2.2.0/sbin/mr-jobhistory-daemon.sh bắt đầu historyserver

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