根据以下步骤,建立单机版。
部署环境,也即主机,内存大于4G为宜,因为spark在执行一项任务时,至少会启动2个woker线程,每个节点为至少1G内存,这也就要求至少2G内存。如果再有HADOOP的话,4G内存是属于最低配置了。
1.配置单机互信,如果不配置,则在启动hadoop或spark的过程中,会要求输入密码,且“互信”是配置随机自启动的必要条件。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
2.Spark配置,假定spark安装在/spark-2.0.1目录下。
复制配置模板:cp /spark-2.0.1/conf/spark-env.sh.template /spark-2.0.1/conf/spark-env.sh
编辑它:vi /spark-2.0.1/conf/spark-env.sh,增加以下定义。
export JAVA_HOME=/jdk1.8.0_101/ #如果没有设置该项,会在启动过程中提示该项,甚至可能失败。
export SPARK_MASTER_HOST=192.168.239.137 #如果没有设置该项,则默认以SPARK_MASTER_HOST=”hostname” -f替代,且必须配置相应的hosts文件为ip,否则无法被外网访问。
export SPARK_WORKER_MEMORY=1G #默认就是1G,不能小于1G,例如512M,它会资源不足的错误。
3.添加环境变量,vim /etc/profile,这个并非必要,只是为了方便直接调用脚本罢了。
export SPARK_HOME=/spark-2.0.1
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
4.启动或停止Spark,为了防止与hadoop等其它脚本混淆,也可重命名它为spark-start-all
start-all.sh
stop-all.sh
5.重启(或source /etc/profile)并验证:
spark-submit –class=org.apache.spark.examples.SparkPi –master=spark://192.168.239.137:7077 /spark-2.0.1/examples/jars/spark-examples_2.11-2.0.1.jar
spark-submit –class=org.apache.spark.examples.LogQuery –master=spark://192.168.239.137:7077 /spark-2.0.1/examples/jars/spark-examples_2.11-2.0.1.jar