配置不正确:未配置名称节点地址dfs.namenode.rpc-address

ie3xauqp  于 2021-06-02  发布在  Hadoop
关注(0)|答案(13)|浏览(710)

我在尝试启动数据节点时遇到了这个错误。从我读到的内容来看,rpc参数只用于ha配置,我想我没有设置它。

2014-05-18 18:05:00,589 INFO  [main] impl.MetricsSystemImpl (MetricsSystemImpl.java:shutdown(572)) - DataNode metrics system shutdown complete.
2014-05-18 18:05:00,589 INFO  [main] datanode.DataNode (DataNode.java:shutdown(1313)) -     Shutdown complete.
2014-05-18 18:05:00,614 FATAL [main] datanode.DataNode (DataNode.java:secureMain(1989)) - Exception in secureMain
java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
at org.apache.hadoop.hdfs.DFSUtil.getNNServiceRpcAddresses(DFSUtil.java:840)
at   org.apache.hadoop.hdfs.server.datanode.BlockPoolManager.refreshNamenodes(BlockPoolManager.java:151)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:745)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:278)

我的文件看起来像:
[root@datanode1 conf.cluster]#cat core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>
 <name>fs.defaultFS</name>
 <value>hdfs://namenode:8020</value>
</property>

</configuration>

cat hdfs-site.xml文件

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
 <name>dfs.datanode.data.dir</name>
 <value>/hdfs/data</value>
</property>
<property>
 <name>dfs.permissions.superusergroup</name>
 <value>hadoop</value>
</property>
</configuration>

我使用的是最新的cdh5发行版。

Installed Packages
Name        : hadoop-hdfs-datanode
Arch        : x86_64
Version     : 2.3.0+cdh5.0.1+567
Release     : 1.cdh5.0.1.p0.46.el6

关于如何克服这个问题有什么有用的建议吗?
编辑:只需使用cloudera管理器。

fiei3ece

fiei3ece1#

这种类型的问题主要出现在以下任意一个文件中的属性值或名称中有空格-core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
只需确保在开始和结束的名称和值标记之间没有放置任何空格或(更改了行)。
代码:

<property> 
<name>dfs.name.dir</name> <value>file:///home/hadoop/hadoop_tmp/hdfs/namenode</value> 
<final>true</final> 
</property>
ivqmmu1c

ivqmmu1c2#

我也面临同样的问题,格式化hdfs解决了我的问题。如果有重要的元数据,不要格式化hdfs。
格式化hdfs的命令: hdfs namenode -format 当namenode不工作时

格式化hdfs后

pcrecxhr

pcrecxhr3#

检查“/etc/hosts”文件:
必须有下面这样一行:(如果没有,那么加上) namenode 127.0.0.1 将127.0.01替换为namenode ip。

sxpgvts3

sxpgvts34#

这些步骤为我解决了问题: export HADOOP_CONF_DIR = $HADOOP_HOME/etc/hadoop echo $HADOOP_CONF_DIR hdfs namenode -format hdfs getconf -namenodes ./start-dfs.sh

agxfikkp

agxfikkp5#

检查$hadoop\u install/etc/hadoop dir下的core-site.xml。验证属性fs.default.name配置是否正确

zy1mlcev

zy1mlcev6#

我也有同样的问题。我通过检查数据节点上的环境找到了解决方案:

$ sudo update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50
$ sudo update-alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster

确保在数据节点上正确设置了备选方案。

jdgnovmf

jdgnovmf7#

在core-site.xml中配置完整的主机名,masters和slave为我解决了这个问题。
旧:node1(失败)
新增:node1.krish.com(succeed)

chhqkbe1

chhqkbe18#

我也面临同样的问题,最终发现fs.default.name value中有一个空格。截断空间解决了这个问题。上面的core-site.xml似乎没有空间,因此问题可能与我的不同。我的2美分

r1zhe5dt

r1zhe5dt9#

在我的情况下,我将/etc/hosts config改为小写。

h9a6wy2h

h9a6wy2h10#

在hadoop-env.cmd中添加下面的行

set HADOOP_HOME_WARN_SUPPRESS=1
2admgd59

2admgd5911#

创建dfs.name.dir和dfs.data.dir目录并在core-site.xml、masters和slaves中配置完整主机名解决了我的问题

p4rjhz4m

p4rjhz4m12#

显然,core-site.xml有配置错误。

<property>
 <name>fs.defaultFS</name>
 <value>hdfs://namenode:8020</value>
</property>

你的 <name>fs.defaultFS</name> 设置为 <value>hdfs://namenode:8020</value> ,但您的计算机主机名为 datanode1 所以你只需要找点零钱 namenodedatanode1 会没事的。

qv7cva1a

qv7cva1a13#

在我的例子中,我错误地将hadoop\u conf\u dir设置为其他hadoop安装。
添加到hadoop-env.sh:

export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop/

相关问题