私の構成:
サーバー クラスのマシン クラスター (4 台のマシン)、それぞれに RHEL、8GB RAM、クアッド コア プロセッサを搭載。マシン「B1」をマスターに設定し、残りのマシンをスレーブ (B2、B3、B4) に設定します。dfs-start.sh を開始すると、名前ノードが B1 の 53410 で起動しました。残りのノードは 53410 の B1 に接続できません!
これが私がこれまでにしたことです:
- B2、B3、B4 から「telnet B1 53410」を試行 - 接続が拒否されました。
- B2、B3、B4、およびその逆から B1 への ssh を試行しました - 問題ありません。正常に動作します。
- 53410 を 55410 に変更し、dfs を再起動しました。同じ問題 - このポートでも接続が拒否されました。
- B1でファイアウォールを無効にしました(iptables停止)-B2、B3、B4から接続しようとしました-telnetで失敗しました。
- すべてのノードでファイアウォールを無効にし、再試行しましたが、53410 への接続に再び失敗しました。
- ftp が B2、B3、B4 から B1 に動作していることを確認し、ftp サービスを停止し (service vsftpd stop)、標準の ftp ポート (21) で dfs を起動しようとしました。namenode が起動し、残りのノードが再び失敗しています。B2、B3、B4 から ftp ポートに telnet することさえできません。
- 「telnet localhost 53410」は B1 で正常に動作します。
すべてのノードは互いに到達可能であり、すべての /etc/hosts は IP アドレスの正しいマッピングでセットアップされています。だから、私はこの時点でほとんど無知です。いったいなぜ namenode は接続を拒否するのでしょうか。namenode ポートで外部クライアントがリモート接続できるようにするために、hadoop conf に設定があるのでしょうか?