Spark是运行在yarn(也就是hadoop,一般特指资源管理器)上的应用,前面的一篇文章中已经搭好了yarn+hdfs,接下来的配置就很简单了。
- 从官网下载spark-binary
- 解压后重命名
conf/spark-env.sh.template
为conf/spark-env.sh
- 配置:添加一行类似于这样的
HADOOP_CONF_DIR=~/tools/hadoop-2.6.2/etc/hadoop
- 以yarn-cluster模式提交一个测试任务(spark自带有一些例子,就不需要自己写了)
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \
--num-executors 1 \
lib/spark-examples*.jar \
10
更新 - 2015-12-19
以yarn-cluster
模式不能直接看到结果,但是用yarn-client
又会出错。从错误信息来看是(虚拟)内存超了,这个时候把driver内存设大一点即可。
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-client \
--num-executors 1 \
--driver-memory 1g \
lib/spark-examples*.jar \
10
更新 - 2016-01-01
开启snappy压缩
重命名conf/spark-env.sh.template
为conf/spark-env.sh
,追加内容
HADOOP_HOME=~/tools/hadoop
HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop/
SPARK_LIBRARY_PATH=$HADOOP_HOME/lib/native