sparkR默认是以单机方式运行的。实现sparkR的集群启动,需要指定master地址,占用内存、CPU,及UI端口等,这对分析人员来说是比较麻烦的。
如何实现对其启动的封装,方便分析人员来使用:
vi bdcmagicR
#!/bin/bash function rand(){ min=$1 max=$(($2-$min+1)) num=$(($RANDOM+1000000000)) #增加一个10位的数再求余 echo $(($num%$max+$min)) } rnd=$(rand 400000 500000) echo $rnd /opt/modules/spark/bin/sparkR --master spark://10.130.2.20:7077 --executor-memory 8g --total-executor-cores 45 --conf spark.ui.port=$rnd
说明:
1)首先使用一个随机函数生成一个40000到50000之间随机数,用来做UI的端口。
2)然后指定指定master地址,占用内存、CPU。
3)最后把bdcmagicR 加入环境变量即可。
使用时,在终端输入 bdcmagicR
即可以集群方式启动运行sparkR