hadoop安装格式化NameNode 报错

osc_10215582 发布于 03/13 20:05
阅读 171
收藏 0

用的root用户格式化

报错信息

加载中
0
小激动Caim
小激动Caim

在Hadoop中,格式化NameNode需要使用HDFS管理员用户来执行,而root用户不是HDFS管理员用户。因此,使用root用户格式化NameNode会导致权限不足的错误。您可以尝试以HDFS管理员用户身份执行格式化操作,具体步骤如下:

  1. 创建HDFS管理员用户。您可以使用以下命令创建一个名为hdfsadmin的用户:
    sudo adduser hdfsadmin
     
     
  2. hdfsadmin用户添加到Hadoop的超级用户列表中。编辑Hadoop的core-site.xml文件,添加以下配置:
    <configuration>
      <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hdfsadmin.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hdfsadmin.groups</name>
        <value>*</value>
      </property>
    </configuration>
     
     
    这里将hdfsadmin用户添加到超级用户列表中,以便其能够执行格式化操作。
  3. 切换到hdfsadmin用户。您可以使用以下命令切换用户:
    sudo su - hdfsadmin
     
     
  4. 格式化NameNode。使用以下命令格式化NameNode:
    hdfs namenode -format
     
     
    如果格式化成功,您应该会看到一条类似于以下的消息:
    Storage directory /tmp/hadoop-hdfs/dfs/name has been successfully formatted.
     
     

注意,如果您使用的是Hadoop 3或更高版本,您还需要在hdfs-site.xml文件中添加以下配置,以允许hdfsadmin用户访问HDFS:

<configuration>
  <property>
    <name>dfs.permissions.superusergroup</name>
    <value>hdfs</value>
  </property>
</configuration>
 

这里将hdfsadmin用户添加到hdfs组中,以便其能够访问HDFS。

0
ville
ville

关闭权限校验,那玩意儿会导致操作失败

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部