laohanaa888 2014-08-09 13:50
浏览 644
已采纳

Hadoop RemoteException错误, Superuser privilege is required

环境信息:
Master:172.17.1.101
Slave1:172.17.1.102
Slave1:172.17.1.103

Exception in thread "main" org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Access denied for user hadoop. Superuser privilege is required
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkSuperuserPrivilege(FSPermissionChecker.java:85)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkSuperuserPrivilege(FSNamesystem.java:5742)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.datanodeReport(FSNamesystem.java:4638)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getDatanodeReport(NameNode.java:954)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

hadoop fs -put /opt/test.txt /opt/data/ 这个可以顺利执行
防火墙关了;也重新Format试过了,都不行

附件里含有日志和错误信息

  • 写回答

1条回答 默认 最新

  • De_Moivre 2014-08-09 22:58
    关注

    我看你的hadoop-hadoop-namenode-master.log中日志文件中有错误:
    [code="java"]2014-08-08 21:20:24,154 INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot lock storage /opt/hadoop-1.2.1/tmp/dfs/name. The directory is already locked.
    2014-08-08 21:20:24,157 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
    java.io.IOException: Cannot lock storage /opt/hadoop-1.2.1/tmp/dfs/name. The directory is already locked.
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:599)
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:452)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:299)
    at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:104)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:427)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:395)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:299)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:569)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)[/code]

    楼主使用 ./hadoop namenode -format 命令是格式化命名空间,一定是在未启动 hadoop 服务的时候才能执行。出现这个错误提示有可能是因为 hadoop 的服务是子运行状态。是因为没有关闭hadoop就开始format,sh stop-all.sh 后 再format试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题