标签:
1、如果要跑spark例子程序,最好配置环境变量时,加入如下内容。
省区频繁输入调用jar包。
注意不同的spark版本,对应路径不同。
2、修改配置文件(这里针对standalone模式)
host文件:
Master(Master):127.0.0.1(名称与IP对应关系)
slave1(Worker):127.0.0.1(名称与IP对应关系)
slave2(Worker):127.0.0.1(名称与IP对应关系)
注意:Master只有一个,slave有好几个。
spark-env.sh文件:
按官方文档要求设置Master,slave的配置参数
对于.sh脚本文件,设置后要用source命令让其马上生效。
slaves文件:
切记:spark根目录下配置文件夹conf下的文件都是.template,即都是模板。
根据需要,我们要对其修改,修改后的文件后缀名就不是template了,是我们自己要求的格式。
为了方便查看,建议复制文件,按照模板格式修改。
3、所有主机必须关闭防火墙。
spark支持四种语言:scala、java、python、R。对应分别有4中语言的版本。
注意加载时的路径(公共目录为spark根目录下的examples/src/main)、方式。
1、运行示例程序
1.1、运行scala、java示例程序
命令./bin/run-example
<class> [params]
命令将调用spark-submit启动程序。
1.2、运行python示例程序
命令./bin/spark-submit
<.py> [params]
示例如:./bin/spark-submit
examples/src/main/python/pi.py 10
1.3
、运行
R
示例程序
命令:
./bin/spark-submit
<.R> [params]
示例如:
./bin/spark-submit
examples/src/main/r/dataframe.R
2、交互方式调用spark.(java不是脚本语言,所有没有交互调用方式)
2.1、scala交互:调用./bin/spark-shell (--master local[n])
--master local[n]:明确master url即进行数量。
这里master设置为local本地,线程数量为n.
默认情况下,master也为local,线程数为1.
更多关于spark-shell使用方法,参考--help.
2.2、python交互:调用./bin/pyspark (--master local[n])
参数设置同上。
2.3、R交互:调用./bin/sparkR (--master local[n])
参数设置同上。
1、spark程序有两个很重要的概念,或者说部件。
2、分别是sparkContext,RDD.
3、可以对应hadoop的map reduce函数来理解其重要性和执行顺序,但实际上不是一回事。
4、spark启动交互界面后会将source context简化为sc。
5、RDD是弹性分布式数据集的简写,是spark处理数据的方式。
1、Amazon EC2:启动spark速度非常快,需要EC2脚本支持。
2、standalone:部署在私有集群上最简单的方式,便于程序开发和调试。
3、Apache mesos:更通用的方式,可以运行hadoop的map reduce程序和服务。
4、hadoop yarn:运行在yarn上(即mapreduce2.0版本)。
作为个人开发测试,建议standalone方式。
1、部署是在本机或者集群上,spark的布置方式。决定程序的运行和资源调度方式。
2、交互界面是用scala、python、R等脚本语言,调用spark,实现某项小功能。
3、java是程序设计语言,同c/c++.不是脚本语言,所以不能用于交互编程。
4、IDE编程是编写中大型程序是,为了加快速度和效率,在IDE集成环境下,编写基于spark的程序。
5、交互shell能快速看到运行结果,便于随时修改;IDE便于代码集成、打包.
这两者在编程中经常穿插使用,提高开发效率。
1、获得外部数据
2、数据处理:用RDD API(包括transformation、actions)
2.1、转换为新数据(把外部数据)
2.2、启动job(在cluster执行)
补充说明:
1、RDD API是spark最基本的API。RDD是弹性分布式数据集Resilient Distributed Dataset。
2、在它之上更高级的API有machine learning API、DataFrame API.相比基本API,它们提供对数据更精确的操作。
1、现象:java.net.ConnectException: Call From peter-HP-ENVY-Notebook/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: 拒绝连接。
可能原因:没有访问hdfs的权限,可能是端口设置问题。
可能是hdfs.xml文件设置问题。
也可能是防火墙问题。(在一台机器上运行spark,应该不是防火墙)
2、示例程序(scala交互界面)中输入README.md。
没有设置文件路径啊,在哪里得到这个文件。
这个文件是在spark的根目录下。
1、sbt:需要联网,需要git工具,编译较慢。对应scala语言程序。
2、maven:需要联网,需要maven工具,编译较快。对应java语言程序。
标签:
原文地址:http://blog.csdn.net/qq_23617681/article/details/51348660