Spark 0.9.0启动脚本——sbin/spark-daemon.sh
1. 使用方法:
spark-daemon.sh [--config <conf-dir>] (start|stop) <spark-command> <spark-instance-number> <args...>
2. 读取conf/spark-env.sh,获取配置变量
3. 获取SPARK_IDENT_STRING,默认为当前用户名
4. 设置SPARK_PRINT_LAUNCH_COMMAND为1
5. 获取SPARK_LOG_DIR,默认为logs目录。创建该目录,检测目录权限并设置
6. 获取SPARK_PID_DIR,默认为/tmp目录
7. 设置日志文件名、输出文件名、PID文件名、日志级别
8. 获取SPARK_NICENESS,默认为0
start命令:
1. 如果PID文件存在,使用kill -0检测进程是否存在,存在则提示先关闭,并退出。
2. 如果设置了SPARK_MASTER,则rsync同步文件
3. 日志rotate
4. 运行命令:
nohup nice -n $SPARK_NICENESS "$SPARK_PREFIX"/bin/spark-class $command "$@" >> "$log" 2>&1 < /dev/null &
记录新的pid
5. 睡眠2s,检查进程是否正常运行
stop命令:
1. 如果进程文件存在且进程存在,则使用kill命令停止进程
2. 如果进程文件不存在,则不会停止任何进程,即使它是应该停止的进程