1.Yarn 上面有哪几种资源调度策略?并且如何配置?
Hadoop规模来看
计算资源管理
1)Yarn 动态资源
2)Spark on Yarn 静态资源调度 动态资源调度
Spark 作业一般跑在集群资源好的机器上,一般好的集群会打标签进行区分:例如spark001 hadoop001机器名
3)Spark Job 每次触发一个Action 会产启动一个Job运行。
如果跑几次失败,是否能够有一种机制能够推测执行
推测执行:就是老在一个地方跑不动,次数超出设定的阈值,spark2.2以后有一个backlist 黑名单的概念。
就会到其余的节点运行
4) spark executor : Job core 是否能够自动适配
问题:一个partition处理的数据太多了,写出去时候发生OOM
如何评估一个Partition 放多少数据?
设定每个partition处理多少数据即可。
5)抢占 :作业的优先级
6)调度机
spark on yarn client
driver 运行在调度机上
同一分钟有1000个作业在跑,意味着这1k个作业都在调度机上
1k个作业都在调度机上资源不好隔离,就引入spark on docker k8s
ps:元数据:描述数据的数据
Hive元数据:描述Hive表的一些信息
数据采集:
1)RDBMS
2)FTP
3)NoSQL
4) S3/oss
5) orc/parquet
落到 ===> HDFS/Hive
数据源管理:
domain:
名称
类型
URL
username
password
是否连接成功
功能:domain 的CRUD 以及测试是否成功
任务:静态的概念
调度:执行任务
sqoop import
--connect jdbc:/mysql://localhost:3306/sqoop
--username root
--password root
--table emp
--mapreduce-job-name FromMySQLToHDFS
-m 1
--delete-target-dir
--columns 'EMPNO,ENAME,JOB,SAL,COMM'
--target-dir EMP_COLUMN_WHERE
--fields-terminate-by ' '
--null-non-string '0'
--null-string ''
--where 'SAL>1000'