admin 管理员组文章数量: 1184232
2024年2月20日发(作者:switch的意思)
Spark报告金航1510122526
Spark实验报告一、环境搭建1、下载scala2.11.4版本 下载地址为:/download/2、解压和安装:
解压 : tar -xvf
安装 : mv scala-2.11.4 ~/opt/3、编辑 ~/.bash_profile文件 增加SCALA_HOME环境变量配置,export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37export
CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/ort SCALA_HOME=/home/spark/opt/scala-2.11.4export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin立即生效source ~/.bash_profile4、验证scala:scala -version5、copy到slave机器 scp ~/.bash_profile spark@10.126.45.56:~/.bash_profile6、下载spark,wget /7、在master主机配置spark :将下载的 解压到 ~/opt/即~/opt/spark-1.2.0-bin-hadoop2.4,配置环境变量SPARK_HOME# set java envexport JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37export
CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/ort SCALA_HOME=/home/spark/opt/scala-2.11.4export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0export SPARK_HOME=/home/spark/opt/spark-1.2.0-bin-hadoop2.4PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin配置完成后使用source命令使配置生效进入 spark conf目录:
[spark@S1PA11 opt]$ cd spark-1.2.0-bin-hadoop2.4/[spark@S1PA11 spark-1.2.0-bin-hadoop2.4]$ lsbin conf data ec2 examples lib LICENSE logs NOTICE python
RELEASE sbin work[spark@S1PA11 spark-1.2.0-bin-hadoop2.4]$ cd conf/[spark@S1PA11 conf]$ te te te
te slaves te tefirst :修改slaves文件,增加两个slave节点S1PA11、S1PA222[spark@S1PA11 conf]$ vi slavesS1PA11S1PA222second:配置首先把te copy 文件 在最下面增加:export JAVA_HOME=/home/spark/opt/java/jdk1.6.0_37export SCALA_HOME=/home/spark/opt/scala-2.11.4export SPARK_MASTER_IP=10.58.44.47export SPARK_WORKER_MEMORY=2gexport HADOOP_CONF_DIR=/home/spark/opt/hadoop-2.6.0/etc/hadoopHADOOP_CONF_DIR是Hadoop配置文件目录,SPARK_MASTER_IP主机IP地址,SPARK_WORKER_MEMORY是worker使用的最大内存完成配置后,将spark目录copy slave机器 scp -r ~/opt/spark-1.2.0-bin-hadoop2.4
spark@10.126.45.56:~/opt/8、启动spark分布式集群并查看信息[spark@S1PA11 sbin]$ ./
查看:[spark@S1PA11 sbin]$ jps31233 ResourceManager27201 Jps30498 NameNode30733 SecondaryNameNode5648 Worker
5399 Master15888 JobHistoryServer如果HDFS没有启动 ,启动起来.查看slave节点:[spark@S1PA222 scala]$ jps20352 Bootstrap30737 NodeManager7219 Jps30482 DataNode29500 Bootstrap757 Worker9、页面查看集群状况:进去spark集群的web管理页面,访问因为我们 看到两个worker节点,因为master和slave都是worker节点我们进入spark的bin目录,启动spark-shell控制台
访问master:4040/,我们可以看到spark WEBUI页面
spark集群环境搭建成功了10、运行spark-shell 测试之前我们在/tmp目录上传了一个文件,我们现在就用spark读取hdfs中文件
取得hdfs文件:count下文件中文字总数,
我们过滤包括The单词有多个
我们算出来 一共有4个The单词我们通过wc也算出来有4个The单词我们再实现下Hadoop wordcount功能:首先对读取的readmeFile执行以下命令:
其次使用collect命令提交并执行job:
我们看下WEBUI界面执行效果:
二、统计单词个数例子,使用spark apiWordCount:步骤1:val sc = new SparkContext(args(0), “WordCount”,(“SPARK_HOME”),
Seq((“SPARK_TEST_JAR”)))val textFile = le(args(1))val inputFormatClass = classOf[SequenceFileInputFormat[Text,Text]]var hadoopRdd = RDD(conf, inputFormatClass, classOf[Text],
classOf[Text])步骤3:
val result = p{case(key, value) => ng().split(“s+”);}.map(word => (word, 1)).
reduceByKey (_ + _)将产生的RDD数据集保存到HDFS上。可以使用SparkContext中的saveAsTextFile哈数将数据集保存到HDFS目录下,默认采用Hadoop提供的TextOutputFormat,每条记录以“(key,value)”的形式打印输出,你也可以采用saveAsSequenceFile函数将数据保存为SequenceFile格式等,
SequenceFile(args(2))当然,一般我们写Spark程序时,需要包含以下两个头文件:import ._import SparkContext.需要注意的是,指定输入输出文件时,需要指定hdfs的URI,比如输入目录是hdfs://hadoop-test/tmp/input,输出目录是hdfs://hadoop-test/tmp/output,其中,“hdfs://hadoop-test”是由Hadoop配置文件中参数指定的,具体替换成你的配置即可。
版权声明:本文标题:Spark实验报告 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1708401003a522786.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论