我在单节点机器上的hadoop设置中遇到了一个奇怪的问题,除了root以外的用户不能执行hadoop。
基本上,我按照cloudera的指示,使用单节点模式在ubuntu上安装cdh5。因此,可以使用sudo从根帐户成功调用hadoop:
$ sudo hadoop fs -ls /
Found 3 items
drwxrwxrwt - hdfs supergroup 0 2014-12-03 00:45 /tmp
drwxr-xr-x - hdfs supergroup 0 2014-12-03 00:48 /user
drwxr-xr-x - hdfs supergroup 0 2014-12-03 00:46 /var
但是,使用普通用户帐户时,会抛出一个错误:
$ hadoop fs -ls /
Error: Could not find or load main class org.apache.hadoop.fs.FsShell
我认为问题可能是因为一些访问库文件的问题,但无法找到哪个库文件来修复它。任何解决这个问题的建议都将不胜感激。
2条答案
按热度按时间xmakbtuz1#
问题是因为“root”和“my user”帐户的环境设置不同。在此过程中,我在我的.bashrc中设置了$hadoop\u home,这迫使“我的用户”帐户使用过时的路径。基于根帐户设置进行调整解决了问题。
q5lcpyga2#
尝试使用需要授予权限的用户设置新的用户目录。
遵循步骤11。
希望这有帮助。