Spark

Reason is the light and the light of life.

Jerry Su Jul 20, 2019 1 mins

3.spark简介

3.1.spark定义

spark是基于内存的, 分布式的, 大数据并行计算框架(处理引擎)

迭代式计算,优先使用内存,内存不足,再使用磁盘。

分布式:数据存储分布式;运算分布式。

spark + 数据源(hdfs)

3.2.spark和hadoop关系

hadoop:hdfs mapreduce yarn

spark + hadfs

spark + yarn

spark 和 mapreduce比较

mapreduce:第一代分布式运行框架。分治编程思想。

mapreduce: 两步计算,磁盘存储;

spark:多步计算,内存存储。类似于scala的函数式编程,链式编程。

  1. spark基于内存,迭代效率更高(由于DAG有向无环图)

  2. spark容错性更好(由于RDD)

  3. spark算子更多

  4. spark支持的语言更多(scala、java、python、R)

结论:spark是mapreduce的替代方案,兼容hdfs、hive,可融入hadoop生态圈,弥补mapreduce的不足。

3.3.spark优点

  1. 速度快

  2. 易用性 支持scala、java、python、r

  3. 通用性、

a. 一站式解决方案:离线分析 实时处理 机器学习 图计算 sql

b. 减少公司开发的人力物力成本

  1. 兼容性

a. spark + mysql redis kafka hdfs yarn zookeeper

4. spark部署模式

4.1.local本地模式

开箱即用,一台机器即可。多线程模拟。

4.2.standalone集群模式

是spark安装包自带的集群模式

4.3.yarn集群模式

yarn:资源调度平台(公司常用模式)

把spark任务提交到yarn集群运行

5.spark集群搭建

集群搭建特指:standslone集群。角色:master 和 worker

ssh远程服务器:ip port user password

跳板机器:如果服务器rno是内网的,外网无法直接访问。外网需要一个跳板机(bastion)。

5.1.机器准备

a1 192.168.23.1 master
a2 192.168.23.2 worker
a3 192.168.23.3 worker

至少两台

5.2.机器的环境配置

5.2.1.免密登陆

配置主节点到从节点的免密登陆即可。

# ssh-keygen
# ssh-copy-id ip

5.2.2.关闭防火墙

大数据集群,一般都是内网集群,不需要开启防火墙。

有单独的机器,具备内网和外网环境,可以通过该机器进行对外通信。

# service iptables status    // 查看防火墙
# service iptables stop      // 关闭防火墙
# ckconfig iptables off      // 永久关闭

5.2.3.ip与host的映射关系

使用hostname

# cat /etc/hosts
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
202.76.247.23 ion-ljz.corp.ebay.com
192.168.23.1 a1
192.168.23.2 a2
192.168.23.3 a3

Read more: