培训课程

官方文档:https://www.cloudera.com/documentation/enterprise/latest/topics/admin_rm.html

cloudera 管理

cloudera 分析(pig,impala,hive)

cloudera 开发

cloudera hbase

常用组件

Avro 通用的数据存储格式(行级)

Flume 采集(近似实时),日志

hadoop: 核心组件:hdfs、yarn、MR

HCatalog: hive和impala提供API

kudu: 数据存储系统,结构化,其他2个数据存储系统是:hbase 和 hdfs

Parquet:通用数据存储格式(列级)

Pig:脚本进行数据分析

sqoop: RDBMS -> Hadoop

HDFS: 适合批量IO,不适合做检索(原因:文件存储,没有索引的概念,只能逐行扫描)

Hbase:适合检索,但是批量效率不高

Kudu:介于两者之间

注意:

组件配置文件/var/run/...下

客户端配置文件/etc下

HDFS和数据本地化

1、将1GB的文件1.log被分片(split)成小文件-block

2、block的大小128M,3个副本,必须存储在三个不同的物理服务器上

HDFS:存放大文件,不建议小文件(维护的元数据条目会增大,即便在内存中维护,也会操作延时)

大:大于128M,实际是大于1G,性能好

一次性写,文件一旦被上传不能被修改,只能删除重新上传

读写粒度:block,名称是blk_ID

数据冗余,应用也冗余

并发-主要对block进行并发操作

数据本地化,数据在哪里,应用就在哪里(datanode-nodemanager)。减少网络延迟,本地处理,可大大提高效率

安装部署流程:建DB-建库-安装CM-安装CDH

CM是BS架构,Sever端建议选取独立服务器,client端需要部署Agent程序,CDH组件的安装都是通过Agent安装部署

安装方式:

CM - rpm包

CDH - 源码

二进制

rpm包

parcels(官方建议)

远程方式管理介质,http、配置yum源

10.0.15.181 elephant

10.0.15.182 tiger

10.0.15.183 horse

10.0.15.184 monkey

10.0.15.185 lion

代理启动:

start_SOCKS5_proxy.sh

连接CM介质:lion:8000

连接CDH介质:lion:8050

start_SOCKS5_proxy.sh

sudo /usr/share/cmf/schema/scm_prepare_database.sh \

mysql cmserver cmserveruser password

hdfs访问web:

http://elephant:50070

NameNode

NameNode功能:在内存中维护元数据

元数据:文件路径

用户、属组、权限

1.log-> ID1,ID2,...

ID1 -> 所在机器列表

SencodNameNode只能是作为Namenode的辅助,不能作为其备份。SencodNameNode主要做fsimage和edit log的合并,然后生成新的new fsimage,再回写到NameNode中的fsimage。改操作

叫检查点操作:默认一小时进行一次更新,有了SencodNameNode之后就fsimage不再为空(最近一小时的数据),不用去加载edit log(量大);

元数据变更:向NameNode请求,先在NN节点的磁盘上写 log,再写mem

刚启动:格式化生成一个空的fsimage文件,NN加载fsimage(空)到内存(空)

运行一段时间:产生大量的edit log,重启后还是先加载空的fsimage文件到内存,再恢复edit log,可能时间很长

HA架构中是否有检查点工作,有,但不是SNN(该角色在HA中已经没有了),是备份的NN来做!!!

机器感知

防止数据丢失,额外配置,防止服务器宕机数据不丢失,机架宕机,数据也不丢失(副本放置策略)

NameNode的内存大小?

默认将1GB修改4GB,以后根据元数据量大增加

YARN-Spark-MR

YARN的ResourceManager:评估应用程序的资源请求

MR

input Split:对block文件进行键值对处理

Map的结果:是写入本地磁盘(延迟)

Map-Reduce:可能跨网络数据传输(延迟)

Spark优秀:

内存计算

RDD数据结构

通用

适合场景:流式、批量、SQL...

spark ——> Yarn 提交作业:

2种提交模式的区别

client:spark drive管理型Java进程跑在客户机上,调试模式,要保持客户机和集群机器通信

cluster:spark drive管理型Java进程也跑在集群中,适合生产

RDD:

1、数据丢失,就重新计算,保证数据冗余(牺牲CPU+MEM)

2、RDD初始是HDFS文件

Spark例子:

val file = sc.textFile("hdfs://elephant:8020/tmp/shakespeare.txt")

val counts = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _).sortByKey()

counts.saveAsTextFile("hdfs://elephant:8020/tmp/sparkcount")

sc.stop()

sys.exit()

sqoop优化

1、修改map的并发度,默认为4

2、底层连接JDBC驱动换掉(专门开发)

集群规划

单台服务器硬盘空间不建议超过36T;

不建议RAID;

Hive-Impala

装beeline客户端就是要安装gateway服务

impala Deamon 分布式任务执行(注意与datanode一一对应,数据本地化计算)

impala catalog 维护元数据

impala state 查看Deamon的状态

impala提高性能中的参数

1、dfs.client.read.shortcircuit 设为true,提高读取性能

高级配置

NameNode参数调整

dfs.namemode.handler.count

NameNode可以开启的线程数,默认为30,如果集群机器规模大,可调整增大;算法:log(N)*20 个,太小会报“connection refused”

DataNode参数调整

dfs.datanode.max.locked.memory - 用于缓存的最大内存

YARN参数调整

mapreduce.job.reduce.slowstart.completedmaps - 在启动Reduce作业前,完成的Map任务的进度,默认为80%

设置原因:1、提供执行的效率;2、尽量节约Yarn资源(MR申请的容器会同时初始化,但是Reduce任务是在Map任务结束后才会执行,到时Reduce无效的占用资源-容器)

mapreduce.reduce.shuffle.parallelcopies - 复制(洗牌)阶段期间 reduce 运行的并行传输的默认数量,ln(nodes)*4 再取10的倍数。比如集群数为20,ln(20)*4= 11.98,

这里需要取20

MapReduce的推理执行speculative execution

当其中某个Mapper或Reducer任务执行的速度明显慢于平均速度,会重新在不同的节点上拉起一个相同的任务,执行结果是来源于第一个完成的,慢的会被kill掉;

开启要当心,如果其中的作业处理的数据量超大,重新拉起相同的任务会带来更多的资源消耗;默认是关闭;

mapreduce.map.speculative

mapreduce.reduce.speculative

HDFS的HA架构

在非HA架构中fsimage的维护操作是由SencodNameNode完成;在HA架构中SencodNameNode不存在,fsimage由JournalNode完成;

Failover Controller进行故障转移

NameNode(Active)向JournalNode写元数据,NameNode(standby)从JournalNode读元数据,并保持与NameNode(Active)心跳;

JournalNode主要是维护fsimage,定在对fsimage和edit log进行合并操作,默认一小时进行一次;

HA配置步骤:

1、设置JournalNode本地目录/opt/dfs/jn权限属组hdfs:hadoop(要么全部手动创建,要么不创建CM自动创建)

2、确保zk安装启动;

3、CM界面点击Enable High Availability

启动HA的影响,需要手动进行如下操作:

1、对HIVE

更新Hive的元数据:hive界面-操作-更新Hive Metadata NameNode

2、对Impala

执行 INVALIDATE METADATA

3、对Hue

对HDFS增加HttpFS角色

安全模块

1、sentry

2、LDAP

3、Kerberos

资源管理方式

一、基于Yarn的资源管理

1、静态资源池(首页-Cluster下拉菜单-静态资源池)

2、Yarn调度器(动态资源池)

一、cgroup,默认是关闭的,HOST - > Enable Cgroup-based Resource Management

对进程进行管控!!!可对cpu、内存、IO管理

  • Yarn 调度器,对内存、cpu管理

三种调度器:FIFO/容量/公平

容量:Yahoo粒度-池(队列),由用户创建队列,应用必须提交到队列上,百分比分配。池的内部应用程序资源分配算法是FIFO

公平:facebook开发,官方建议使用,粒度还是池,每个池都是均等的。池的内部应用程序资源分配算法:两种算法,FIFO或均等平分

区别:池内部资源分配算法。

集群建议使用公平调度器!!!

课程使用的是公平调度器!!!

公平调度器特点:

1、pool默认有一个根池root,池是可以级联的(嵌套结构)。

2、池是不绑定资源;

3、池的均等是发生在同一层级的;

4、是yarn上面的管控资源;

5、资源均等

公平调度器抢占模式

举例:资源为30G,2个池(队列)Alice和Bob

Alice有任务,而Bob无任务运行,30G资源全部分配给Alice,当Alice中的任务运行一段时间之后,此时Bob中有任务提交,那么Yarn如何给Bob分配资源?

默认抢占是关闭的,只有等Alice中的任务运行完成释放资源,之后才会分配给Bob;如果抢占开启,会从Alice中抢占资源给Bob使用,会将Alice中部分的已经运行的任务kill。

yarn.scheduler.fair.preemption是disable

2种抢占模式:

最小抢占

公平抢占

公平调度器的配置变更不需要重启,因为每10s就会读取配置文件fair-scheduler.xml。

资源参数的配置参考Traning材料。

二、Impala查询的资源管理

Admission control

维护

HDFS

fsck:只能检测,⽆法修复(3copy all failure ⽆法恢复)

safe mode : 只能读不能写,即元数据不会变,可以⽤来做备份

wait 状态:⽤于脚本,检测是否处于safemode,是即夯住,恢复后脚本继续执⾏

备份元数据的操作

1、进入安全模式

2、检查点操作(就是将edit log与fsimage合并生成新的fsimage文件:元数据刷新)

3、进行namenode的机器上面的/opt/dfs/nn/current/fsimage_*文件

rebalance操作:手动操作

建议在集群闲置的时候操作

删除节点2种操作:

  1. 退役操作
  2. 删除操作

CDH升级

CM版本要求⼤于CDH

详见每个版本升级细节须知

练习

  1. 集群自动恢复副本功能

上传1G左右的数据到hdfs上,查看block分布情况

可以看出block在节点上的分布情况,现将109集群的DataNode角色手动停止,查看DataNode的情况,发现109的Last Contact还在17:00点钟。

[root@bd129106 home]#  sudo -u hdfs hdfs fsck /

Connecting to namenode via http://bd129107:50070/fsck?ugi=hdfs&path=%2F

FSCK started by hdfs (auth:SIMPLE) from /192.168.129.106 for path / at Fri Feb 23 17:05:16 CST 2018

..........................................................................Status: HEALTHY

Total size:    1982841822 B (Total open files size: 332 B)

Total dirs:    1941

Total files:   724

Total symlinks:                0 (Files currently being written: 5)

Total blocks (validated):      732 (avg. block size 2708800 B) (Total open file blocks (not validated): 4)

Minimally replicated blocks:   732 (100.0 %)

Over-replicated blocks:        0 (0.0 %)

Under-replicated blocks:       0 (0.0 %)

Mis-replicated blocks:         0 (0.0 %)

Default replication factor:    3

Average block replication:     3.0

Corrupt blocks:                0

Missing replicas:              0 (0.0 %)

Number of data-nodes:          3

Number of racks:               1

FSCK ended at Fri Feb 23 17:05:17 CST 2018 in 457 milliseconds

The filesystem under path '/' is HEALTHY

等到10分钟之后再次查看,109已经处于dead

到HDFS文件浏览界面查看副本数仍然为3,

查看datanode的报告命令

[root@bd129106 home]# sudo -u hdfs hdfs dfsadmin -report

  1. HDFS快照

免费版没有文件浏览器

a)启用快照

b)拍摄快照

c)删除数据:切换eda用户,hdfs dfs -rm -r weblog

hdfs dfs -ls /user/eda

[eda@bd129106 home]$ hdfs dfs -ls /user/eda/.snapshot/snap1

Found 1 items

drwxr-xr-x   - eda eda          0 2018-02-24 10:15 /user/eda/.snapshot/snap1/weblog

hdfs dfs -tail .snapshot/snap1/weblog/test_center

d)恢复数据

[eda@bd129106 home]$ hdfs dfs -cp .snapshot/snap1/weblog/test_center weblog

e)验证

[eda@bd129106 home]$ hdfs dfs -ls /user/eda/weblog

-rw-r--r--   3 eda eda 1396874072 2018-02-24 11:25 /user/eda/weblog

Cloudera CCA131培训考试要点相关推荐

  1. 佛山科目二仙塘考场(B场)-考试要点

    2019/04/29 佛山科目二仙塘考场(B场)-考试要点 地点:机动车驾驶员考试培训中心,龙江镇仙塘大道21号. 线路图: 借吧友的图,B场,现场2号侧方停用,直角转弯号数相反,4号半坡左侧没有水泥 ...

  2. 信息系统项目管理师考试要点

    1.上午知识要点解读 ( 1 )信息化知识 要掌握一些基本概念,主要出现在上午题的选择题中.基本的概念不必死记,但关键的词语要记住,概 念的意思要理解.主要的概念性知识要点与如下一些: 信息与信息化的 ...

  3. 《CCNA安全640-554认证考试指南》——6.4节复习所有考试要点

    本节书摘来自异步社区<CCNA安全640-554认证考试指南>一书中的第6章,第6.4节复习所有考试要点,作者 [美]Keith Barker , Scott Morris,更多章节内容可 ...

  4. c语言计算机二级考试要点,全国计算机二级考试c语言考试要点

    全国计算机二级考试c语言考试要点 3. 源程序的书写格式. 4. C语言的风格. 二.数据类型及其运算 1. C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法. 2. C运算符的种类 ...

  5. 全国计算机vb考试经典程序设计,全国计算机二级《VB语言程序设计》考试要点...

    全国计算机二级<VB语言程序设计>考试要点 VB语言程序设计是计算机二级考试的科目之一,考生们在备考是要熟悉科目的知识要点,有针对性地进行备考.下面百分网小编为大家搜索整理了关于二级< ...

  6. 第一章信息安全基础考试要点及真题分布

    第一章信息安全基础考试要点及真题分布 第一章 信息安全基础 1.信息安全概念 2.信息安全法律法规 3.信息安全管理基础 4.信息安全标准化知识 5.信息安全专业英语 信息安全基础真题分值统计 201 ...

  7. 圆你国产数据库DBA之梦,达梦DCA培训考试券免费拿

    2020首届达梦数据库精英挑战赛是在工信部等各级单位指导下,达梦公司联合国内信创产业知名企业共同打造信创人才"万人培养计划". 活动报名 报名时间:2020年7月22日-8月5日 ...

  8. 《CCNA学习指南:数据中心(640-911)》——1.6 考试要点

    本节书摘来自异步社区<CCNA学习指南:数据中心(640-911)>一书中的第1章,第1.6节,作者: [美]Gary R. Wright(加里 R.赖特) , W. Richard St ...

  9. 9月30号后新版CCNA考试要点

    考试要点: 下列要点是可能会出现在CCNA单科考试中的大纲.但是,其他相关要点也可能会在某次考试中出现.下面的大纲可能会在未提前通知的情况下发生改变,这是为了更好地反映考试内容及更加透明化. IP数据 ...

最新文章

  1. ubuntu mysql登陆_ubuntu mysql 配置 远程登陆
  2. 【Python】全方面解读Python的格式化输出
  3. 开源|如何开发一个高性能的redis cluster proxy?
  4. 在恰当的地方使用MongoDB的WriteConcern.SAFE参数
  5. python樱花制作教程视频_大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树...
  6. 35 WM配置-作业-定义需求类型
  7. Find the median(线段树离散化+区间更新)
  8. 看《烈火雄心》 --当大家从火里出来,我们进去
  9. 网页布局:左边为导航,右边正文,左边和右边的高度总是相等,或者导航最低高度为屏幕高度...
  10. SDK接入学习(一):PlayerSetting详解(PC、Mac、Linux)
  11. matlab英文界面翻译,Matlab最新的官方文档中文翻译
  12. 【RFID】RFID的标准体系
  13. 概率论:概率及概率公式
  14. nodejs+java+python网上体育用品销售系统
  15. word 插入目录及错误!未找到目录项
  16. 2023最新猕猴桃影视系统源码/影视APP源码+安卓/苹果双端
  17. 酷派手机(Coolpad 8297-T01)在Android开发工具如AndroidStudio、Eclipse中无法打印Log
  18. 批处理 bat cmd 命令大全
  19. AlexNet VGGNet ResNet 对比 简介
  20. 片段中onCreate(),onCreateView()和onActivityCreated()的区别和用法

热门文章

  1. 随手查——Lumerical
  2. 'gbk' codec can't decode byte 0xae 解决方法
  3. Android自定义View实现图片放大,平移和显示大图片
  4. 生物医药实验室安全知识202203第九次作业答案(2022.11.11)
  5. ADS学习:元件库的安装与使用
  6. 神经网络与卷积神经网络,深度残差卷积神经网络
  7. 超全,超干,超实用 ,SAP 全线产品大解析「易拓科技」
  8. WWDC 2016 盛宴
  9. 百度导航NaviDemo分析
  10. 我的世界服务器怎么去掉金币系统,我的世界服务器怎么查看金钱