我有3台远程计算机(服务器(:
- 计算机1具有内部IP:110.1.7.245
- 计算机2具有内部IP:10.1.7.246
- 计算机3具有内部IP:10.1.7.247
(以上3台计算机在同一网络中,这3台计算机都使用Ubuntu 18.04.5 LTS操作系统(
(我的个人笔记本电脑在另一个不同的网络中,我的笔记本电脑也使用Ubuntu 18.04.5 LTS操作系统(
我使用我的个人笔记本电脑使用SSH协议并使用用户root连接到3台远程计算机:(下面ABC是一个名称(
- 计算机1:
ssh root@ABC.University.edu.vn -p 12001
- 计算机2:
ssh root@ABC.University.edu.vn -p 12002
- 计算机3:
ssh root@ABC.University.edu.vn -p 12003
我已经成功地建立了一个Hadoop集群,其中包含3台以上的计算机:
- 计算机1是Hadoop主机
- 计算机2是Hadoop从机1
- 计算机3是Hadoop从机2
===============================================
我在计算机1上使用以下命令启动Hadoop集群的HDFS:start-dfs.sh
一切都很成功:
- 计算机1(主机(正在运行NameNode
- 计算机2(从机1(正在运行DataNode
- 计算机3(从机2(正在运行DataNode
我知道NameNode的Web接口正在计算机1、IP0.0.0.0和端口9870上运行。因此,如果我在计算机1(或计算机2或计算机3(上打开web浏览器,我将在web浏览器的URL栏(地址栏(上输入110.1.7.245:9870,以查看NameNode的web界面。
==============================================
现在,我正在使用我的个人笔记本电脑的web浏览器。
如何访问NameNode的Web界面
除非暴露端口9870,否则您在另一个网络上的个人笔记本电脑将无法访问web界面。
您可以通过尝试:9870查看它是否暴露来检查它是否暴露。这里的IP地址必须是全局IP地址,而不是本地(10.*(地址。
要获得NameNode的IP地址,ssh进入NameNode服务器,然后键入ifconfig(如果还没有安装sudo-apt-install-ifconfig,我假设这里是Ubuntu/Linux(。ifconfig应该给你一个全局IP地址(不是255.*,那是一个掩码(。
我已经找到了问题的答案。
在连接到计算机1的SSH会话中,我将在我的个人笔记本电脑localhost上指定一个端口a(a是一个端口号,在我的情况下,我更喜欢选择端口号18080(,该端口a程侧的给定主机和端口。这里,远程端上的给定主机将为0.0.0.0,而远端的端口则为9870。因此,启动与计算机1的SSH连接会话的SSH命令如下所示:
ssh -L 18080:0.0.0.0:9870 root@ABC.University.edu.vn -p 12001
最后,在我的个人笔记本电脑的web浏览器上,我在web浏览器的URL栏中输入地址localhost:1080,以访问Hadoop NameNode的web界面
以上就是在我的情况下解决问题的方法。