我正在使用以下设置来访问hadoop的节点web ui:
dfs.namenode.http-address : 127.0.0.1:50070
通过它我可以访问节点web ui链接只能形成本地机器:
http://127.0.0.1:50070
我有什么方法可以让它从外面访问?比如说:
http://<Machine-IP>:50070
先谢谢!!
答案 0 :(得分:0)
您可以使用hostname或ipaddress而不是localhost / 127.0.0.1。
确保您可以从远程计算机ping主机名或IP。如果你可以ping它,那么你就可以访问web ui。
要ping它
在远程计算机中键入以下命令
ping hostname / ip
答案 1 :(得分:0)
来自http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html
下表列出了可以在核心上查看的Web界面 和任务节点。这些Hadoop接口可在所有群集上使用。 要访问以下接口,请替换
slave-public-dns-name
in 具有节点的公有DNS名称的URI。欲获得更多信息 关于检索核心或任务节点实例的公有DNS名称, 请参阅 Amazon中使用SSH连接到Linux / Unix实例 EC2用户指南(用于Linux实例)。除了检索 公共DNS名称的核心或任务节点,您还必须编辑 ElasticMapReduce-slave安全组允许通过TCP进行SSH访问 端口22.有关修改安全组规则的更多信息, 请参阅 Amazon EC2用户指南中的向安全组添加规则 Linux实例。
- YARN ResourceManager
- YARN NodeManager
- Hadoop HDFS NameNode
- Hadoop HDFS DataNode
- Spark HistoryServer
因为有几个特定于应用程序的接口 核心节点和任务节点上不可用的主节点 本文档中的说明特定于Amazon EMR master 节点。访问核心和任务节点上的Web界面即可 以与访问Web界面相同的方式完成 主节点。
有几种方法可以访问主服务器上的Web界面 节点。最简单快捷的方法是使用SSH连接到 主节点并使用基于文本的浏览器Lynx来查看Web SSH客户端中的站点。但是,Lynx是一个基于文本的浏览器 有限的用户界面,无法显示图形。下列 示例显示如何使用打开Hadoop ResourceManager接口 Lynx(登录主节点时也会提供Lynx URL 使用SSH)。
Copy lynx http://ip-###-##-##-###.us-west-2.compute.internal:8088/
还有两个用于访问Web界面的选项 主节点,提供完整的浏览器功能。选择其中一个 以下内容:
- 选项1(推荐用于更多技术用户):使用SSH客户端连接到主节点,使用本地端口配置SSH隧道 转发,并使用Internet浏览器打开托管的Web界面 在主节点上。此方法允许您配置Web界面 不使用SOCKS代理访问。
执行此操作使用命令
$ ssh -gnNT -L 9002:localhost:8088 user@example.com
其中user@example.com是您的用户名。注意使用-g来打开对外部ip地址的访问(注意这是一个安全风险)
您可以使用
检查这是否正在运行nmap localhost
完成后使用
关闭此ssh隧道ps aux | grep 9002
找到正在运行的ssh进程的pid并将其删除。
- 选项2(推荐给新用户):使用SSH客户端连接到主节点,使用动态端口配置SSH隧道 转发,并配置您的Internet浏览器以使用其他附加组件 作为FoxyProxy或SwitchySharp来管理您的SOCKS代理设置。这个 方法允许您根据文本模式自动过滤URL 并将代理设置限制为与表单匹配的域 主节点的DNS名称。浏览器加载项自动处理 当您在查看网站之间切换时打开和关闭代理 托管在主节点上,以及Internet上的节点上。更多 有关如何为Firefox和Google配置FoxyProxy的信息 Chrome,请参阅选项2,第2部分:配置要查看的代理设置 主节点上托管的网站。
这对我来说似乎很疯狂,但是我一直无法找到如何在core-site.xml中配置访问权限来覆盖ResourceManager的Web界面,默认情况下它可以在localhost:8088 /并且如果Amazon认为这样是我倾向于随身携带的方式