1. 基本环境要求与配置
以当前日期较新的nebula 3.0版本为例。默认已经在服务器上部署了nebula graph studio
JAVA jdk
下载jdk
司马官网路径总是变,但是大致找各版本的方式如下图所示:
我使用的是linux 64位版本的java 1.8.0,所以做出了如上选择。下载后解压即可
配置java环境变量
临时用户建议
进入jdk文件夹内部,执行pwd
获取当前路径,随后vi ~/.bash_profile
添加bin路径
全局用户建议
直接修改vi /etc/profile
文件。这里举个规范位置的配置方案
其实比较建议修改~/.bash_profile的方案。该方案需要用户每次登陆后都执行一次source ~/.bash_profile
来使自己之前做的配置生效,麻烦了点,但就一条命令而已,安全性更好。
下载Spark
Spark现在版本都3.0了,不过根据nebula官方建议,我准备使用Spark 2.4.4。需要注意的是,自Spark3.0起,就只支持高于2.12的scala版本了,这一点万分留意
下载后日常解压
Index of /dist/spark/spark-2.4.4 (apache.org)
配置Spark环境变量
进入spark文件夹的conf文件夹,执行cp spark-env.sh.template spark-env.sh
,随后对spark-env.sh进行编辑:
随后对~/.bash_profile进行编辑
随后执行在spark目录下执行sbin/start-all.sh
,输入主机用户密码,随后即可启动。输入jps
,此时应当有Master和Worker的进程号出现
我们随后输入spark-shell --master spark://主机名:7077
即可进入spark scala命令行界面
萌新建议玩玩单机版Spark就可以了,我也是初次上手,我没什么钱,没办法买特别高配的或者干脆一整个集群给自己用,学习scala和基本spark功能时单机版够用了
启动spark-shell或者spark-submit的时候其实也没必要非得指定ip,想用的时候直接在命令行输入就行,反正环境变量都配过了已经
如果只是单纯在linux上用scala命令行写scala程序,那你大可不必去启动start-all.sh;如果要用到SparkContext,建议先打开start-all,因为默认直接去找Worker进程来跑程序
禁用密码登录的主机及其解决办法
出于安全考量,有时候主机禁用密码方式进行登录。此时是无法正常执行sbin/start-all.sh的。
如果你是主机服务器的主人,可以前往你购买时的官网,打开密码登录选项
如果你不是,而且机主得知你的需求后仍不愿意去平台开放其密码登录功能,那么你可以采用如下方法:
vi /etc/ssh/sshd_config
进入文件后,进行如下修改:PasswordAuthentication yes