হ্যাডোপ "আপনার প্ল্যাটফর্মের জন্য নেটিভ-হাদুপ লাইব্রেরি লোড করতে অক্ষম" সতর্কতা


269

আমি বর্তমানে চলমান একটি সার্ভারে Hadoop কনফিগার করছি CentOS । যখন আমি চালাচ্ছি start-dfs.shবা stop-dfs.sh, আমি নিম্নলিখিত ত্রুটিটি পাই:

সতর্কতা ব্যবহার.নিটিভ কোডলোডার: আপনার প্ল্যাটফর্মের জন্য নেটিভ-হ্যাডোপ লাইব্রেরি লোড করতে অক্ষম ... বিল্টিন-জাভা ক্লাস ব্যবহার করে যেখানে প্রযোজ্য

আমি হ্যাডোপ ২.২.০ চালাচ্ছি

অনলাইনে অনুসন্ধান করা এই লিঙ্কটি নিয়ে এসেছে: http://balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html

যাইহোক, /native/hadoop 2.x ডিরেক্টরিতে থাকা বিষয়বস্তু আলাদা বলে মনে হচ্ছে তাই আমি কী করব তা নিশ্চিত নই।

আমি এই দুটি পরিবেশের ভেরিয়েবল এতে যুক্ত করেছি hadoop-env.sh:

HADOOP_OPTS = "$ HADOOP_OPTS -Djava.library.path = / usr / স্থানীয় / hadoop / lib /" রফতানি করুন

HADOOP_COMMON_LIB_NATIVE_DIR = "/ usr / স্থানীয় / hadoop / lib / নেটিভ /" রফতানি করুন

কোন ধারনা?


3
অনুসন্ধানযোগ্যতার জন্য: এই সমস্যাটি কমপক্ষে হ্যাডোপ ২.৪.০, হ্যাডোপ ২.৪.১ এবং সম্ভবত অন্যান্য সংস্করণগুলিতেও প্রযোজ্য।
গ্রেগ ডুবিকি

নেটিভ লাইব্রেরিগুলি কীভাবে ব্যবহার করতে হয় তার জন্য ডকুমেন্টেশন হ্যাডো.প.এপাচি.আর.এড.এচ.এচ.এচ.কোর্স
জেমস মুর

উত্তর:


227

আমি ধরে নিচ্ছি আপনি 64 বিট সেন্টোজে হ্যাডোপ চালাচ্ছেন। আপনি যে সতর্কতাটি দেখেছেন তা হ্যাডোপ লাইব্রেরিটি $HADOOP_HOME/lib/native/libhadoop.so.1.0.0হ'ল লাইপ লাইব্রেরিটি আসলে 32 বিটের উপর সংকলিত হয়েছিল।

যাইহোক, এটি কেবল একটি সতর্কতা, এবং হাদুপের কার্যকারিতা প্রভাবিত করবে না।

আপনি যদি এই সতর্কতাটি দূর করতে চান, হাদুপের উত্স কোডটি ডাউনলোড করুন এবং bit৪ libhadoop.so.1.0.0বিট সিস্টেমে পুনরায় রচনা করুন, তবে 32 বিটটি প্রতিস্থাপন করুন way

উবুন্টুর জন্য কীভাবে উত্স কোডটি পুনরায় কম্পাইল করবেন সেই পদক্ষেপগুলি এখানে অন্তর্ভুক্ত করা হয়েছে:

শুভকামনা।


7
আমার জন্য কাজ করে না। আপনার প্ল্যাটফর্ম ত্রুটির জন্য নেটিভ-হ্যাডোপ লাইব্রেরি লোড করতে আমার অক্ষম।
অক্ষয় হাজারী

7
এমনকি যদি এটি ঠিক কাজ না করে তবে এটি এখনও সহায়ক। তাহলে এই পারফরম্যান্স কি আদৌ প্রভাব ফেলবে?
ওয়াটসআইনাবক্স

1
আমি Centos 7 এবং Centos 6.5 এ একই হুডোপ 2.5.0 টার ব্যবহার করছি। উভয়ই 64 বিট ওএস। সেন্টোস 7-তে এই ধরনের কোনও সতর্কতা নেই তবে সেন্টোস 6.5 আমাকে এই সতর্কতা দেয়, কেন?
সন্দীপ দ্বিবেকার

ধন্যবাদ। আমি বুঝতে পারি নি যে এটি একটি সতর্কতা। প্রকৃতপক্ষে "শুরুর নামনোড" বলেছেন এবং শেষ বাক্যটি "নেটিভ-হ্যাডোপ লোড করতে অক্ষম .." যা ভয় সৃষ্টি করেছিল।
কৌশিক লেলে

নোট করুন যে নির্দেশাবলী যেমন প্রস্তাবিত হয় তেমন আপনাকে আসলে পুরো হাদুপকে সংকলন করতে হবে না - hadoop-common-project/hadoop-commonএবং hadoop-hdfs-project/hadoop-hdfsযথেষ্ট।
গ্রেগ দুবিকি

152

শুধু শব্দ সংযোজন নেটিভ আপনার টু HADOOP_OPTSভালো:

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

পিএস: স্যারেন ধন্যবাদ


এটি আমার জন্য এটিও করেছিল। হুডোপ ২.6 সহ উবুন্টুতে, পথটি ছিল / হোম
ইউজার

25
HADOOP_OPTS = "- Djava.library.path = $ HADOOP_HOME / lib / নেটিভ"
রফতানি করুন

1
আমি মনে করি, দুটি সমাধান একই। ডক এর মতে , java.library.path গ্রন্থাগারগুলি লোড করার সময় অনুসন্ধানের জন্য একটি পাথের তালিকা। যাতে, আপনি LD_LIBRARY_PATH রপ্তানি করতে পারেন বা জাভা কমান্ড লাইনে -D বিকল্পটি ব্যবহার করতে পারেন । জাভা কমান্ড লাইনে, এবং -D <property> = মান আমাদের একটি সিস্টেমের সম্পত্তি মান সেট করতে দেয়।
হোয়াই-থু ভুং

54

উত্তর নির্ভর করে ... আমি সবেমাত্র হ্যাডোপ ২.6 ইনস্টল করে টার্বল থেকে 64৪-বিট সেন্টোস .6..6 এ রেখেছি। হ্যাডোপ ইনস্টলটি সত্যই একটি প্রাক-বিল্ট 64৪-বিট নেটিভ লাইব্রেরির সাথে আসে। আমার ইনস্টলের জন্য, এটি এখানে:

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

এবং আমি জানি এটি 64-বিট:

[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)

দুর্ভাগ্যক্রমে, আমি বোকামি করে উত্তরটি তখনই আমার মুখের দিকে তাকাচ্ছিলাম কারণ আমি কেন্দ্রীভূত ছিলাম, "এই লাইব্রেরিটি কি 32 জন 64 বিট?":

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

সুতরাং, পাঠ শিখেছি। যাইহোক, বাকিগুলি কমপক্ষে আমাকে সতর্কতা দমন করতে সক্ষম হতে পরিচালিত করেছিল। সুতরাং আমি চালিয়ে গিয়েছিলাম এবং অন্যান্য উত্তরে HADOOP_OPTS পরিবেশের পরিবর্তনশীল ব্যবহার করে লাইব্রেরির পথ সরবরাহ করার জন্য সমস্ত জবাব দিয়েছি। সুতরাং আমি উত্স কোড তাকান। ত্রুটি উত্পন্ন মডিউলটি আপনাকে ইঙ্গিতটি জানায় ( Use.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

সুতরাং, এটি কী করে তা দেখার জন্য এখান থেকে:

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

আহ, কিছু ডিবাগ স্তরের লগিং রয়েছে - আসুন আমরা কিছু অতিরিক্ত সহায়তা পাই কিনা তা একবার দেখা যাক। নিম্নলিখিত লাইনটি $ HADOOP_CONF_DIR / log4j.properties ফাইলটিতে যুক্ত করে এটি করা হয়:

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

তারপরে আমি একটি কমান্ড চালিয়েছি যা স্টপ- dfs.sh এর মত আসল সতর্কতা উত্পন্ন করে এবং এই গুডিকে পেয়েছে:

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)

এবং উত্তরটি ডিবাগ বার্তার এই স্নিপেটে প্রকাশিত হয়েছে (একই জিনিসটি আগের ldd কমান্ড আমাকে বলতে চেষ্টা করেছিল:

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

আমার কাছে জি এল এল বি সি এর কোন সংস্করণ আছে? এটি জানার জন্য এখানে সহজ কৌশল:

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

সুতরাং, আমার ওএসটি 2.14 এ আপডেট করতে পারবেন না। কেবলমাত্র সমাধানটি হ'ল আমার ওএসের উত্স থেকে নেটিভ গ্রন্থাগারগুলি তৈরি করা বা সতর্কতা দমন করা এবং আপাতত এটিকে উপেক্ষা করুন। আমি আপাতত বিরক্তিকর সতর্কবার্তাটি দমন করতে চেয়েছি (তবে ভবিষ্যতে উত্সগুলি থেকে তৈরি করার পরিকল্পনা করুন) একই লগিং অপশনগুলি ব্যবহার করে কিনুন যা আমরা ডিবাগ বার্তাটি পাওয়ার জন্য ব্যবহার করি, এখন বাদে, কেবল এটির স্তর তৈরি করুন।

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

আমি আশা করি এটি অন্যকে দেখতে সহায়তা করে যে ওপেন সোর্স সফ্টওয়্যারটির একটি বড় সুবিধা হ'ল আপনি যদি কিছু সাধারণ যৌক্তিক পদক্ষেপ গ্রহণ করেন তবে আপনি এই জিনিসটি বের করতে পারেন।


4
স্যার আপনাকে সুন্দরভাবে উত্তর দেওয়ার জন্য ধন্যবাদ। আমি আমার উত্তর পেয়েছি এবং প্রক্রিয়াটিতে মূল্যবান কিছু (কিছু কিছু) শিখেছি।
ডগউইন

26

আমারো একই ইস্যু ছিল. এটি নিম্নলিখিত লাইনগুলি যুক্ত করে সমাধান করা হয়েছে .bashrc:

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

5
আমাকে HADOOP_OPTS মান "/ নেটিভ" যোগ করতে হয়েছিল
আলা '

21

আমার ক্ষেত্রে, আমি আমার bit৪ বিট লিনাক্স পুদিনা ওএসে হ্যাডোপ তৈরির পরে, আমি নেটিভ লাইব্রেরিটি প্রতিস্থাপন করেছি hadoop/lib। তবুও সমস্যা বজায় রয়েছে। তারপর আমি করতে Hadoop ইশারা মূর্ত আউট hadoop/libনা hadoop/lib/native। সুতরাং আমি স্রেফ নেটিভ লাইব্রেরি থেকে সমস্ত বিষয়বস্তুকে এর পিতামাতায় সরিয়ে নিয়েছি। এবং সতর্কতা সবে গেছে।


আমি ঠিক করেছি নেট এ সব চেষ্টা করে দেখেছি। আমি ক্লান্ত হয়ে পড়েছিলাম এবং কেবলমাত্র লাইব ফোল্ডারের সমস্ত ফাইল খালি করে দিয়েছি, উপরের উত্তরে প্রদত্ত লিঙ্কগুলি ব্যবহার করে সংকলিত ফাইলগুলি। অবশেষে আমি জানি না কেন আপনি যে প্রস্তাবগুলি পেয়ে গেছেন তা সত্ত্বেও কেন আমি আপনার পরামর্শটি চেষ্টা করেছি এবং এটি একটি প্রচণ্ড লড়াইয়ের পরেও কাজ করেছিল যা আমি এই সমস্ত ঘটনার পিছনে একদিন রেখেছিলাম। আমি বাশার্কে স্থানীয় গ্রন্থাগারের অবস্থান পরিবর্তন করেছি কিনা তা বিবেচ্য নয় didn't বা hadoop-env.sh। ধন্যবাদ এক টন
অক্ষয় হাজারী

আমি ক্লান্ত হয়ে পড়েছি এবং লাইব ফোল্ডারে নিজেই সমস্ত নেটিভ ফোল্ডার ফাইল খালি করে ফেলেছি অর্থাৎ উপরের উত্তরে প্রদত্ত লিঙ্কগুলি ব্যবহার করে সংকলিত ফাইলগুলি (নতুন হ্যাডোপ -২.৪.০-এসসিআর.সি.আর.জেডে নেটিভ ফোল্ডার।)
অক্ষয় হাজারী

15

এটিও কাজ করবে:

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

1
ধন্যবাদ। আপনি যদি টমক্যাট এপ্রিলটি ব্যবহার করতে LD_LIBRARY_PATH ওভাররাইড করে থাকেন তবে কেবল রফতানি এলডি_লিবারি_প্যাথ = $ এলডি_লিবারি_প্যাথ: / ইউএসআর / লিব / হ্যাডোপ / লিবিব / নেটিভ হিসাবে নেডোপ নেটিভ পাথ যুক্ত করুন।
এরিক

এটি কেবল আমার জন্য সমাধান কাজ করে। (অন্যান্য সমস্ত উত্তর চেষ্টা করে দেখুন)।
sailfish009

13

কোটির পরামর্শ অনুসারে অবিচ্ছিন্ন গবেষণার পরে বিষয়টি সমাধান হয়ে গেল।

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 * ../

চিয়ার্স


11

ওডএক্স-এ হ্যাডোপ সহ হোমব্রিউয়ের মাধ্যমে ইনস্টল করার জন্য, যেখানে উপযুক্ত সেখানে পাথ এবং হ্যাডোপ সংস্করণ প্রতিস্থাপনের এই পদক্ষেপগুলি অনুসরণ করুন

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/

তারপরে hadoop-env.sh আপডেট করুন

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"

ধন্যবাদ ফিলিপ এই সমাধানটি নিখুঁতভাবে কাজ করেছে। আমার ক্ষেত্রে, আমার কেবল দরকার ছিল জাজা.লিবেরি.পথ বিকল্প। আমি ঠিক তাই খুঁজছিলাম। ধন্যবাদ !!!
arcee123

অনেক অনেক ধন্যবাদ b অন্যদের পথ দেখানো আছে। কোনও পরামর্শ.
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

@ ঝুটৌলালা - আপনার লিঙ্কগুলি আমার জন্য হাদোপ ২.৪.০ এর সাথে কাজ করেছিল, তবে একটি ব্যতিক্রম আমাকে মাভেনকে বলতে হয়েছিল জাভাদোকগুলি না তৈরি করতে। আমি প্রথম লিঙ্কে প্যাচটি 2.4.0 এর জন্যও ব্যবহার করেছি এবং এটি দুর্দান্ত কাজ করেছে। এখানে মাভেন কমান্ডটি আমাকে জারি করতে হয়েছিল

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

এটি তৈরি এবং লাইব্রেরিগুলি সরানোর পরে, hadoop-env.sh আপডেট করতে ভুলবেন না :)

ভেবেছিল এটি আমার মতো একই রোড ব্লকগুলিতে ছুটে আসা কাউকে সহায়তা করতে পারে


5

আপনার সংকলিত নেটিভ লাইব্রেরি ফাইলগুলি $HADOOP_HOME/libফোল্ডারে সরান ।

তারপরে .bashrcফাইল সম্পাদনা করে আপনার পরিবেশের ভেরিয়েবল সেট করুন

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

আপনার সংকলিত নেটিভ লাইব্রেরি ফাইলগুলি $HADOOP_HOME/libফোল্ডারে রয়েছে তা নিশ্চিত করুন ।

এটি কাজ করা উচিত.


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

হ্যাঁ, আপনার হ্যাডোপ রিসোর্সের মাধ্যমে 64 বিট লিব / নেটিভ পুনরায় কম্পাইল করা উচিত।
কুনবেটার

2

এই লাইনটি এখানেই:

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

কুনবেটারের উত্তর থেকে, আমার পক্ষে কাজ করেছে। এটি কেবল .brcrc ফাইলের সাথে যুক্ত করুন এবং .brcrc সামগ্রীগুলি পুনরায় লোড করুন

$ source ~/.bashrc

আমি আমার স্থানীয় সিস্টেমে hadoop-2.6 সংস্করণ ব্যবহার করছি। আমিও একই সমস্যার মুখোমুখি ছিলাম। তারপরে আমি হ্যাডোপ -২.7.১-এসসিআর ডাউনলোড করেছি এবং বাইনারি এবং নেটিভ গ্রন্থাগারগুলি তৈরি করেছি, এছাড়াও নতুন নির্মিত নেটিভদের সাথে নেটিভ লাইব্রেরি হ্যাডোপ -২..0.০ প্রতিস্থাপন করেছি। কিন্তু তবুও আমি একই ত্রুটি পেয়েছিলাম। তারপরে আমি export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATHএবং এটি আমার পক্ষে কাজ করেছিলাম।
প্যারাগফ্লুম

1

এই লাইনটি এখানেই:

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

কুনবেটারের উত্তর থেকে অর্থ কোথায় রয়েছে


আমার ক্ষেত্রে আমার উভয়ের দরকার ছিল: export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH এবং export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native:$LD_LIBRARY_PATH
বোরিস

1

জেডিকে 6 নিয়ে আমারও একই সমস্যা ছিল, আমি জেডিকে জেডিকে 8 এ পরিবর্তন করেছি, সমস্যাটি সমাধান হয়েছে। JDK8 ব্যবহার করার চেষ্টা করুন !!!


1

@ ঝুটৌলা গৃহীত উত্তর ছাড়াও, এটিএমএফএফ প্ল্যাটফর্মগুলিতে (রাস্পবেরি পাই 3 মডেল বি) সর্বশেষতম স্থিতিশীল সংস্করণ (২.৮) এর সাথে কাজ করার জন্য এখানে একটি আপডেট রয়েছে। প্রথমে আমি নিশ্চিত করতে পারি যে আপনাকে অবশ্যই স্থানীয় গ্রন্থাগারগুলি 64৪ বিট এআরএম-তে পুনরায় সংকলন করতে হবে, কিছু পরিবেশের ভেরিয়েবল সেট করার উপর ভিত্তি করে এখানে অন্যান্য উত্তরগুলি কাজ করবে না। হ্যাডোপ ডকুমেন্টেশনে ইঙ্গিত হিসাবে, প্রাক-বিল্ট নেটিভ গ্রন্থাগারগুলি 32 বিট।

প্রথম স্তরের লিঙ্কে দেওয়া উচ্চ স্তরের পদক্ষেপগুলি ( http://www.ercoppa.org/posts/how-to-compile-apache-hadoop-on-ubuntu-linux.html ) সঠিক। এই ইউআরএলটিতে http://www.instructables.com/id/Native-Hadoop-260-Build-on-Pi/ আপনি রাস্পবেরি পাই সম্পর্কিত সুনির্দিষ্ট বিশদ পান তবে হ্যাডোপ সংস্করণ ২.৮ এর জন্য নয়।

আমার ইঙ্গিতগুলি হ্যাডোপ ২.৮ pourালা:

  • সাম্প্রতিক রাস্পবিয়ানটিতে এখনও কোনও প্রোটোবফ প্যাকেজ নেই তাই আপনাকে এটি নিজেই সংকলন করতে হবে এবং সংস্করণটি অবশ্যই ঠিক প্রোটোবুফ 2.5 ( https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz ) হতে হবে
  • সিএমকে ফাইল প্যাচিং পদ্ধতি অবশ্যই পরিবর্তন করতে হবে। অধিকতর, প্যাচ করার জন্য ফাইলগুলি এক নয়। দুর্ভাগ্যক্রমে, ২.৮-এর সাথে নির্দিষ্ট জিরার কোনও গ্রহণযোগ্য প্যাচ নেই। এই ইউআরএলে ( https://issues.apache.org/jira/browse/HADOOP-9320 ) আপনাকে অবশ্যই নিজের নেমনেডে আন্দ্রেয়াস মটসচেলারের প্রস্তাবিত প্যাচটি অনুলিপি করে আটকে দিতে হবে:

    :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

বিল্ড একবার সফল হয়:

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

এবং আপনার হ্যাডোপ ইনস্টলের লিব / নেটিভ ডিরেক্টরিতে এই আর্কাইভের সামগ্রীর সাহায্যে প্রতিস্থাপন করুন। হাদোপ চলাকালীন সতর্কতা বার্তাটি অদৃশ্য হয়ে যাবে।


0

হাদুপ ইনস্টল করার জন্য ক্লাউডেরার থেকে বিনামূল্যে সংস্করণ ইনস্টল করা খুব সহজ oo এটি একটি দুর্দান্ত জিইউআইয়ের সাথে আসে যা নোডগুলি যুক্ত করা সহজ করে তোলে, নির্ভরতার সাথে কোনও সংকলন বা স্টাফিং নেই, এটি মাতাল, শূকর ইত্যাদির মতো জিনিস সহ আসে comes

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

পদক্ষেপগুলি: 1) ডাউনলোড করুন 2) এটি চালান 3) ওয়েব জিইউআইতে যান (1.2.3.4:7180) 4) ওয়েব গুইতে অতিরিক্ত নোড যুক্ত করুন (অন্যান্য নোডগুলিতে ক্লৌডের সফ্টওয়্যার ইনস্টল করবেন না, এটি আপনার জন্য সব কিছু করে) 5) ওয়েব জিইউআইয়ের মধ্যে হোম এ যান, হিউ এবং হিউ ওয়েব ইউআই ক্লিক করুন। এটি আপনাকে হাইভ, পিগ, স্কুওপ ইত্যাদিতে অ্যাক্সেস দেয়


ক্লাউডের বিতরণ অনেকগুলি প্যাকেজের জন্য উপলব্ধ সংস্করণগুলির পিছনে অনেক সময়। যদি আপনি "সর্বশেষতম এবং সর্বশ্রেষ্ঠ" চান, তবে অ্যাপাচি
হাদুপ

0

পূর্ববর্তী পোস্টগুলি থেকে যাচাই করা প্রতিকার:

1) পরীক্ষা করা হয়েছে যে libhadoop.so.1.0.0আমার মেশিন আর্কিটেকচারের জন্য হ্যাডোপ বিতরণের সাথে প্রেরিত পাঠানো হয়েছে যা 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) যোগ করা হয়েছে -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"

এটি প্রকৃতপক্ষে বিরক্তিকর সতর্কতা অদৃশ্য করে দিয়েছে।


0

প্রথমত: আপনি গিলিবিসি সংস্করণটি সংশোধন করতে পারেন ent সেন্ট্টস সুরক্ষিতভাবে নিরাপদ সফ্টওয়্যার সরবরাহ করে, এর অর্থ হ'ল সংস্করণটি পুরানো যেমন গ্লিবিসি, প্রোটবুফ ...

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

আপনি প্রয়োজনীয় গ্লিবিকের সাথে বর্তমান গ্লিবিকের সংস্করণটি তুলনা করতে পারেন।

দ্বিতীয়ত: যদি বর্তমান গ্লিবসিটির সংস্করণটি পুরানো হয় তবে আপনি গ্লিবিসি আপডেট করতে পারেন। ডাউনলয়েড গ্লিবসি

যদি বর্তমান গ্লিবসি আইডিটির সংস্করণটি সঠিক হয় তবে আপনি আপনার HADOOP_OPTS- এ স্থানীয় শব্দটি যুক্ত করতে পারেন

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

0

আমি সেন্টস ব্যবহার করছি না। উবুন্টুতে আমার যা আছে তা এখানে রয়েছে 16.04.2, হ্যাডোপ -২.7.৩, জেডিকে ১.৮.০.২০১২। Start-dfs.sh বা স্টপ- dfs.sh চালান সফলভাবে ডাব্লু / ও ত্রুটি:

# 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

/ J01 / sys / jdk, / j01 / srv / hadoop আপনার ইনস্টলেশন পথের সাথে প্রতিস্থাপন করুন

আমি উবুন্টুতে ওয়ান টাইম সেটআপের জন্য নিম্নলিখিতগুলিও করেছি, যা স্টার্ট- dfs.sh চলাকালীন একাধিকবার পাসওয়ার্ড প্রবেশের প্রয়োজনীয়তা দূর করে:

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

আপনার ব্যবহারকারী নাম দিয়ে ব্যবহারকারীকে প্রতিস্থাপন করুন


0

মূলত, এটি ত্রুটি নয়, এটি হ্যাডোপ ক্লাস্টারে একটি সতর্কতা। এখানে আমরা পরিবেশের ভেরিয়েবল আপডেট করি।

HADOOP_OPTS = "$ HADOOP_OPTS" রপ্তানি করুন -জাজা.লিবেরি.পাথ = / ইউএসআর / স্থানীয় / হাদুপ / লিব
 HADOOP_COMMON_LIB_NATIVE_DIR = "/ usr / স্থানীয় / hadoop / lib / নেটিভ" রফতানি করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.