Yarn Spark笔记(十年饮冰,难凉热血)

Spark:

 

1、jobTracker  相当于hadoop2.0 -ResourceManager(所有应用的共同点)、ApplicationMaster(不同应用单独自己管理)

   TaskTracker  相当于NodeManager 

 

2、hadoop 2.0 (yarn)

 

hadoop1.0  25台机器,凌晨数据处理

spark 白天模型训练,10台

 

Resoremanager怎么知道资源的:

1、提交任务,指定多少资源;

2、Nodemanager通过心跳,回传NodeManager上的资源信息。

 

executors:

num:代表进程的数量

memory:进程的内存数

cores:cpu拆成细粒度的核

 

5天数据,每天/3千万数据-->500m数据,5的量就是2.5g   ------>申请的话就是10G

 

slot ---> rar(cpu+内存)

十年饮冰,难凉热血

 

1、jobTracker为什么要拆成两部分(RM+AM)?

 

2、拆分依据?

 

3、为什么只留下RM在主节点,把AM放到从节点?

 

分布式  性能 < 单机(带宽限制)

num-executors:  100G

10 * 10G = 100G

=========================================================================================================================

spark on yarn理论笔记

1、MR启动耗时:

MR:map进程,reduce进程

spark:executor进程

10个 线程: 8 map task(线程)+ 2 reduce(线程)

 

MR:map-->reduce的中间结果在磁盘

spark: map-->reduce的中间结果也在磁盘(默认)

除非,进行cache 调用persist默认在内存中

 

写mapreduce需要通过脚本把map和reduce 串起来

 

spark:分布式并行计算框架

MR:如果执行map 

写操作就是action:写硬盘,写内存、

cache 属于transformation,df.cache高速任务df需要执行后放到

 

spark解决了什么问题?

- 完整作业描述

- 将用户的整个作业穿起来,关键是这3行,可以立即解释,不像mr那样,需要实现多个map和reduce脚本,解决mr缺乏作业流描述问题。

val file = sc.textFile(hdfs://input)
val counts = file.flatMap(
                  line = >line.split(" "))
                  .map(word => (word,1))
                  .reduceByKey(_+_)
                 
counts.saveAsTextFile(hdfs://output)

Spark基于弹性分布式数据集(RDD)模型

RDD怎么来?

1、读取数据

2、通过别的RDD转换过来

3、Dataframe过来,这样可以从hive过来数据

 

容错:1、备份数据   2、记录更新方式

 

stage划分:是在任务和数据都没有执行的时候就生成了。

 

宽依赖和窄依赖有什么用?

1、划分stage

2、容错

3、代码优化

 

 

spark cluster 修改配置:
1.hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</val
ue>
</property>
2.mysql给权限 root@master
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' Identified by '111111';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'master' Identified by '111111';
flush privileges;

 

建立切词数据集:allfiles.txt 环境包文件夹,有个pyspark,里面有pyspark对应数据和代码
create table news(a string);

create table new_no_seg as
select
split(regexp_replace(sentence,' ',''),'##@@##')[0] as content,
split(regexp_replace(sentence,' ',''),'##@@##')[1] as label
from news;

 

cd $SPARK_HOME
./bin/spark-submit --class com.badou.JiebaKry --master yarn-cluster --files $HIVE_HOME/conf/hive-site.xml --jars $HIVE_HOME/lib/mysql-connector-java-5.1.41-bin.jar,$SPARK_HOME/jars/datanucleus-api-jdo-3.2.6.jar,$SPARK_HOME/jars/datanucleus-core-3.2.10.jar,$SPARK_HOME/jars/datanucleus-rdbms-3.2.9.jar,$SPARK_HOME/jars/guava-14.0.1.jar /home/simon/spark-files/SparkPro-1.0-SNAP
SHOT-jar-with-dependencies.jar

 

[root@master spark-2.0.2-bin-hadoop2.6]# ./bin/spark-submit --class com.badou.JiebaKry --master local[2] --files $HIVE_HOME/conf/hive-site.xml --jars $HIVE_HOME/lib/mysql-connector-java-5.1.41-bin.jar,$SPARK_HOME/jars/datanucleus-api-jdo-3.2.6.jar,$SPARK_HOME/jars/datanucleus-core-3.2.10.jar,$SPARK_HOME/jars/datanucleus-rdbms-3.2.9.jar,$SPARK_HOME/jars/guava-14.0.1.jar /home/simon/spark-files/SparkPro-1.0-SNAPSHOT-jar-with-dependencies.jar

 

 

 



 

 

 

 

 

 

 

 Hbase:容错的存储海量稀疏的数据。

特性:

- 高可靠

- 高并发读写

- 面向列

- 可伸缩

- 易构建

 

行存储:

优点:写入一次性完成,保持数据完整性

缺点:数据读取过程中产生允余数据,若有少量数据可以忽略。

优势:

海量数据存储

快速随机访问

大量写操作的应用

 

 

 HMaster和HRegionServer连接到zookeeper后创建Ephemeral节点,

 

 

 

 

 

 

 

几个月没工作,就在等着

 

------------恢复内容结束------------

posted @ 2020-03-25 15:29  Simon92  阅读(10)  评论(0编辑  收藏  举报