前提:
hadoop 安装部署好
安装 on yarn
上传并加压
tar zxvf spark-2.2.0-bin-2.6.0-cdh5.14.0.tgz -C ../servers/
修改配置文件
spark-env.sh
cd /export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/conf
vim spark-env.sh
#配置java环境变量
export JAVA_HOME=${JAVA_HOME}
#指定spark Master的端口
export SPARK_MASTER_PORT=7077
export HADOOP_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
分发到其他的节点
scp spark-env.sh node02:/$PWD
scp spark-env.sh node03:/$PWD
启动
启动spark
./start-all.sh
启动hadoop
start-all.sh
测试
/export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 2 \
--queue default \
/export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/examples/jars/spark-examples_2.11-2.2.0.jar \
10
参数总结
Master形式 |
解释 |
local |
本地以一个worker线程运行(例如非并行的情况). |
local[N] |
本地以K worker 线程 (理想情况下, N设置为你机器的CPU核数). |
local[*] |
本地以本机同样核数的线程运行. |
spark://HOST:PORT |
连接到指定的Spark standalone cluster master. 端口是你的master集群配置的端口,缺省值为7077. |
mesos://HOST:PORT |
连接到指定的Mesos 集群. Port是你配置的mesos端口, 默认5050. 或者使用ZK,格式为 mesos://zk://.... |
yarn-client |
以client模式连接到YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到. |
yarn-cluster |
以cluster模式连接到YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到. |