Hadoop: не удается запустить NameNode - PullRequest
0 голосов
/ 22 мая 2019

Я настраиваю кластер Hadoop, состоящий из 1 главного и 2 подчиненных.Когда я запускаю jps демон NameNode не запускается на главном узле, но работают DataNode и Secondary NameNode (соответственно на ведомых и на главном).

Ошибка

java.net.BindException: Problem binding to [master-1320-2:9000] java.net.BindException: Cannot assign requested address
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:831)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:736)
        at org.apache.hadoop.ipc.Server.bind(Server.java:562)
        at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:1038)
        at org.apache.hadoop.ipc.Server.<init>(Server.java:2810)
        at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:960)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:421)
        at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:342)
        at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:802)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:457)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:783)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:697)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:937)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:910)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1643)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1710)
Caused by: java.net.BindException: Cannot assign requested address
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.hadoop.ipc.Server.bind(Server.java:545)
        ... 13 more
2019-05-21 22:39:06,481 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.net.BindException: Problem binding to [master-1320-2:9000] java.net.BindException: Cannot assign requested address

Config Files

etc / hosts /

127.0.0.1 localhost
ip master-1320-2
ip hdfs-slave1-1320
ip hdfs-slave2-1320

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

core-site.xml

<configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master-ip:9000</value>
        </property>
    </configuration>

hdfs-site.xml

<configuration>
    <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///home/ubuntu/data/</value>
    </property>

    <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///home/ubuntu/data/</value>
    </property>

    <property>
            <name>dfs.replication</name>
            <value>1</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <property>
            <name>yarn.acl.enable</name>
            <value>0</value>
    </property>

    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master-ip</value>
    </property>

    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1536</value>
    </property>

    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1536</value>
    </property>

    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>128</value>
    </property>

    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>master-ip:54311</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>512</value>
    </property>

    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>256</value>
    </property>

    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>256</value>
    </property>
</configuration>

мастеров

master-ip

работников

slave1-ip
slave2-ip

Context

  • Если я делаю netstat -tulpn | grep ':9000', на этом порту нет процессов
  • Я попытался удалить папку / tmp и переформатировать namenode (как предложено Google),но это не работает
  • Довольно странно, если я изменю etc / hosts следующим образом (обратите внимание на третью строку в первой строке):
127.0.0.1 localhost master-1320-2
ip master-1320-2
ip hdfs-slave1-1320
ip hdfs-slave2-1320

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

NameNode запускается, но я думаю,это делает что-то не так (я вообще новичок в сети), например, создаю псевдоним для localhost или что-то в этом роде.Более того, последующие процессы, такие как проверка с hdfs dfsadmin -report, не работают.

...