Hadoop native libraries에서 load할 수 없는 문제를 기록합니다.
1352 단어 hadoop
SequenceFile doesn't work with GzipCodec without native-hadoop code!
Sequence File에서 이 exception이 나온다는 판단이 있어요.
private static Writer
createWriter(Configuration conf, FSDataOutputStream out,
Class keyClass, Class valClass, boolean compress, boolean blockCompress,
CompressionCodec codec, Metadata metadata)
throws IOException {
if (codec != null && (codec instanceof GzipCodec) &&
!NativeCodeLoader.isNativeCodeLoaded() &&
!ZlibFactory.isNativeZlibLoaded(conf)) {
throw new IllegalArgumentException("SequenceFile doesn't work with " +
"GzipCodec without native-hadoop code!");
}
이 코드를 통해 이 오류를 테스트할 수 있다.
import org.apache.hadoop.io.compress.zlib.ZlibCompressor;
public class MyTester {
public static void main(String[] args) {
new ZlibCompressor();
}
}
어떻게 피합니까?
두 가지 솔루션이 있습니다.
1. 하두프를native.lib false 설정
2./duitang/dist/sys/hadoop-1.2.1/lib/native/Linux-amd64-64/* 아래의 so 파일copy를/duitang/dist/sys/java/jre/lib/amd64로