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节点,
几个月没工作,就在等着
------------恢复内容结束------------