Tôi đã sử dụng máy chủ HADOOP 1.2.1 và thực hiện nhiều công việc lợn ở đó. Gần đây, tôi đã cân nhắc việc thay đổi máy chủ Hadoop của mình thành HADOOP 2.2.0. Vì vậy, tôi đã thử một số công việc lợn trong HADOOP 2.2.0, giống như tôi đã làm trong phiên bản HADOOP 1.2.1.
Nhưng có một điều mà tôi khó hiểu ở YARN MR2 là chỉ có một công việc giảm bớt được lên lịch trong mỗi công việc của ông.
Lúc đầu, tôi nghĩ là có, giảm nhanh hơn mr1 vì người quản lý tài nguyên lên lịch công việc giảm một cách hiệu quả bằng cách xử lý nó chỉ trên một máy chủ.
Nhưng trong mỗi công việc Mr lớn, YARN MR2 chỉ phân bổ một công việc Giảm tại một thời điểm.
Sau đây là một trường hợp cực đoan.
Máy chủ HADOOP (phiên bản 1.2.1) cũ của tôi bao gồm 1 trình theo dõi công việc và 2 trình theo dõi tác vụ. (mỗi lõi 4 lõi, 32G)
Loại Tổng số nhiệm vụ (thành công+thất bại+bị giết) Nhiệm vụ thành công Nhiệm vụ thất bại Nhiệm vụ đã chết Thời gian bắt đầu Thời gian kết thúc Thiết lập 1 1 0 0 27-Jan-2014 18:01:45 27-Jan-2014 18:01:46 (0sec)Map 2425 2423 0 2 27-01-2014 18:01:26 27-01-2014 19:08:58 (1 giờ, 7 phút, 31 giây)Giảm 166 163 0 3 27-01-2014 18:04:35 27-01-2014 20:40:15 (2 giờ, 35 phút, 40 giây)Dọn dẹp 1 1 0 0 27-Jan-2014 20:40:16 27-Jan-2014 20:40:17 (1sec)
Phải mất 2 giờ 38 phút.
Máy chủ HADOOP (phiên bản 2.2.0) mới của tôi bao gồm 1 trình quản lý tài nguyên và 8 trình quản lý nút. (4 lõi mỗi lõi, 32G) (Hệ thống mới tốt hơn nhiều)
Tên công việc: PigLatin:DefaultJobNameTên người dùng: hduserQueue: defaultState: SUCCEEDEDUberized: falseBắt đầu: Thứ ba ngày 28 tháng 1 16:09:41 KST năm 2014Kết thúc: Thứ ba ngày 28 tháng 1 21:47:45 KST 2014Đã trôi qua: 5 giờ, 38 phút, 4 giâyChẩn đoán: Thời gian bản đồ trung bình 41 giâyThời gian giảm trung bình 3 giờ, 48 phút, 23 giây Thời gian xáo trộn trung bình 1 giờ, 36 phút, 35 giây Thời gian hợp nhất trung bình 1 giờ, 27 phút, 38 giâyApplicationMasterSố lần thử Thời gian bắt đầu Nhật ký nút1 Thứ ba ngày 28 tháng 1 16:09:39 KST 2014 awdatanode2:8042 logsLoại nhiệm vụ Tổng số Hoàn thànhBản đồ 1172 1172Giảm 1 1Loại nỗ lực Thất bại Giết Thành côngBản đồ 0 1 1172Giảm 0 0 1
Phải mất 5 giờ 38 phút.
Mặc dù máy chủ Hadoop cũ của tôi có tài nguyên kém nhưng nó nhanh hơn nhiều so với Hadoop mới. Vì công việc được giao ít hơn. Mặt khác, máy chủ HADOOP 2.2.0 có tài nguyên phong phú, bản đồ nhanh hơn nhiều so với hệ thống cũ nhưng việc rút gọn lại mất rất nhiều thời gian.
Cấu hình bộ nhớ Hadoop 2.2 là Map (4G, vùng heap 3G) và Giảm (8G, vùng heap 6G). Tôi đã thử nhiều bộ cấu hình khác nhau. Nhưng kết quả luôn là làm việc ít hơn.
Vì vậy tôi đã kiểm tra mã nguồn của lợn.
Lý do tại sao công việc My Pig luôn thực hiện công việc rút gọn là vì lớp inputSizeReducerEstimator không thể truy cập hệ thống tệp hdfs.
// dòng 79 của inputSizeReducerEstimator.java Danh sách poLoads = PlanHelper.getPhysicalOperators(mapReduceOper.mapPlan, POLoad.class);
Kết quả là poLoad luôn có kích thước bằng 0.
Vì vậy, công việc giảm bớt của tôi luôn được ước tính là một.
Tôi là một lập trình viên xuất sắc, rất giỏi!