描述
我在服务器上自己的用户下安装了spark单节点,解压,在.bashrc
中配置一下SPARK_HOME
和PATH
就可以了,在其他的节点,这样做一点问题都没有,但是移动到一个公共的节点(很多人在用root账户)就失败了,spark-shell
报无法连接的错误,pyspark
报莫名其妙的错误(py4j.protocol.Py4JJavaError
)。
解决
其实这个错误很意外,主要是有人再使用root的用户的时候,将一些配置文件写入到了/etc/profile
中,导致了我的spark采用了这些配置,其中最主要的是HADOOP_CONF_DIR
,因为我的spark单节点是没有使用hadoop
的
cp spark/conf/spark-env.sh.temple spark/conf/spark-env.sh
# 添加
export HADOOP_CONF_DIR=""
备注
最好将所有配置文件写到对应用户的.bashrc
中,而不要写到/etc/profile