2014-05-19 20 views
5

hadoop OpenJDK Server VM cảnh báo: Bạn đã nạp thư viện /usr/lib/hadoop/lib/native/libhadoop.so.1.0.0 mà có thể có tàn tật chồng bảo vệ. VM sẽ cố gắng sửa chữa ngăn xếp ngăn xếp ngay bây giờ. Đó là rất khuyến khích bạn nên sửa thư viện bằng 'execstack -c ' hoặc liên kết nó với '-z noexecstack'.hadoop thông báo lỗi cài đặt

Tôi nhận được thông điệp này trong khi tôi đã cố gắng để cài đặt hadoop-yarn-resourcemanger do đó tất cả các cài đặt khác của hadoop gói đang chứng tỏ rằng các gói bị hỏng trên hệ thống của bạn. Làm thế nào để sửa lỗi này? Cảm ơn

+0

Phiên bản Hadoop nào? – chrisinmtown

Trả lời

1

Tôi đã gặp lỗi tương tự khi cài đặt Hadoop 2.2 trên một cụm chạy Ubuntu 14.04 64 bit với Java 1.7.0_75. (Không có cách nào tôi sẽ hạ xuống 32bit.) Đây là cách tôi biên soạn thư viện gốc.

Hadoop này 2,5 trang cho các thư viện bản địa là hữu ích, nó cung cấp các lệnh mvn yêu cầu: http://hadoop.apache.org/docs/r2.5.0/hadoop-project-dist/hadoop-common/NativeLibraries.html#Build

  1. Hãy chắc chắn rằng điều kiện tiên quyết được đáp ứng trên Linux. Bạn phải sử dụng phiên bản maven 3!

    apt-get install cmake autoconf automake libtool gcc zlib1g-dev pkg-config libssl-dev openssl maven 
    
  2. Tải một nguồn Hadoop tarball từ https://archive.apache.org/dist/hadoop/core

  3. Unpack và khảo sát:

    tar xzpf hadoop-2.2.0-src.tar.gz 
    cd hadoop-2.2.0-src 
    
  4. Xây dựng thư viện nguồn gốc (không phải mọi thứ):

    cd hadoop-common-project/hadoop-common 
    mvn package -Pdist,native -DskipTests=true -Dtar 
    
  5. Sao chép kết quả .so tập tin vùng nhị phân.

    cp target/hadoop-common-2.2.0/lib/native/libhadoop.so.1.0.0 /home/hadoop/hadoop-2.2.0/lib/native/ 
    
  6. thử nghiệm bằng cách bắt đầu một daemon để xem cảnh báo 'disabled chồng bảo vệ' (xem ở trên) vẫn xuất hiện:

    /home/hadoop/hadoop-2.2.0/sbin/hadoop-daemon.sh start namenode n 
    

Tôi thử nghiệm này trên các phiên bản nguồn Hadoop 2.2.0 và 2.5.2.

@ user2345523 @DivyangShah hy vọng điều này sẽ giúp

1

Tôi gặp lỗi tương tự và không phải là điều đau đớn. Lý do tại sao bạn nhận được lỗi này là tệp thư viện /usr/lib/hadoop/lib/native/libhadoop.so.1.0.0 không có nghĩa là cho kiến ​​trúc cơ bản 64 bit. Vì vậy, tôi biết chắc chắn rằng bạn đang sử dụng 64 bit Linux theo cài đặt của bạn. ;)

Có hai việc bạn có thể làm. Thứ nhất, cách tiếp cận đúng hơn là yu có thể xây dựng lại thư viện, nhưng sau đó đó là thủ tục dài.

Điều tôi đã làm là bước thứ hai và dễ dàng hơn. Tôi cài đặt lại nó trên một Ubuntu 32-bit và nó làm việc tốt cho tôi.

+0

cách xây dựng lại thư viện của tôi? bạn có thể giúp đỡ cho các bước. –

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