我使用bdutil安装了hadoop集群(而不是点击部署) . 我无法访问locahost的职位跟踪页面:50030 / jobtracker.jsp(https://cloud.google.com/hadoop/running-a-mapreduce-job)
我使用lynx而不是从我的客户端浏览器本地检查它(所以localhost而不是外部ip)
我在bdutil的配置文件中的设置是
MASTER_UI_PORTS =('8088''50070''50030')
但在我执行防火墙规则列表后部署hadoop集群后,我得到了以下内容
名称网络SRC_RANGES规则SRC_TAGS TARGET_TAGS
default-allow-http默认值0.0.0.0/0 tcp:80,tcp:8080 http-server
default-allow-https default 0.0.0.0/0 tcp:443 https-server
default-allow-icmp default 0.0.0.0/0 icmp
default-allow-internal默认值10.240.0.0/16 tcp:1-65535,udp:1-65535,icmp
default-allow-rdp default 0.0.0.0/0 tcp:3389
default-allow-ssh default 0.0.0.0/0 tcp:22
现在我在规则列表中看不到端口50030 . 为什么这样?
所以我运行一个命令添加它们(手动)
gcloud计算防火墙规则创建allow-http --description“允许传入的http . ” --allow tcp:50030 --format json
现在它被添加,我可以在firewall-rules list命令的输出中看到 .
但是当我做lynx locahost时:50030 / jobtracker.jsp我无法连接 . 然后,我运行一个hadoop作业,以便有一些输出来查看然后运行lynx命令,但仍然看不到连接 .
有人可以告诉我在这个完整的过程中我哪里出错吗?
1 回答
短暂的IP是外部IP . 短暂IP和静态IP之间的区别在于,可以将静态IP重新分配给另一个虚拟机实例,而在销毁实例时释放临时IP . 可以通过Web UI或gcloud命令行工具将临时IP提升为静态IP .
您可以通过在
http://169.254.169.254/0.1/meta-data/network
查询元数据API来获取主机的外部IP . 响应将是一个看起来像这样的JSON文档(为清晰起见,漂亮打印):防火墙规则命令似乎合理,但您可能希望选择更具描述性的名称 . 如果我看到一条说 allow-http 的规则,我会认为它意味着端口80.您可能还想将其限制为放置在Hadoop仪表板实例上的目标标记;如上所述,您的规则将允许在该端口上访问当前项目中的所有实例 .