Spark:如何从其他用户以“yarn_client”模式远程启动 Jupyter
Posted
技术标签:
【中文标题】Spark:如何从其他用户以“yarn_client”模式远程启动 Jupyter【英文标题】:Spark: How to start remotely Jupyter in 'yarn_client' mode from a different user 【发布时间】:2015-10-22 22:50:59 【问题描述】:假设我有一个 4 节点 Hadoop 集群(在我的例子中是 Cloudera 发行版),每个节点上都有一个名为“hadoop”的用户(“/home/hadoop”)。此外,我还安装了第五台服务器,Jupyter 和 Anaconda,用户名为“ipython”,但没有安装 hadoop。
假设我想通过保留“ipython”用户从第五台服务器以“yarn_client”模式远程启动 Jupyter,我的问题是我的日志中有一个问题,即用户“ipython”不是t 允许(或类似的东西)。
对于信息,我将一个虚拟目录(用于设置 HADOOP_CONF_DIR 环境变量)从 Hadoop 集群复制粘贴到第五台服务器。一切都适用于我的“kernel.json”文件中的“local[*]”设置(幸运的是),但是当我将主值更改为“yarn_client”时问题又出现了(不幸的是)...
有解决这个问题的技巧吗?或者可能有几种不同的技巧?
【问题讨论】:
【参考方案1】:我有一个使用 pyspark 和 scala native spark 的 CDH5.5 + jupyter 的工作部署。在我的情况下,我使用专用用户来启动 jupyter 服务器,然后从客户端浏览器连接到它。
在分享有关您的问题的一些想法之前,我想指出,如果您的第五台服务器没有紧密连接到您的集群,您应该避免在 yarn-client 模式下启动 pyspark,因为通信延迟肯定会减慢你的工作。据我所知 yarn-cluster 模式不能在没有pyspark-submit
的情况下远程调用
如果您仍然希望您的驱动程序节点在第 5 个服务器中执行,请确保您的用户“ipython”具有访问 hdfs 和其他 hadoop conf 目录的正确权限,您可能需要在其他 hadoop 中创建该用户节点。
还要确保您的 yarn-conf.xml 已正确配置以反映您的 yarn ResourceManager 的地址。
【讨论】:
以上是关于Spark:如何从其他用户以“yarn_client”模式远程启动 Jupyter的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 Spark 以使用由 anaconda 管理的 pandas?