首页 文章

谷歌计算引擎为hadoop仪表板添加防火墙规则

提问于
浏览
0

我使用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 回答

  • 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文档(为清晰起见,漂亮打印):

    {
       "networkInterface" : [
          {
             "network" : "projects/852299914697/networks/rabbit",
             "ip" : "10.129.14.59",
             "accessConfiguration" : [
                {
                   "externalIp" : "107.178.223.11",
                   "type" : "ONE_TO_ONE_NAT"
                }
             ]
          }
       ]
    }
    

    防火墙规则命令似乎合理,但您可能希望选择更具描述性的名称 . 如果我看到一条说 allow-http 的规则,我会认为它意味着端口80.您可能还想将其限制为放置在Hadoop仪表板实例上的目标标记;如上所述,您的规则将允许在该端口上访问当前项目中的所有实例 .

相关问题