我已经在自制中安装了hadoop,但是现在在执行hadoop namenode-format和./start-all.sh命令时出现了权限控制问题。
我想这是因为我把设置放在了“core site.xml”中。我将“/tmp/${name}”放在“hadoop.tmp.dir”下面。
现在它给了我namenode格式的错误:无法创建文件夹,权限被拒绝。即使我sudo这个命令,但是在start-all.sh命令中,仍然有很多权限被拒绝。我试图sudo start-all.sh,但密码(我只使用这个通行证为我的管理员在mac上),但也拒绝了。
我想是因为权限问题。有什么我能修好的吗?
谢谢!
2条答案
按热度按时间bz4sfanl1#
在本地系统上,似乎没有创建hduser。
作为一个典型的设置过程,创建hadoop组并将hduser用户添加到该组是一个很好的过程。
您可以通过以下命令使用root/super用户帐户执行此操作:
这假设您已经安装了hadoop组。如果未设置,则可以使用以下内容创建组:
qlvxas9a2#
因此,当您运行hadoop时,它会将内容存储在您在hdfs-site.xml文件中配置的数据、名称和tmp目录中。如果不设置这些设置,它们将指向${hadoop.tmp.dir}/dfs/data,在本例中是/tmp dir。这不是您想要存储数据的地方。您首先需要将它们添加到hdfs配置文件以及其他设置中。
在主机上:
在从属服务器上:
现在,一旦完成了,你就必须实际制作这些目录。因此,在master上创建以下目录:/app/hadoop/name、/app/hadoop/data和/app/hadoop/tmp。在从属服务器上创建相同的名称,但名称dir除外。
现在需要设置权限,以便hadoop可以使用它们。第二行只是为了确定。
试试看,看能不能用。如果不是全部答案,我可以回答问题。