Spark

Spark Local

1
tar -zxvf /opt/software/spark.tar.gz -C /opt/module

直接解压即可使用

1
bin/run-example SparkPi 10

执行SparkPi案例,使用bin内置的run-example方法


Spark Standalone

1
2
3
4
5
vi spark-env.sh
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=3g

可以根据文件中的提示来自行配置所需内容


1
2
3
4
vi workers
master
slave1
slave2

1
2
vi sbin/spark-config.sh
export JAVA_HOME=/opt/module/jdk

在sbin目录下要加入jdk路径,防止JAVA相关报错


1
2
3
4
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077 \
example/jars/spark-examles_2.12-3.3.0.jar 10

执行案例


Spark on Yarn

解压文件

1
tar -zxvf /opt/software/spark -C /opt/module/

@配置环境

1
2
3
4
vi /etc/profile
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/bin
source /etc/profile

@配置文件

#spark-config.sh(sbin)

1
2
vi /opt/module/spark/sbin/spark-config.sh
export JAVA_HOME=/opt/module/jdk

注意这里是进入sbin目录下的spark-config.sh中进行配置jdk


#spark-env.sh

1
2
3
4
5
6
7
8
cp spark-env.sh.template spark-env.sh
vi /opt/module/spark/conf/spark-env.sh
export JAVA_HOME=/opt/module/jdk
export SPARK_HOME=/opt/module/spark
export SPARK_LOCAL_DIR=${SPARK_HOME}/tmp
#on yarn配置
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop

SPARK_LOCAL_DIR配置的路径为spark的tmp目录;

HADOOP_CONF_DIR配置的路径为hadoop的conf(hadoop下的etc/hadoop)

YARN_CONF_DIR配置的路径为hadoop的conf(hadoop下的etc/hadoop)


#workers

1
2
3
vi /opt/module/spark/workers
slave1
slave2

同样的,这个文件对应老版本的slaves文件,新版问为workers,配置内容相同


#yarn-site.xml

在hadoop/etc/hadoop下

spark on yarn配置时,需要在hadoop下的yarn文件中添加两行配置,在hadoop中有讲解

1
2
3
4
5
6
7
8
9
10
<configuration>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>

启动与使用

@分发节点与启动集群

#分发节点

1
2
3
4
5
scp -r /opt/module/spark slave1:/opt/module
scp -r /opt/module/spark slave2:/opt/module
scp -r /etc/profile slave1:/etc/
scp -r /etc/profile slave2:/etc/
source /etc/profile

#启动集群

1
start-all.sh

@Spark Shell

#进入shell

1
spark shell

#运行架包

1
spark-submit --master yarn --class org.apache.spark.examples.SparkPi  $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar