天天看点

Spark安装部署

文章目录

        • Spark是啥?
        • Spark有啥特点?
        • Spark的安装
          • 解压
          • 配置环境变量配置三台节点
          • Spark配置
          • 远程拷贝到从节点
          • 启动
        • spark-shell简单操作

Spark版本: 1.4.5

Hadoop版本:2.7.6

Spark 提取码:1111

Spark是啥?

  • Spark是专为大规模数据处理而设计的快速通用的计算引擎。
  • Spark是加州大学伯克利分校的AMP实验室所开源的类Hadoop MapReduce的通用并行框架
  • Spark,拥有Hadoop MapReduce的优点;但是不同于MapReduce的是——Job中间输出结果可以保存在内存中,Spark不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark有啥特点?

  1. 快:spark与Hadoop的MapReduce相比,Spark基于内存的运算要快很多.
  2. 易用:Spark支持Java、Python和Scala的API,还支持超过80种高级算法.
  3. 通用:Spark 提供了大量的类库,可以把这些类库无缝的柔和在一个 App 中。减少了开发和维护的人力成本以及部署平台的物力成本.
  4. 兼容性:Spark可以非常方便地与其他的开源产品进行融合。例如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase和Cassandra等等。

说了这么多接下来该说说怎么安装了

注:这里需要JDK可以参考以下文章

CentOS7安装JDK

Spark的安装

解压
[[email protected] ~]# tar xvf /home/package/spark-2.4.5-bin-hadoop2.7.tgz  -C /usr/local/src/
#改名
[[email protected] ~]# mv /usr/local/src/spark-2.4.5-bin-hadoop2.7/ /usr/local/src/spark-2.4.5/

           
配置环境变量配置三台节点
配置如下
[[email protected] spark-2.4.5]# vim /etc/profile

export SPARK_HOME=/usr/local/src/spark-2.4.5/
export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.6/etc/hadoop/

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:
#改完之后不要忘记了刷新
[[email protected] ~]# source /etc/profile
#其他两台节点像这样配置即可

#因为刚刚添加了spark的环境变量sbin 跟hadoop的strat-all.sh冲突了  
#没有安装Hadoop的朋友就不用管
#这里改下那个名字
[[email protected] spark-2.4.5]# mv sbin/start-all.sh  sbin/spark-all.sh


           
Spark配置
#进入到安装目录
[[email protected] ~]# cd /usr/local/src/spark-2.4.5/

#把配置文件重命名
[[email protected] spark-2.4.5]# mv conf/slaves.template conf/slaves
[[email protected] spark-2.4.5]# mv conf/spark-env.sh.template conf/spark-env.sh


[[email protected] spark-2.4.5]# vim conf/spark-env.sh
#追加配置如下:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152/
SPARK_MASTER_HOST=hadoop01
SPARK_MASTER_PORT=7077


[[email protected] spark-2.4.5]# vim conf/slaves
#把localhost删除后 追加如下配置
master
salve1
salve2


           
远程拷贝到从节点
[[email protected] spark-2.4.5]# scp -r /usr/local/src/spark-2.4.5/ salve1:/usr/local/src/

[[email protected] spark-2.4.5]# scp -r /usr/local/src/spark-2.4.5/ salve2:/usr/local/src/

           
启动
[[email protected] ~]# spark-all.sh
           
Spark安装部署
Spark安装部署

接下来需要用下Hadoop

具体部署可以参考以下博客

Hadoop HA集群部署(详细版)

spark-shell简单操作

[[email protected] ~]# spark-shell --master spark://master:7077


scala> sc.parallelize(List(2,3,4).map(_*1000)).collect()
res0: Array[Int] = Array(2000, 3000, 4000)

scala> sc.parallelize(List(1,2,4,5,6)).map(_*100).count()
res1: Long = 5

scala> sc.textFile("hdfs://salve1:9000/red.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect()

#保存到hdfs
sc.textFile("hdfs://salve1:9000/red.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://salve1:9000/out/03")


sc.textFile("hdfs://salve1:9000/red.txt").flatMap(x=>x.split(" ")).map(y=>(y,1)).reduceByKey((a,b)=>a+b).collect()


           
Spark安装部署

继续阅读