上一节我们分别以client和cluster模式运行两次application,如果想查看它们的日志,点击对应的application ID:
如果查看logs,会发现对应的URL是私网IP:
此时访问不通。
有很大一部分的Spark设定可以通过环境变量来进行设定。这些环境变量设定在conf/spark-env.sh
脚本文件中。在 Standalone模式下,这个文件可以设定一些和机器相关的信息(比如 hostname)。
需要注意,在刚刚安装的Spark中conf/spark-env.sh
文件是不存在的。但是可以通过复制conf/spark-env.sh.template
文件来创建。
登录到worker节点,进入conf
目录,下面有一个spark-env.sh.template
文件:
将其复制为spark-env.sh
并进行编辑:
在最后一行加入:
export SPARK_PUBLIC_DNS=ec2-35-89-181-10.us-west-2.compute.amazonaws.com # 替换成worker节点的公网DNS
替换完成后的效果:
重新启动worker上的start-slave.sh
(先杀掉已有的进程):
刷新master节点的8080端口,会发现新注册的worker节点此时URL变为公网地址:
打开后会跳转到worker的Web UI:
此时再查看日志就没问题了: