【问题标题】:On hadoop 2.2.0, My datanode could't start up在 hadoop 2.2.0 上,我的数据节点无法启动
【发布时间】:2014-08-21 18:45:01
【问题描述】:

大家,我在搭建Hadoop集群的时候遇到了一个小问题
我的节点安装 CentOS 6.5、java1.7.60 和 hadoop 2.2.0

我要建一个主和三个从
我尝试像this 那样构建它
但最后,我尝试启动我的 namenode 和 datanode

我的 /etc/hosts 是这样的:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.10.10.10 master
10.10.10.11 slave1
10.10.10.12 slave2
10.10.10.13 slave3

当我输入时就像这样:

$ hadoop namenode -fromat:

java.net.UnknownHostException: hadoop01.hadoopcluster: hadoop01.hadoopcluster
    at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
    at org.apache.hadoop.net.DNS.resolveLocalHostname(DNS.java:264)
    at org.apache.hadoop.net.DNS.<clinit>(DNS.java:57)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:914)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:550)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:144)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:837)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1213)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1320)
Caused by: java.net.UnknownHostException: hadoop01.hadoopcluster
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
    ... 8 more
14/07/01 16:50:46 WARN net.DNS: Unable to determine address of the host-falling back to "localhost" address
java.net.UnknownHostException: hadoop01.hadoopcluster: hadoop01.hadoopcluster
    at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
    at org.apache.hadoop.net.DNS.resolveLocalHostIPAddress(DNS.java:287)
    at org.apache.hadoop.net.DNS.<clinit>(DNS.java:58)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:914)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:550)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:144)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:837)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1213)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1320)
Caused by: java.net.UnknownHostException: hadoop01.hadoopcluster
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
    ... 8 more

并尝试发出 start-dfs.sh 和 start-yarn.sh:

$ start-dfs.sh
14/07/01 16:55:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [master]
master: namenode running as process 2395. Stop it first.
slave2: starting datanode, logging to /opt/hadoop/logs/hadoop-hadoop-datanode-hadoop03.hadopcluster.out
slave1: starting datanode, logging to /opt/hadoop/logs/hadoop-hadoop-datanode-hadoop02.hadopcluster.out
slave3: starting datanode, logging to /opt/hadoop/logs/hadoop-hadoop-datanode-hadoop04.hadopcluster.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: secondarynamenode running as process 2564. Stop it first.
14/07/01 16:55:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable


$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /opt/hadoop/logs/yarn-hadoop-resourcemanager-hadoop01.hadoopcluster.out
slave1: starting nodemanager, logging to /opt/hadoop/logs/yarn-hadoop-nodemanager-hadoop02.hadopcluster.out
slave3: starting nodemanager, logging to /opt/hadoop/logs/yarn-hadoop-nodemanager-hadoop04.hadopcluster.out
slave2: starting nodemanager, logging to /opt/hadoop/logs/yarn-hadoop-nodemanager-hadoop03.hadopcluster.out

然后输入 jps:

$ jps
2564 SecondaryNameNode
5591 Jps
2395 NameNode

我只有这个样子,没有DataNode、NodeManager、ResourceManger...等, 我设置的时候有哪里不对吗? 谁能给我一些建议,谢谢!

【问题讨论】:

  • start-all.sh吗?
  • 是的,但它也不起作用
  • 你在日志文件/opt/hadoop/logs/hadoop-hadoop-datanode-hadoop03.hadopcluster.out中有什么?
  • $ less /opt/hadoop/logs/hadoop-hadoop-datanode-hadoop03.hadopcluster.out /opt/hadoop/logs/hadoop-hadoop-datanode-hadoop03.hadopcluster.out:没有这样的文件或目录
  • 在日志文件夹中,没有这个日志文件

标签: hadoop centos6 hadoop2


【解决方案1】:

DHCP(动态主机配置协议)

它是部署在 IP 网络上的服务器,用于为其客户端分配 IP 地址。因此,您必须在服务器端和客户端都配置 DHCP。

在服务器端:

  • 获取包裹:isc-dhcp-server
  • 编辑/etc/network接口配置接口,为DHCP服务器选择一个静态IP地址
  • 指定本地网络接口 DHCP 将监听 (/etc/default/isc-dhcp-server)
  • 编辑配置文件/etc/dhcp/dhcpd.conf选择本地网络使用的IP地址,定义DNS服务器

在客户端:

  • 编辑 /etc/network 接口以配置接口

您可以确保它已正确安装和配置,您可以使用ifconfigping 命令。

DNS(域名系统)

  • 正在安装bind9
  • 编辑/etc/bind/named.conf 以添加主机

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多