windows 下能用spark-shell作为客户端,去连接spark集群吗?
答案是,当然可以。具体操作如下:
- 先把hadoop那一套装好,确保可以连接集群;
- 下载spark 2.2,然后在d:\spark下解开。记得设置环境变量
SPARK_HOME=d:\spark YARN_CONF_DIR=d:\hadoop\etc\hadoop PATH=%PATH%;%SPARK_HOME%\bin
- kerberos认证很重要,如果在第一步能够连接集群,列出目录,理论上应该没有问题;如果选择了错误的用户,运行spark-shell,则会遇到无法启动container的问题。此时要去yarn上看日志,多半能看到用户非法之类的错误提示。
- 运行spark-shell,还可能遇到 Cannot run program "/etc/hadoop/conf.cloudera.yarn/topology.py"的问题。此时只需要找到core-site.xml文件,把其中相关部分注释掉即可。
<property> <name>net.topology.script.file.name</name> <value><!--/etc/hadoop/conf/topology_script.py--></value> </property>
- 运行spark-shell的命令为: spark-shell --master yarn --deploy-mode client