Spark安装

Spark安装

概述

Apache Spark™ is a unified analytics engine for large-scale data processing.
Spark是一个使用大数据处理的统一分析引擎(计算)
官网地址:http://spark.apache.org/
Lightning-fast unified analytics engine (Spark快如闪电统一分析引擎)
快如闪电

  • Spark是基于内存式计算引擎。不同于Hadoop框架中MapReduce,在计算时将任务分为粗粒度MapTask和ReduceTask,Shuffle通常比较耗时,因为MapTask映射结果需要溢写到磁盘,ReduceTask需要通过网络拉取负责计算的分区数据。
  • Spark计算任务可以划分细粒度Stage(阶段),每一个Stage都支持分布式并行计算。不同于MapReduce
  • Spark在计算时,每一个阶段的计算中间结果都支持Cache(缓存),利用缓存进行结果复用和故障恢复
  • Spark在底层进行大量优化,包括查询优化、物理引擎、内存管理等

统一

Spark框架提供了大数据处理的所有主流方案

  • 批处理 Batch Processing(Spark RDD 弹性分布式数据集),代替MR
  • 流处理 Stream Processing(Spark Streaming 和 Spark Structured Streaming),代替Storm
  • 交互式查询支持, 类似于Hive(Spark SQL),代替Hive
  • 机器学习 Machine Learning(Spark MLLib)
  • 图形计算 NOSQL(Spark GraphX)
  • 其它Spark第三方生态库

分析引擎

Spark作用类似于MapReduce,是一个分布式并行计算引擎
大数据需要解决三个问题:数据采集、存储、计算(Spark解决)

特点

  • 高性能:Spark提供了一个先进的计算模型:DAG(Dirtected Acycle Graph有向无环图,计算任务),可以将计算任务划分多个Stage,每一个Stage都支持分布式并行计算。Spark底层进行了大量优化(内存管理、网络传输、数据序列化、物理引擎、任务管理等)
  • 易用性:Spark应用可以基于多种编程语言开发(Scala【推荐】、Java、Python、R、SQL),提供了大概80个操作方法(高阶函数)可以极大简化大数据应用的开发
  • 通用性:Spark拥有一个强大生态库,可以解决大数据的批、流、SQL、Graph、ML、AI、BI等一系列问题
  • 运行环境:Spark应用可以运行在多种集群中环境中,如Yarn、Mesos、K8S、Cloud,或者运行Spark自带资源管理调度系统(Standalone),local模式,常用于测试开发

集群环境搭建

Standalone模式

Standalone模式(又称为独立模式集群),本质是一种类似于Hadoop Yarn资源管理和调度系统,主要对分布式集群中计算资源(内存、CPU、网络、IO等一系列硬件)。Spark应用需要运行在Standalone集群中,进行并行计算

准备工作

CentOS7【内存:4G以上】
Hadoop版本2.9.2
Spark版本2.4.4

  • 安装CentOS7
  • 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  • 修改主机名
[root@localhost ~]# vi /etc/hostname
SparkOnStandalone
  • 配置网络
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.126.100  # 要根据VMNet8调整IP地址
NETMASK=255.255.255.0
ONBOOT=yes
[root@localhost ~]# systemctl restart network
  • 配置主机名IP映射
[root@localhost ~]# vi /etc/hosts
192.168.126.100 SparkOnStandalone
[root@localhost ~]# ping SparkOnStandalone
PING SparkOnStandalone (192.168.126.100) 56(84) bytes of data.
64 bytes from SparkOnStandalone (192.168.126.100): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from SparkOnStandalone (192.168.126.100): icmp_seq=2 ttl=64 time=0.039 ms
  • 关闭虚拟机配置双网卡
  • 安装文本编辑器vim
[root@SparkOnStandalone ~]# yum install -y vim

安装Hadoop HDFS

  • 安装JDK
[root@SparkOnStandalone ~]# rpm -ivh jdk-8u171-linux-x64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:jdk1.8-2000:1.8.0_171-fcs        ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
  • 配置SSH免密登陆
[root@SparkOnStandalone ~]# ssh-keygen -t rsa
// 按四次回车 产生公私玥文件

[root@SparkOnStandalone ~]# ll -a .ssh/
总用量 8
drwx------. 2 root root   38 11月 22 11:22 .
dr-xr-x---. 3 root root  247 11月 22 11:22 ..
-rw-------. 1 root root 1679 11月 22 11:22 id_rsa
-rw-r--r--. 1 root root  404 11月 22 11:22 id_rsa.pub

// 将当前主机的公钥文件中的内容拷贝指定主机的授权列表中
[root@SparkOnStandalone ~]# ssh-copy-id SparkOnStandalone

[root@SparkOnStandalone ~]# ll -a .ssh/
总用量 16
drwx------. 2 root root   80 11月 22 11:23 .
dr-xr-x---. 3 root root  247 11月 22 11:22 ..
-rw-------. 1 root root  404 11月 22 11:23 authorized_keys
-rw-------. 1 root root 1679 11月 22 11:22 id_rsa
-rw-r--r--. 1 root root  404 11月 22 11:22 id_rsa.pub
-rw-r--r--. 1 root root  195 11月 22 11:23 known_hosts

// 测试SSH免密登陆,如无需密码登陆 SSH免密登陆配置成功  如需要密码 重试配置
[root@SparkOnStandalone ~]# ssh SparkOnStandalone
Last login: Fri Nov 22 11:17:58 2019 from 192.168.126.1
  • 安装Hadoop
[root@SparkOnStandalone ~]# tar -zxf hadoop-2.9.2.tar.gz -C /usr
[root@SparkOnStandalone usr]# cd /usr/hadoop-2.9.2/
[root@SparkOnStandalone hadoop-2.9.2]# ll
总用量 128
drwxr-xr-x. 2 501 dialout    194 11月 13 2018 bin
drwxr-xr-x. 3 501 dialout     20 11月 13 2018 etc
drwxr-xr-x. 2 501 dialout    106 11月 13 2018 include
drwxr-xr-x. 3 501 dialout     20 11月 13 2018 lib
drwxr-xr-x. 2 501 dialout    239 11月 13 2018 libexec
-rw-r--r--. 1 501 dialout 106210 11月 13 2018 LICENSE.txt
-rw-r--r--. 1 501 dialout  15917 11月 13 2018 NOTICE.txt
-rw-r--r--. 1 501 dialout   1366 11月 13 2018 README.txt
drwxr-xr-x. 3 501 dialout   4096 11月 13 2018 sbin
drwxr-xr-x. 4 501 dialout     31 11月 13 2018 share
  • 对HDFS进行配置
    • core-site.xml

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值