一、Spark Shell
SparkShell是Spark自带的一个快速原型开发工具,也可以说是Spark的scala REPL(Read-Eval-Print-Loop),即交互式shell。支持使用scala语言来进行Spark的交互式编程。
Spark Shell使用
启动Standalone集群,./start-all.sh
在客户端上启动spark-shell:
./spark-shell --master spark://node01:7077 --name myapp
启动hdfs,创建目录spark/test,上传文件words
启动hdfs集群:
start-all.sh
创建目录:
hdfs dfs -mkdir -p /spark/test
上传wc.txt
hdfs dfs -put /root/test/words /spark/test/
运行wordcount
scala> var rdd = sc.textFile("hdfs://node01:8020/spark/test/words")
.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect()
#运行结果
rdd: Array[(String, Int)] = Array((spark,2), (mr,1), (hello,7), (java,3), (hdfs,1))
浏览器访问http://node01:8888/ 查看Jobs、Stages、Storage、Excutor等信息
注:Storage查看需要执行 rdd.cache() 清除缓存rdd.unpersist()
二、历史日志服务配置
如下图所示,已经执行的Applications关闭shell后无法查看历史
图片.png
客户端配置
[root@node04 conf] cp spark-defaults.conf.template spark-defaults.conf
#配置
spark.eventLog.enabled true
spark.eventLog.dir hdfs://mycluster/spark/log
spark.history.fs.logDirector hdfs://mycluster/spark/log
spark.eventLog.compress true
#注意要先创建文件夹
hdfs dfs -p mkdir /spark/
启动历史日志服务器
[root@node04 sbin] ./start-history-server.sh
#会在当前节点启动历史日志服务器
历史日志服务器浏览器访问 http://node04:18080
启动spark shell后 再关掉,此时已经存了日志到/spark/log
网友评论