- Bạn tuyệt đối không được kết hợp các phiên bản của phiên bản Hadoop-common, hadoop-aws, aws-s3-sdk và jackson với những gì mọi thứ mong đợi, nếu không bạn sẽ thấy dấu vết ngăn xếp.
- Và tất cả mã nguồn mở của nó, vì vậy nếu bạn D / L tất cả các JAR nguồn cục bộ, IDE của bạn sẽ giúp bạn tìm ra nguyên nhân gây ra dấu vết ngăn xếp. Đây là những gì tất cả chúng ta làm . Đó không phải là ma thuật, các IDE hiện đại (intellij IDEA) thậm chí còn có tính năng gỡ lỗi ngăn xếp đặc biệt.
Cái này xuất hiện vì giá trị của fs.s3a.multipart.size
đặt trong /core-default.xml
của hadoop-common tài nguyên là 100 triệu, đi kèm với HADOOP-13680
và dãy số xử lý phân tích cú pháp như "100M" thay vì 104857600. Dấu vết ngăn xếp này cho biết "Cấu hình Hadoop 2.8+"
Bạn có thể thử đặt thuộc tính trong cấu hình của mình thành giá trị số đó, nhưng đó là dấu hiệu cảnh báo rằng các phiên bản JAR không đồng bộ và bạn có thể sẽ chỉ nhận được thêm một vài dòng trước khi thứ khác bị hỏng.
Khắc phục:đảm bảo rằng hadoop-common.jar
và hadoop-aws.jar
đang đồng bộ. Có vẻ như bạn đã sắp xếp được jackson và aws, mặc dù jackson đủ phức tạp nên bạn không bao giờ có thể coi đó là điều hiển nhiên.