假设我有一个4节点的hadoop集群(在我的例子中是cloudera发行版),每个节点上都有一个名为'hadoop'的用户('/home/hadoop')。另外,我还有第五台服务器,安装了jupyter和anaconda,用户名为“ipython”,但没有安装hadoop。
假设我想通过保留“ipython”用户从第五台服务器以“yarn\u client”模式远程启动jupyter,我的问题是日志中出现了一个问题,该问题表示不允许用户“ipython”(或类似的情况)。
为了获取信息,我从hadoop集群复制了一个虚拟目录(用于设置hadoop\u conf\u dir环境变量)粘贴到第五台服务器。一切都与我的“kernel.json”文件中的“local[*]”设置配合得很好(幸运的是),但当我将主值更改为“yarn\u client”时,问题又出现了(不幸的是)。。。
有什么诀窍可以解决这个问题吗?或者几种不同的技巧?
1条答案
按热度按时间iqxoj9l91#
我有一个cdh5.5+jupyter与pyspark和scala原生spark的工作部署。在我的例子中,我使用一个专用用户来启动jupyter服务器,然后从客户端浏览器连接到它。
在分享关于您的问题的一些想法之前,我想指出的是,如果您的第五台服务器没有与您的集群紧密连接,您应该避免在yarn客户机模式下启动pyspark,因为通信延迟肯定会减慢您的工作。据我所知,如果没有
pyspark-submit
如果您仍然希望驱动程序节点在第5台服务器上执行,请确保您的用户“ipython”具有访问hdfs和其他hadoop conf目录的正确权限,您可能需要在其他hadoop节点中创建该用户。还要确保您的yarn-conf.xml配置正确,以反映您的yarn resourcemanager的地址。