我不知道这是否已在SO中得到解答,但我无法找到解决问题的方法。
我在Google容器引擎的Docker容器中运行了一个IPython笔记本,容器基于此图像jupyter/all-spark-notebook
我还有一个使用google cloud dataproc
创建的火花群集Spark master和笔记本电脑在不同的虚拟机中运行,但在相同的区域和区域。
我的问题是我正在尝试从IPython笔记本连接到spark master,但没有成功。我在我的python笔记本中使用了这段代码
import pyspark
conf = pyspark.SparkConf()
conf.setMaster("spark://<spark-master-ip or spark-master-hostname>:7077")
我刚开始使用spark,所以我确定我遗漏了一些东西(身份验证,安全......),
我在那里找到的是通过SSH tunnel
连接本地浏览器有人已经做过这种设置吗?
提前谢谢
答案 0 :(得分:6)
Dataproc运行Spark on YARN,因此您需要将master设置为'yarn-client'。您还需要在您的YARN ResourceManager中指向Spark,这需要一个记录不足的SparkConf - &gt; Hadoop配置转换。您还必须告诉Spark关于群集上的HDFS,因此它可以为YARN分配资源。如果您将The Google Cloud Storage Connector for Hadoop放入图片中,则可以使用Google云端存储而非HDFS。
尝试:
default-allow-internal
对于更永久的配置,您可以将它们烘焙到本地文件'core-site.xml'中,如here所述,将其放在本地目录中,并将HADOOP_CONF_DIR设置为您环境中的该目录。 / p>
同样值得注意的是,虽然位于同一区域对性能很重要,但它处于相同的Network并且允许TCP在该网络中允许VM进行通信的内部IP地址之间。如果您使用的是[Display(Name = "Maths grade")]
[Range(1, 5, ErrorMessage = "Every grade must be between 1 and 5")]
public int[] Maths { get; set; }
网络,那么{{1}} firewall rule就足够了。
希望有所帮助。