(作者:陈玓玏)
一、 JAVA_HOME is not set
场景:使用java命令或通过spark-shell启动spark时出现JAVA_HOME is not set的错误。
原因:设置了linux环境变量后,未立即生效,导致设置的路径查找不到。
解决方案:需要执行source /etc/profile,即使你不是改动的/etc/profile文件中定义的环境变量,而是改动的其他环境设置,使用该命令也是有效的,或者重启系统生效。
二、Name or service not known
场景:使用hadoop和spark常见错误,linux中spark安装好之后,进入spark文件夹执行./bin/spark-shell时可能出现。
原因:因为主机名未设置,在Windows和华为云中没碰到这个问题,原因是Windows和华为云都是默认设置好了的,但是在linux系统中可能没设置,尤其是新安装的linux系统,比如我用到的win10自带的linux子系统。
解决方案:需要修改/etc/hosts文件,通过以下命令打开hosts文件,点击i进入编辑模式:
sudo vi /etc/hosts
在文件中加入
IP hostname aliasname
这么一句话,这句话中三个关键字都是要替换的。IP通过ipconfig /all
查询,hostname是主机名,主机名一般就是linux命令行每次输命令之前如影随形的那点儿前缀,alias那么是主机的别名。设置完之后记得执行source /etc/profile
立即生效,问题解决。