Hadoop Cameron Không thể tải thư viện hadoop gốc cho cảnh báo nền tảng của bạn


269

Tôi hiện đang định cấu hình hadoop trên máy chủ chạy CentO . Khi tôi chạy start-dfs.shhoặc stop-dfs.sh, tôi gặp lỗi sau:

WARN produc.NativeCodeLoader: Không thể tải thư viện hadoop gốc cho nền tảng của bạn ... bằng cách sử dụng các lớp dựng sẵn-java khi áp dụng

Tôi đang chạy Hadoop 2.2.0.

Thực hiện tìm kiếm trực tuyến đã đưa ra liên kết này: http://balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html

Tuy nhiên, nội dung của /native/thư mục trên hadoop 2.x có vẻ khác nhau nên tôi không biết phải làm gì.

Tôi cũng đã thêm hai biến môi trường này vào hadoop-env.sh:

xuất HADOOP_OPTS = "$ HADOOP_OPTS -Djava.l Library.path = / usr / local / hadoop / lib /"

xuất HADOOP_COMMON_LIB_NECT_DIR = "/ usr / local / hadoop / lib / bản địa /"

Có ý kiến ​​gì không?


3
Đối với khả năng tìm kiếm: vấn đề này cũng áp dụng ít nhất cho Hadoop 2.4.0, Hadoop 2.4.1 và có thể các phiên bản khác.
Greg Dubicki

Tài liệu về cách sử dụng các thư viện riêng có tại hadoop.apache.org/docs/civerse/hadoop-project-dist/ trộm
James Moore

Câu trả lời:


227

Tôi giả sử bạn đang chạy Hadoop trên 64 bit CentOS. Lý do bạn thấy cảnh báo đó là thư viện Hadoop bản địa $HADOOP_HOME/lib/native/libhadoop.so.1.0.0thực sự được biên dịch trên 32 bit.

Dù sao, đó chỉ là một cảnh báo và sẽ không ảnh hưởng đến các chức năng của Hadoop.

Đây là cách nếu bạn muốn loại bỏ cảnh báo này, tải xuống mã nguồn của Hadoop và biên dịch lại libhadoop.so.1.0.0trên hệ thống 64 bit, sau đó thay thế mã 32 bit.

Các bước về cách biên dịch lại mã nguồn được bao gồm ở đây cho Ubuntu:

Chúc may mắn.


7
Không làm việc cho tôi. Cung cấp cho tôi cùng một Không thể tải thư viện gốc-hadoop cho lỗi nền tảng của bạn.
Akshay Hazari

7
Ngay cả khi điều này không chính xác hoạt động, nó vẫn hữu ích. Vì vậy, điều này sẽ ảnh hưởng đến hiệu suất, ở tất cả?
WattsInABox

1
Tôi đang sử dụng tar hadoop 2.5.0 tương tự trên Centos 7 và Centos 6.5. Cả hai đều là hệ điều hành 64 bit. Không có cảnh báo như vậy trên Centos7 nhưng Centos 6.5 cho tôi cảnh báo này, tại sao?
Sandip divekar

Cảm ơn. Tôi đã không nhận ra rằng đó là một cảnh báo. Trên thực tế nói "bắt đầu nút tên" và câu cuối cùng là "Không thể tải bản địa-hadoop .." gây ra sự sợ hãi.
Kaushik Lele

Lưu ý rằng bạn thực sự không phải biên dịch toàn bộ Hadoop, như hướng dẫn gợi ý - hadoop-common-project/hadoop-commonhadoop-hdfs-project/hadoop-hdfslà đủ.
Greg Dubicki

152

Chỉ cần thêm từ gốc vào từ của bạn HADOOP_OPTSnhư thế này:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"

Tái bút : Cảm ơn Searene


Điều này cũng đã làm cho tôi. Trên Ubuntu với Hadoop 2.6, đường dẫn là /home/user/hadoop-2.6.0/lib/native
pelazem

25
xuất HADOOP_OPTS = "- Djava.l Library.path = $ HADOOP_HOME / lib / bản địa"
Searene

1
Tôi nghĩ rằng, hai giải pháp là như nhau. Theo doc , java.l Library.path là danh sách các đường dẫn để tìm kiếm khi tải các thư viện. Vì vậy, bạn có thể xuất LD_LIBRARY_PATH hoặc sử dụng tùy chọn -D trong dòng lệnh java. Trong dòng lệnh java và -D <property> = value cho phép chúng ta đặt giá trị thuộc tính hệ thống.
Hoài-Thu Vương

54

Câu trả lời phụ thuộc ... Tôi vừa cài đặt Hadoop 2.6 từ tarball trên 64-bit CentOS 6.6. Bản cài đặt Hadoop thực sự đi kèm với một thư viện gốc 64 bit dựng sẵn. Đối với cài đặt của tôi, nó ở đây:

/opt/hadoop/lib/native/libhadoop.so.1.0.0

Và tôi biết nó là 64-bit:

[hadoop@VMWHADTEST01 native]$ ldd libhadoop.so.1.0.0
./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)
linux-vdso.so.1 =>  (0x00007fff43510000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9be553a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9be51a5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9be5966000)

Thật không may, tôi ngu ngốc bỏ qua câu trả lời ngay khi nhìn chằm chằm vào mặt tôi khi tôi đang tập trung vào "Thư viện này có phải là 32 pr 64 bit không?":

`GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)

Vì vậy, bài học kinh nghiệm. Dù sao, phần còn lại ít nhất khiến tôi có thể đàn áp cảnh báo. Vì vậy, tôi tiếp tục và làm mọi thứ được đề xuất trong các câu trả lời khác để cung cấp đường dẫn thư viện bằng cách sử dụng biến môi trường HADOOP_OPTS không có kết quả. Vì vậy, tôi nhìn vào mã nguồn. Mô-đun tạo ra lỗi cho bạn biết gợi ý ( produc.NativeCodeLoader ):

15/06/18 18:59:23 WARN util.NativeCodeLoader: Unable to load native-hadoop    library for your platform... using builtin-java classes where applicable

Vì vậy, tắt ở đây để xem những gì nó làm:

http://grepcode.com/file/repo1.maven.org/maven2/com.ning/metrics.action/0.2.6/org/apache/hadoop/util/NativeCodeLoader.java/

À, có một số ghi nhật ký mức gỡ lỗi - hãy bật nó lên xem chúng tôi có nhận thêm trợ giúp không. Điều này được thực hiện bằng cách thêm dòng sau vào tệp $ HADOOP_CONF_DIR / log4j.properIES:

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=DEBUG

Sau đó, tôi đã chạy một lệnh tạo cảnh báo ban đầu, như stop-dfs.sh và nhận được lời chào này:

15/06/18 19:05:19 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /opt/hadoop/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/hadoop/lib/native/libhadoop.so.1.0.0)

Và câu trả lời được tiết lộ trong đoạn trích thông báo gỡ lỗi này (điều tương tự mà lệnh ldd trước đó 'đã cố' nói với tôi:

`GLIBC_2.14' not found (required by opt/hadoop/lib/native/libhadoop.so.1.0.0)

Tôi có phiên bản GLIBC nào? Đây là mẹo đơn giản để tìm hiểu:

[hadoop@VMWHADTEST01 hadoop]$ ldd --version
ldd (GNU libc) 2.12

Vì vậy, không thể cập nhật HĐH của tôi lên 2.14. Giải pháp duy nhất là xây dựng các thư viện riêng từ các nguồn trên HĐH của tôi hoặc loại bỏ cảnh báo và bỏ qua nó ngay bây giờ. Bây giờ tôi đã chọn loại bỏ cảnh báo gây phiền nhiễu (nhưng có kế hoạch xây dựng từ các nguồn trong tương lai) mua bằng cách sử dụng các tùy chọn ghi nhật ký tương tự mà chúng tôi đã sử dụng để nhận thông báo gỡ lỗi, ngoại trừ bây giờ, chỉ cần làm cho nó ở mức LRI.

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR

Tôi hy vọng điều này giúp những người khác thấy rằng một lợi ích lớn của phần mềm nguồn mở là bạn có thể tìm ra công cụ này nếu bạn thực hiện một số bước logic đơn giản.


4
Cảm ơn ngài cho câu trả lời đẹp chi tiết này. Tôi đã nhận được câu trả lời của mình và học được điều gì đó có giá trị (một vài điều) trong quá trình này.
dogwynn

26

Tôi gặp vấn đề tương tự. Nó được giải quyết bằng cách thêm các dòng sau vào .bashrc:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

5
Tôi đã phải thêm "/ bản địa" vào giá trị HADOOP_OPTS
Ala 'Alnajjar

21

Trong trường hợp của tôi, sau khi tôi xây dựng hadoop trên HĐH Linux 64 bit của mình, tôi đã thay thế thư viện gốc hadoop/lib. Vẫn còn vấn đề. Sau đó, tôi đã tìm ra hadoop chỉ để hadoop/libkhông đến hadoop/lib/native. Vì vậy, tôi chỉ chuyển tất cả nội dung từ thư viện bản địa sang cha mẹ của nó. Và cảnh báo vừa đi.


Tôi chỉ tình cờ đã thử mọi thứ trên mạng. Tôi cảm thấy mệt mỏi và chỉ làm trống tất cả các tệp trong thư mục lib, tức là những tệp được biên dịch bằng các liên kết được cung cấp trong câu trả lời ở trên. Cuối cùng tôi không biết tại sao mặc dù có những lời khen ngợi mà bạn đã thử, tôi đã thử đề xuất của bạn và nó đã hoạt động sau một cuộc đấu tranh to lớn mà tôi đã bỏ ra một ngày sau tất cả những điều này. Không quan trọng tôi có thay đổi vị trí thư viện gốc trong .bashrc không hoặc hadoop-env.sh. Cảm ơn rất nhiều.
Akshay Hazari

Tôi cảm thấy mệt mỏi và chỉ làm trống tất cả các tệp thư mục gốc trong chính thư mục lib, tức là các tệp được biên dịch bằng các liên kết được cung cấp trong câu trả lời ở trên (thư mục gốc trong hadoop-2.4.0-src.tar.gz.)
Akshay Hazari

15

Điều này cũng sẽ làm việc:

export LD_LIBRARY_PATH=/usr/lib/hadoop/lib/native

1
Cảm ơn. Nếu bạn ghi đè LD_LIBRARY_PATH để sử dụng tomcat apr, chỉ cần thêm đường dẫn gốc của hadoop là `export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / lib / hadoop / lib / local.
Eric

đây chỉ là giải pháp hiệu quả cho tôi (đã thử tất cả các câu trả lời khác).
cá cờ009

13

Sau một nghiên cứu liên tục theo đề xuất của KotiI đã giải quyết được vấn đề.

hduser@ubuntu:~$ cd /usr/local/hadoop

hduser@ubuntu:/usr/local/hadoop$ ls

bin  include  libexec      logs        README.txt  share
etc  lib      LICENSE.txt  NOTICE.txt  sbin

hduser@ubuntu:/usr/local/hadoop$ cd lib

hduser@ubuntu:/usr/local/hadoop/lib$ ls
native

hduser@ubuntu:/usr/local/hadoop/lib$ cd native/

hduser@ubuntu:/usr/local/hadoop/lib/native$ ls

libhadoop.a       libhadoop.so        libhadooputils.a  libhdfs.so
libhadooppipes.a  libhadoop.so.1.0.0  libhdfs.a         libhdfs.so.0.0.0

hduser@ubuntu:/usr/local/hadoop/lib/native$ sudo mv * ../

Chúc mừng


11

Đối với những người dùng OSX có Hadoop được cài đặt qua Homebrew, hãy làm theo các bước sau thay thế đường dẫn và phiên bản Hadoop khi thích hợp

wget http://www.eu.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1-src.tar.gz
tar xvf hadoop-2.7.1-src.tar.gz
cd hadoop-2.7.1-src
mvn package -Pdist,native -DskipTests -Dtar
mv lib /usr/local/Cellar/hadoop/2.7.1/

sau đó cập nhật hadoop-env.sh với

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc= -Djava.library.path=/usr/local/Cellar/hadoop/2.7.1/lib/native"

Cảm ơn Philip. Giải pháp này đã làm việc hoàn hảo. Trong trường hợp của tôi, tất cả những gì tôi cần là tùy chọn Djava.l Library.path. Đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn!!!
arcee123

Cảm ơn rất nhiều. Tôi có bzip2: false, openssl: false build không hỗ trợ openssl. Những người khác có con đường hiển thị. Bất kỳ đề xuất.
ggorantl

11
export JAVA_HOME=/home/hadoop/software/java/jdk1.7.0_80
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_COMMON_LIB_NATIVE_DIR"

8

@zhutoulala - FWIW các liên kết của bạn hoạt động với tôi với Hadoop 2.4.0 với một ngoại lệ tôi phải nói với maven không được xây dựng javadocs. Tôi cũng đã sử dụng bản vá trong liên kết đầu tiên cho 2.4.0 và nó hoạt động tốt. Đây là lệnh maven tôi phải ban hành

mvn package -Dmaven.javadoc.skip=true -Pdist,native -DskipTests -Dtar

Sau khi xây dựng và di chuyển các thư viện, đừng quên cập nhật hadoop-env.sh :)

Nghĩ rằng điều này có thể giúp một người nào đó gặp phải những kẻ cản đường như tôi


5

Di chuyển các tập tin thư viện gốc biên dịch của bạn vào $HADOOP_HOME/libthư mục.

Sau đó đặt biến môi trường của bạn bằng cách chỉnh sửa .bashrctệp

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib  
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib"

Hãy chắc chắn rằng các tệp thư viện gốc được biên dịch của bạn nằm trong $HADOOP_HOME/libthư mục.

nó nên hoạt động


2
export HADOOP_HOME=/home/hadoop/hadoop-2.4.1  
export PATH=$HADOOP_HOME/bin:$PATH  
export HADOOP_PREFIX=$HADOOP_HOME  
export HADOOP_COMMON_HOME=$HADOOP_PREFIX  
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native  
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop  
export HADOOP_HDFS_HOME=$HADOOP_PREFIX  
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX  
export HADOOP_YARN_HOME=$HADOOP_PREFIX  
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

có, bạn nên biên dịch lại lib / 64 bit thông qua tài nguyên hadoop.
KunBetter

2

Dòng này ngay tại đây:

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

Từ câu trả lời của KunBetter, đã làm việc cho tôi. Chỉ cần thêm nó vào tệp .bashrc và tải lại nội dung .bashrc

$ source ~/.bashrc

Tôi đang sử dụng phiên bản hadoop-2.6.0 trong hệ thống cục bộ của mình. Tôi cũng đã phải đối mặt với vấn đề tương tự. Sau đó, tôi đã tải xuống hadoop-2.7.1-src và xây dựng các thư viện nhị phân và bản địa, cũng thay thế các thư viện gốc hadoop-2.6.0 bằng các bản địa mới được xây dựng. Nhưng tôi vẫn nhận được lỗi tương tự. Sau đó tôi export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATHvà nó làm việc cho tôi.
ParagFlume 2/2/2016

1

Dòng này ngay tại đây:

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

Từ câu trả lời của KunBetter là tiền ở đâu


Trong trường hợp của tôi, tôi cần cả hai: export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATHexport LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:$LD_LIBRARY_PATH
borice

1

Tôi gặp vấn đề tương tự với JDK6, tôi đã thay đổi JDK thành JDK8, vấn đề đã được giải quyết. Hãy thử sử dụng JDK8 !!!


1

Ngoài câu trả lời được chấp nhận của @zhutoulala, đây là bản cập nhật để làm cho nó hoạt động với phiên bản ổn định mới nhất cho đến nay (2.8) trên nền tảng ARMHF (Raspberry Pi 3 model B). Trước tiên tôi có thể xác nhận rằng bạn phải biên dịch lại các thư viện gốc thành ARM 64 bit, các câu trả lời khác ở đây dựa trên việc đặt một số biến môi trường sẽ không hoạt động. Như đã nêu trong tài liệu Hadoop, các thư viện gốc được xây dựng trước là 32 bit.

Các bước ở cấp độ cao được đưa ra trong liên kết nắm tay ( http://www.ercoppa.org/posts/how-to-compile-apache-hadoop-on-ubfox-linux.html ) là chính xác. Trên url này http://www.instructables.com/id/Native-Hadoop-260-Build-on-Pi/ bạn có thêm thông tin chi tiết cụ thể cho Raspberry Pi, nhưng không phải cho phiên bản Hadoop 2.8.

Dưới đây là chỉ dẫn của tôi đổ Hadoop 2.8:

  • vẫn chưa có gói protobuf trên Raspbian mới nhất nên bạn phải tự biên dịch nó và phiên bản phải chính xác là protobuf 2.5 ( https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz )
  • Phương pháp vá tệp CMake phải được thay đổi. Hơn nữa, các tập tin để vá không giống nhau. Thật không may, không có bản vá được chấp nhận trên JIRA cụ thể cho 2.8. Trên URL này ( https://issues.apache.org/jira/browse/HADOOP-9320 ), bạn phải sao chép và dán bản vá đề xuất Andreas Muttscheller trên nút tên của bạn:

    :hadoop-2.8.0-src/hadoop-common-project/hadoop-common $ touch HADOOP-9320-v2.8.patch
    :hadoop-2.8.0-src/hadoop-common-project/hadoop-common $ vim HADOOP-9320-v2.8.patch
    #copy and paste proposed patch given here : https://issues.apache.org/jira/browse/HADOOP-9320?focusedCommentId=16018862&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16018862
    :hadoop-2.8.0-src/hadoop-common-project/hadoop-common $ patch < HADOOP-9320-v2.8.patch
    patching file HadoopCommon.cmake
    patching file HadoopJNI.cmake
    :hadoop-2.8.0-src/hadoop-common-project/hadoop-common $ cd ../..
    :hadoop-2.8.0-src $ sudo mvn package -Pdist,native -DskipTests -Dtar

Sau khi xây dựng thành công:

    :hadoop-2.8.0-src/hadoop-dist/target/hadoop-2.8.0/lib/native $ tar -cvf nativelibs.tar *

Và thay thế nội dung của thư mục lib / gốc của bản cài đặt Hadoop của bạn bằng nội dung của kho lưu trữ này. Thông báo cảnh báo khi chạy Hadoop sẽ biến mất.


0

Để cài đặt Hadoop, thật dễ dàng hơn nhiều khi cài đặt phiên bản miễn phí từ Cloudera. Nó đi kèm với một GUI đẹp giúp cho việc thêm các nút trở nên đơn giản, không cần biên dịch hay nhồi nhét xung quanh với các phụ thuộc, nó đi kèm với các công cụ như tổ ong, lợn, v.v.

http://www.cloudera.com/content/support/en/doads.html

Các bước là: 1) Tải xuống 2) Chạy nó 3) Truy cập GUI web (1.2.3.4:7180) 4) Thêm các nút bổ sung trong gui web (KHÔNG cài đặt phần mềm cloudera trên các nút khác, nó hoàn toàn phù hợp với bạn) 5) Trong GUI web đi đến Trang chủ, nhấp vào Giao diện người dùng web Huế và Huế. Điều này cho phép bạn truy cập vào Hive, Pig, Sqoop, v.v.


Các bản phân phối Cloudera nhiều lần so với các phiên bản hiện tại có sẵn cho nhiều gói. nếu bạn muốn "mới nhất và vĩ đại nhất", Apache Hadoop là con đường để đi
Nerrve

0

Biện pháp khắc phục được xác minh từ các bài đăng trước đó:

1) Đã kiểm tra rằng libhadoop.so.1.0.0giao hàng với phân phối Hadoop đã được biên dịch cho kiến ​​trúc máy của tôi, đó là x86_64:

[nova]:file /opt/hadoop-2.6.0/lib/native/libhadoop.so.1.0.0
/opt/hadoop-2.6.0/lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3a80422c78d708c9a1666c1a8edd23676ed77dbb, not stripped

2) Thêm -Djava.library.path=<path>để HADOOP_OPThadoop-env.sh:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.library.path=/opt/hadoop-2.6.0/lib/native"

Điều này thực sự làm cho cảnh báo khó chịu biến mất.


0

Thứ nhất: Bạn có thể sửa đổi phiên bản glibc.CentOS cung cấp phần mềm an toàn theo phương thức, điều đó cũng có nghĩa là phiên bản này đã cũ như glibc, protobuf ...

ldd --version
ldd /opt/hadoop/lib/native/libhadoop.so.1.0.0

Bạn có thể so sánh phiên bản của glibc hiện tại với glibc cần thiết.

Thứ hai: Nếu phiên bản của glibc hiện tại đã cũ, bạn có thể cập nhật glibc. Tải xuống Glibc

Nếu phiên bản của id glibc hiện tại đúng, bạn có thể nối thêm từ gốc vào HADOOP_OPTS của bạn

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

0

Tôi không sử dụng CentOS. Đây là những gì tôi có trong Ubuntu 16.04.2, hadoop-2.7.3, jdk1.8.0_121. Chạy start-dfs.sh hoặc stop-dfs.sh thành công với lỗi w / o:

# JAVA env
#
export JAVA_HOME=/j01/sys/jdk
export JRE_HOME=/j01/sys/jdk/jre

export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${PATH}:.

# HADOOP env
#
export HADOOP_HOME=/j01/srv/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Thay thế / j01 / sys / jdk, / j01 / srv / hadoop bằng đường dẫn cài đặt của bạn

Tôi cũng đã thực hiện các thao tác thiết lập một lần trên Ubuntu, loại bỏ yêu cầu nhập mật khẩu nhiều lần khi chạy start-dfs.sh:

sudo apt install openssh-server openssh-client
ssh-keygen -t rsa
ssh-copy-id user@localhost

Thay thế người dùng bằng tên người dùng của bạn


0

Về cơ bản, đó không phải là một lỗi, đó là một cảnh báo trong cụm Hadoop. Ở đây chỉ cần chúng tôi cập nhật các biến môi trường.

xuất HADOOP_OPTS = "$ HADOOP_OPTS" -Djava.l Library.path = / usr / local / hadoop / lib
 xuất HADOOP_COMMON_LIB_NECT_DIR = "/ usr / local / hadoop / lib / bản địa"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.