आप दो अलग-अलग यहां समस्याओं का सामना कर रहे हैं:
[email protected]:/usr/local/hadoop$ hadoop fs -put /usr/local/input-data/ /input put: /usr/local/input-data (Permission denied)
[email protected]:/usr/local/hadoop$ hadoop fs -put /usr/local/input-data/ /input
put: /usr/local/input-data (Permission denied)
[email protected]:/usr/local/hadoop$
sudo का उपयोग करने और sudouser को hduser जोड़ने के बाद
यहां, उपयोगकर्ता hduser
स्थानीय निर्देशिका /usr/local/input-data
तक पहुंच नहीं है। यही है, आपकी स्थानीय अनुमतियां बहुत ही सीमित हैं। आपको इसे बदलना चाहिए।
[email protected]:/usr/local/hadoop$ sudo bin/hadoop fs -put /usr/local/input-data/ /inwe put: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="":hduser:supergroup:rwxr-xr-x
यहाँ, root
उपयोगकर्ता (जब से तुम sudo का उपयोग कर रहे हैं) HDFS निर्देशिका /input
के लिए उपयोग नहीं है। जैसा कि आप देख सकते हैं: hduser:supergroup:rwxr-xr-x
कहता है कि केवल hduser
में लेखन पहुंच है। Hadoop वास्तव में एक विशेष उपयोगकर्ता के रूप में root
का सम्मान नहीं करता है।
इसे ठीक करने के, मैं सुझाव है कि आप स्थानीय डेटा पर अनुमतियों को बदलने के लिए:
sudo chmod -R og+rx /usr/local/input-data/
फिर, put
आदेश को फिर से hduser के रूप में की कोशिश करो।
स्रोत
2012-07-21 18:58:38
का उपयोग कर आप निर्देशिका के लिए पहुँच अधिकार है इस समस्या का समाधान है? –
हां, सुडो का उपयोग करने के बाद ,,, hduser @ ubuntu:/usr/local/hadoop $ sudo bin/hadoop fs -put/usr/local/input-data// inwe put: org.apache.hadoop.security। AccessControlException: अनुमति अस्वीकृत: उपयोगकर्ता = रूट, एक्सेस = WRITE, inode = "": hduser: supergroup: rwxr-xr-x hduser @ ubuntu:/usr/local/hadoop $ –
मेरे मामले में, ऐसा इसलिए था क्योंकि मैं कोशिश कर रहा था मेरे फाइल सिस्टम में किसी स्थान पर फ़ाइलों को डाउनलोड करने के लिए जहां मुझे अनुमति नहीं थी। – optimist