HDFS WebUIアクセス不能問題

1 問題説明

3つのdatanode、1つのnamenode、および1つのsecondary namenodeで構成されるhadoopクラスターにおいて、コマンドを入力して状態を確認すると、以下のようにすべて正常です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
(base) root@node4:~# hdfs dfsadmin -report
Configured Capacity: 168292061184 (156.73 GB)
Present Capacity: 128058142720 (119.26 GB)
DFS Remaining: 128058011648 (119.26 GB)
DFS Used: 131072 (128 KB)
DFS Used%: 0.00%
Replicated Blocks:
	Under replicated blocks: 0
	Blocks with corrupt replicas: 0
	Missing blocks: 0
	Missing blocks (with replication factor 1): 0
	Low redundancy blocks with highest priority to recover: 0
	Pending deletion blocks: 0
Erasure Coded Block Groups: 
	Low redundancy block groups: 0
	Block groups with corrupt internal blocks: 0
	Missing block groups: 0
	Low redundancy blocks with highest priority to recover: 0
	Pending deletion blocks: 0

-------------------------------------------------
Live datanodes (3):

はい、見たところ問題はありません。しかし、HDFSのwebページ50070にアクセスできず、HDFSファイルポート9000も使用できません。

2 排査

ファイアウォールやセキュリティグループなどの問題を除外した後、すべてのサービスポートの使用状況を確認します:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
(base) root@node4:~# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      516/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1460/sshd: /usr/sbi 
tcp        0      0 192.168.0.165:8088      0.0.0.0:*               LISTEN      111907/java         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      107217/sshd: root@p 
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      110809/sshd: root@p 
tcp        0      0 127.0.0.1:6013          0.0.0.0:*               LISTEN      105767/sshd: root@p 
tcp        0      0 192.168.0.165:8030      0.0.0.0:*               LISTEN      111907/java         
tcp        0      0 192.168.0.165:8031      0.0.0.0:*               LISTEN      111907/java         
tcp        0      0 192.168.0.165:8032      0.0.0.0:*               LISTEN      111907/java         
tcp        0      0 192.168.0.165:8033      0.0.0.0:*               LISTEN      111907/java         
tcp        0      0 192.168.0.165:9000      0.0.0.0:*               LISTEN      111496/java         
tcp        0      0 0.0.0.0:9870            0.0.0.0:*               LISTEN      111496/java         

2つの問題を発見しました:

  1. 50070ポートがリストにありません
  2. 9000ポートが内部ネットワークIPに開かれています

3 解決

3.1 問題1:50070ポートにサービスがない

詳細に調査した結果、時代が変わり、Hadoop 2.xのHDFS WEBポートは50070でしたが、Hadoop 3.xでは9870に変更されました。したがって、9870にアクセスすればWeb UIに正常にアクセスできます。

3.2 問題2: 9000ポートにサービスがない

これもデフォルトのリスニングアドレスの設定変更によるもので、設定ファイルでfs.defaultFSの値を変更するだけです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<configuration>
        <property>
                 <name>fs.defaultFS</name>
                 <value>hdfs://0.0.0.0:9000</value>
         </property>
         <property>
                 <name>hadoop.tmp.dir</name>
                 <value>file:/usr/hadoop/tmp</value>
                 <description>Abase for other temporary directories.</description>
         </property>
</configuration>
Buy me a coffee~
Tim 支付宝支付宝
Tim 贝宝贝宝
Tim 微信微信
0%