クラスタがhadoopを起動すると、クライアントはWeb UIを開くことができません.

3169 ワード

背景
今日は会社でhadoopクラスタを構築しました.使用するサーバはcentos 7である.5.すべては正常で、起動後、すべてのプロセスがあります.唯一異常なのは、Web UIが開かないことです.また、単純な接続ができず、ブラウザに接続拒否などの文字が表示されていないことに気づきました.クライアントとサーバは互いにpingできる. 
クラスタが正常であることが判明したため、linuxはcurl master:5070を使用して発見を表示し、Webページが戻ってくることもあります.だから問題は大きくないと感じて、ご飯が注文したら、ご飯を食べに行きました.
問題解決
食後に戻ってみると、yarnの関連ノードが切れていて、少し緊張していました.しかし、間違いがあるのは間違いがないよりいいので、まずクラスタを止めて、yarnの関連ログを見て、次の間違いを報告しました.
Caused by: java.net.NoRouteToHostException: No Route to Host from  slave45/**.**.***.** to master:8031 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host; For more details see:  http://wiki.apache.org/hadoop/NoRouteToHost
        at sun.reflect.GeneratedConstructorAccessor27.newInstance(Unknown Source)
        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:792)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:758)
        at org.apache.hadoop.ipc.Client.call(Client.java:1480)
        at org.apache.hadoop.ipc.Client.call(Client.java:1413)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
        at com.sun.proxy.$Proxy73.registerNodeManager(Unknown Source)
        at org.apache.hadoop.yarn.server.api.impl.pb.client.ResourceTrackerPBClientImpl.registerNodeManager(ResourceTrackerPBClientImpl.java:68)
        at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
        at com.sun.proxy.$Proxy74.registerNodeManager(Unknown Source)
        at org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.registerWithRM(NodeStatusUpdaterImpl.java:270)
        at org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.serviceStart(NodeStatusUpdaterImpl.java:197)
        ... 6 more

エラーの第1反応を見て、dnsマッピングが完全に構成されていないのではないでしょうか./ect/hostsを表示すると、クラスタが構成されていることがわかります.
この時ふと思い出すと、ファイアウォールは関係ないようです.はい、クラスタ用のサーバはすべて新しいので、関係ないはずです.centos 6のコマンド:service iptables statusを使って、新聞が間違っていることに気づきました
[root@localhost /]# service iptables status
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.

えっ?ファイアウォールの意味はありませんか???
もちろんあり得ません!!!
私は気が利いて、centos 7はすでにcentos 6のiptablesを使わないことを覚えていて、急いでcentos 7のファイアウォールの命令を調べました
[root@localhost /]# firewall-cmd --state
running

以上のように、やはりファイアウォールが開いていて、問題は簡単で、すべてのファイアウォールを消して、そして起動禁止の自開を設定して、hadoopクラスタを再起動して、完成します!
centos 7ファイアウォールを閉じる:
systemctl stop firewalld.service

centos 7ファイアウォールの起動を禁止
systemctl disable firewalld.service