下载地址:
https://archive.apache.org/dist/spark/spark-2.2.1/
tar -zxvf spark-2.2.1-bin-hadoop2.7.gz
解压后形成文件夹:
spark-2.2.1-bin-hadoop2.7
修改用户组:
sudo chown -R hadoop:hadoop spark-2.2.1-bin-hadoop2.7
进入文件夹:
cd spark-2.2.1-bin-hadoop2.7
cd conf
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
vi spark-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export SCALA_HOME=/data1/soft/scala-2.10.4
export HADOOP_HOME=/data1/soft/hadoop/hadoop
export HADOOP_CONF_DIR=/data1/soft/hadoop/hadoop/etc/hadoop
export SPARK_MASTER_WEBUI_PORT=8088
export SPARK_MASTER_HOST=node1.paa.data
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_IP=node1.paa.data
export SPARK_WORKER_WEBUI_PORT=8088
vi slaves
node2.paa.name
node3.paa.name
启动spark集群:
在hadoop用户组下启动
sudo -s
su hadoop
cd /data1/soft/spark-2.2.1-bin-hadoop2.7/sbin
./start-all.sh
验证:
cd /data1/soft/spark-2.2.1-bin-hadoop2.7/bin
./spark-shell
[hadoop@node1 spark-2.2.1-bin-hadoop2.7]$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 4g --executor-memory 2g --executor-cores 1 examples/jars/spark-examples*.jar 10
HADOOP_HOME/bin/yarn logs -applicationId id
包警告:Neither spark.yarn.jars nor spark.yarn.archive is set 或
Error: Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster
在hdfs上创建目录:
hdfs dfs -mkdir /spark_jars
hdfs dfs -put /data1/soft/spark-2.2.1-bin-hadoop2.7/jars/* /spark_jars
在spark的conf的spark-default.conf
添加配置 :
spark.yarn.jars=hdfs://node1.paa.name:8020/spark_jars/*
#spark.yarn.jars=/opt/spark-2.1.1-bin-hadoop2.7/jars/*
报如下错误:
java.io.FileNotFoundException: File file:/home/hadoop/.sparkStaging/application_1553673394767_0003/spark_conf.zip does not exist
因为spark连hadoop的默认端口是8020,core-site.xml 中9000端口号改成8020