Spark1.2.0伪分布式安装
- JDK1.7.0_67
- Haddoop2.5.2(伪分布式安装)
- Scala2.11.4
- Spark1.2.0(伪分布式安装)
下载并配置Scala
1. 下载Scala2.11.4
wget http://downloads.typesafe.com/scala/2.11.4/scala-2.11.4.tgz?_ga=1.10268349.906591.1419820693
2. 改名
mv scala-2.11.4.tgz?_ga=1.10268349.906591.1419820693 scala-2.11.4.tgz
3. 配置Scala的环境变量
vim /etc/profile export SCALA_HOME=/home/hadoop/software/scala-2.11.4 export PATH=$SCALA_HOME/bin:$PATH
下载Spark1.2.0(与Hadoop2.4兼容版本)
1.下载Spark1.2.0与Hadoop2.4兼容版本
http://d3kbcqa49mib13.cloudfront.net/spark-1.2.0-bin-hadoop2.4.tgz
在本测试环境中,使用的是Hadoop2.5.2版本,测试发现,这个版本的Spark(2.4兼容版本)可以与Hadoop2.5.2兼容
2. 解压Spark安装包到如下目录
tar xzvf spark-1.2.0-bin-hadoop2.4.tgz /home/hadoop/software/spark-1.2.0-bin-hadoop2.4
配置Spark相关的环境变量
1. vim /etc/profile,编辑完成后使用source /etc/profile使得变量生效
export SPARK_HOME=/home/hadoop/software/spark-1.2.0-bin-hadoop2.4 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
这些需要配置的环境变量很多,不过之前在安装JDK,Scala和Hadoop时,已经设置过了,具体需要配置哪些环境,可以看配置spark-env.sh的配置。为了保险期间,可以设置如下的环境变量(在/etc/profile和spark-env.sh同时配置)
- SCALA_HOME
- JAVA_HOME
- HADOOP_HOME
- SPARK_HOME
- YARN_CONF_DIR
2. 把spark-env.sh.template改为spark-env.sh
cp spark-env.sh.template spark-env.sh
3. 配置spark-env.sh
export SCALA_HOME=/home/hadoop/software/scala-2.11.4 export JAVA_HOME=/home/hadoop/software/jdk1.7.0_67 export SPARK_MASTER=localhost export SPARK_LOCAL_IP=localhost export HADOOP_HOME=/home/hadoop/software/hadoop-2.5.2 export SPARK_HOME=/home/hadoop/software/spark-1.2.0-bin-hadoop2.4 export SPARK_LIBARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
启动Spark
1. 在Spark安装目录的sbin目录下执行./start-all.sh命令启动Spark
$SPARK_HOME/sbin/start-all.sh
2. 启动过程中报rsync错误,不过通过查看Java进程可以看到Spark已经启动
可见,启动Spark后,启动了两个Java进程Master和Worker
3. 访问http://localhost:8080,可以看到Spark Master的状态
4. 访问如下地址可以查看关于Spark相关的情况
- http://192.168.26.135:4040/jobs
- http://192.168.26.135:4040/stages/
- http://192.168.26.135:4040/storage/
- http://192.168.26.135:4040/environment/ (包含Spark Shell的类路径)
- http://192.168.26.135:4040/executors/
由下图可见,Spark Shell启动后,只有一个Executor,即driver
Spark Shell运行Word Count
1. 启动Spark Shell
bin/spark-shell
第一次启动过程中用了4分钟,并且系统卡住没反应,不过以后再启动Spark Shell则很快,快则1,2秒,慢则10几秒。Spark Shell启动后,Spark启动了一个进程SparkSubmit
2. 运行Spark Word Count
2.1 Spark Shell启动后,进行入scala命令行模式,此时,Spark已经默认给我们创建了一个SparkContext,sc,如:
scala> sc res0: org.apache.spark.SparkContext = org.apache.spark.SparkContext@756cf002
2.2. 在Hadoop HDFS上创建一个文本文件,如:
hdfs dfs -cat /users/hadoop/wordcount/word.txt
内容是:
2.3 Spark读取HDFS上的文本文件word.txt
val file = sc.textFile("hdfs://hadoop.master:9000/users/hadoop/wordcount/word.txt")
这行语句的结果是创建了一个MappedRDD,即file的类型是MappedRDD,执行结果如下所示:
最后的<Console>:12,12指的是什么?不像是word.txt的字节数
2.3.0 题外话:
hdfs://hadoop.master:9000,这里的hadoop.master不能是localhost,因为telnet localhost 9000拒绝连接,如下图所示:
2.4. 执行如下操作
scala> val count = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_)
结果:
可见count是ShuffledRDD类型
2.5 统计结果
scala> count.collect()
查看Spark Master和Spark Worker的运行结果
通过访问http://192.168.26.135:8080/和http://192.168.26.135:8081/,可以查看Spark Master和Spark Worker的运行状态。结果发现,Master上Completed Applications依然为0,原因不清楚, Spark Master UI不显示Spark Shell提交的任务?
参考:http://blog.csdn.net/yeruby/article/details/41042713
相关推荐
在 Spark 分布式环境中,HDFS 是一种常用的分布式文件系统。在本文档中,我们使用 HDFS 来存储 Spark 的日志文件。我们需要在 HDFS 中创建一个目录来存储日志文件。 本文档详细讲述了如何搭建 Spark 完全分布式环境...
伪分布式模式允许在一个机器上模拟多节点集群。可以通过以下命令启动: ```bash ./bin/run-example org.apache.spark.examples.SparkPi local[2,2,1024] ``` 这里的 `[2,2,1024]` 表示启动两个 Worker,每个 Worker ...
本书首先介绍了Spark的基本概念,包括其分布式计算模型——弹性分布式数据集(Resilient Distributed Datasets, RDDs),以及后来的DataFrame和Dataset API,这些API为数据处理提供了更高级别的抽象,使得开发人员...
hadoop与spark分布式安装,内容详细,亲自搭建成功。助于新手
总结,Spark Standalone模式的安装部署是一个基础但重要的实践环节,它涉及到了Linux环境管理、文件配置以及分布式系统的基础操作。通过这次实验,可以深入理解Spark集群的工作原理,为后续的数据处理和分析打下坚实...
2. 启动一个Spark Shell:`bin/spark-shell`,然后在Shell中执行一些简单的操作,比如创建一个RDD并进行操作,以确保Spark伪分布式环境正常工作。 至此,Spark伪分布式环境已经搭建完成。你可以在这个环境中编写和...
虽然文档中未详细展开Hadoop的安装步骤,但提及了Hadoop版本为2.6.0,这是构建伪分布式或单节点Spark环境的关键组件。Hadoop的安装步骤可能包括下载对应版本的Hadoop包、解压以及配置环境变量等。 ### Spark安装 ...
Spark分布式集群安装部署 Spark 是一种基于内存的分布式计算框架,它提供了高效的数据处理能力和灵活的编程模型。 Spark 集群安装部署是 Spark 的一个重要组成部分,它可以帮助用户快速部署 Spark 集群,并对其...
对于 90%以上想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,家林把 Spark 集群的构建分为了四个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个...
1. **Spark架构**:Spark的核心设计理念是弹性分布式数据集(Resilient Distributed Datasets, RDD),它是一个不可变的数据集合,可以在集群中进行并行操作。Spark 2.x引入了DataFrame和Dataset API,进一步提高了...
### Hadoop2.8与Spark2.1完全分布式搭建知识点详解 #### 一、前期准备工作 **1. 安装包的准备** - **VMware:** - 版本要求:10.0及以上 - 下载地址:[官方下载]...
基于Spark的分布式实时推荐系统这一主题涉及了大数据处理、分布式计算、推荐系统以及机器学习等多个现代信息技术的核心领域。具体到文档提供的内容,我们可以从中提炼出以下关键知识点: 1. 推荐系统的背景与意义:...
伪分布式安装教程: Flume Hbase Spark Hive Kafka Sqoop zookeeper等分布式系统框架 备注:Hadoop安装教程当时忘记记录,后续也懒得弄,所以上传资料也暂无hadoop安装教程,尽请理解!!!!
- **选择运行模式**: Spark可以本地模式、伪分布式模式和完全分布式模式运行。对于开发和测试,通常使用本地模式;生产环境通常选择分布式模式。 **3. Spark与Hadoop的关系** Spark可以与Hadoop生态系统集成,但本...
第1章 安装VMWare Workstation 10;第2章 VMware 10安装CentOS 6;第3章 CentOS 6安装Hadoop;第4章 安装部署Spark;第5章Spark上机操作;第6章 开发Spark分布式程序
Spark 是一个基于内存的分布式计算框架,能够高效地处理大规模数据。 一、实验目的 本实验的目的是学习 Spark 的安装与使用,了解 Spark 的基本概念和使用方法。 二、实验准备 在开始实验之前,需要准备以下环境...
这一两年Spark技术很火,自己也凑一下热闹,主要是为了搭建Spark,但是Spark需要Hadoop的hdfs和yarn,所以需要先搭建Hadoop。本教程在Ubutnu 14.04 64位,Hadoop 2.6.0下验证通过,这里只列出命令与配置,不作详细...
6. **Spark部署模式**:Spark可以部署为单机模式、单机伪分布式、集群分布式(完全分布式),但没有列分布式这一说法。 7. **Spark Streaming输入数据流**:Kafka、Twitter和TCP套接字都是Spark Streaming常见的...
Spark是一种开源的分布式计算系统,它支持大规模数据集的处理,尤其适用于需要进行迭代计算的数据挖掘任务,而分布式并行推理算法则是指能够将推理任务分配到不同的计算节点上并行执行的算法。本文探讨的基于Spark的...
2. **Spark架构**:Spark的核心设计理念是弹性分布式数据集(Resilient Distributed Datasets, RDD),它是一个不可变、分区的数据集合,支持并行操作。此外,Spark的调度器(包括DAGScheduler和TaskScheduler)负责...