spark是什么

hadoop有文件系统HDFS,还有用来调度任务的YARN。而SPARK可以在YARN上开一个APPLICATION,然后提交一些JOB上去。

首先启动hadoop的hdfs和yarn,如下:
start-dfs.sh
start-yarn.sh
关于如何配置core-site.xml, yarn-site.xml, hdfs-site.cml等,参考hadoop官方文档

然后要配置两个变量:
HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop/"
PYSPARK_PYTHON="$PYTHON_PATH/bin/python"

以上变量仅为示意,需要按自己的环境配置

然后就能运行spark了

scala语言
./spark-shell --master yarn --deploy-mode client --executor-cores 4

python语言
./pyspark --master yarn --deploy-mode client --executor-cores 4

这时会有报错,因为JAVA_HOME配置有问题,可修改hadoop/libexec/hadoop-config.sh文件
参考stackoverflow上的解答

解决后,重新运行命令,就能在交互式的shell中运行程序了,其中sc是SparkContext类的实例
比如,sc.TextFile(。。。。。。)

启动过程中,可以看到,说是没有配置yarn上spark的库文件,spark会针对当前应用临时上传一些spark要用到的库,这个信息,可以加强对hadoop和spark之间关系的理解

运行状态监控,打开localhost:8088即可看到hadoop的yarn界面,点开其中的spark application,就能看到关于这个spark应用的信息,可以查看提交的每个JOB的运行时间(一次collect才运行),可以查看Excutor的个数和内核数等

关于不同运行方式,比如给spark提交jar任务(而不是上述交互式运行),可参考spark官方文档

你可能感兴趣的:(spark是什么)