做阿里巴巴的网站的费用,网站优化工作安排,汕头做网站优化公司,网站建设及维护学习一.hadoop概述
1.4高#xff08;优势#xff09;
1#xff09;.高可靠性#xff1a;hadoop底层多个数据副本#xff0c;即使某个计算节点存储出现故障#xff0c;不会导致数据丢失。
2#xff09;.高扩展性#xff1a;可以动态增加服务器节点。
3#xff09;.高效…一.hadoop概述
1.4高优势
1.高可靠性hadoop底层多个数据副本即使某个计算节点存储出现故障不会导致数据丢失。
2.高扩展性可以动态增加服务器节点。
3.高效性在MapReducer思想下hadoop并行工作加快任务处理速度。
4.高容错性能将失败的任务进行自动分配。
缺点
1).不适合低延时数据访问比如快速查询快速增删改查做不到。
2).无法高效的对大量小文件进行存储。存储大量小文件会造成namenode大量的内存来存储文件目录和块的信息。namenode内存有限
3.小文件寻址时间过长会超过读取时间违背了hdfs的设计目标。
4.不支持并发写入文件随机修改。一个文件只有一个写不允许多个线程同时并发写入
5.支持追加写入不支持文件随机修改。
2.hdfs组成
namenode数据都存储在什么位置 datanode具体存储文件块数据 2nn:备份数据辅助namenode工作
common:
3.yarn组成
rm资源老大
nodemanager:单节点资源老大
appmaster单个任务老大
contain:容器独立的cpu,内存磁盘网络等。
4.mapreduce组成
map
reduce:
5.hdfs-yarn-mapreduce三者之间关系重点
sbin:跟hdfs,yarn,mapreduce有关
hdfs存储yarn
6.hdfs客户端对集群进行增删改查操作的
HDFS WEB UI、HDFS Shell命令以及Http方式访问HDFS 参考必看https://www.cnblogs.com/tesla-turing/p/11488100.html
6.hdfs块大小
hdfs块大小的一般是2.x版本128M,1.x版本64m,256M主要用于大型公司
7.为何不能设置块太大或者太小
HDFS等下设置的时间太小会增加磁盘寻址时间程序一直在找块的初始位置。
如果块设置的过大从磁盘传输数据的时间会明显大于块定位这个块开始位置所需的时间。
HDFS块大小设置主要取决于磁盘传输速率。
7.HDFS的shell操作开发重点
hdfs客户端创建文件夹hadoop fs /sanguo
删除命令一定注意
修改文件副本数hadoop fs -setrep 数量 /XXX
8.Windows Hdfs客户端代码
在集群上创建一个目录
客户端代码常用模版
①.获取一个客户端对象
②.执行想关的命令
③.关闭资源
Hdfs API的使用代码3遍
9.机架感知3种方式
进展60章节
10.集群时间同步
如果服务器在公网环境能连接外网可以不采用集群时间同步因为服务器会定期和公网时间进行校准
在内网环境要配置集群时间同步。否则时间久了会导致时间偏差导致集群执行任务时间不同步。
2时间服务器配置必须root用户
1查看所有节点ntpd服务状态和开机自启动状态
[atguiguhadoop102 ~]$ sudo systemctl status ntpd
[atguiguhadoop102 ~]$ sudo systemctl start ntpd
[atguiguhadoop102 ~]$ sudo systemctl is-enabled ntpd
2修改hadoop102的ntp.conf配置文件
[atguiguhadoop102 ~]$ sudo vim /etc/ntp.conf
修改内容如下
a修改1授权192.168.10.0-192.168.10.255网段上的所有机器可以从这台机器上查询和同步时间
#restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
为restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
b修改2集群在局域网中不使用其他互联网上的时间
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
c添加3当该节点丢失网络连接依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10
3修改hadoop102的/etc/sysconfig/ntpd 文件
[atguiguhadoop102 ~]$ sudo vim /etc/sysconfig/ntpd
增加内容如下让硬件时间与系统时间一起同步
SYNC_HWCLOCKyes
4重新启动ntpd服务
[atguiguhadoop102 ~]$ sudo systemctl start ntpd
5设置ntpd服务开机启动
[atguiguhadoop102 ~]$ sudo systemctl enable ntpd
3其他机器配置必须root用户
1关闭所有节点上ntp服务和自启动
[atguiguhadoop103 ~]$ sudo systemctl stop ntpd
[atguiguhadoop103 ~]$ sudo systemctl disable ntpd
[atguiguhadoop104 ~]$ sudo systemctl stop ntpd
[atguiguhadoop104 ~]$ sudo systemctl disable ntpd
2在其他机器配置1分钟与时间服务器同步一次
[atguiguhadoop103 ~]$ sudo crontab -e
编写定时任务如下
*/1 * * * * /usr/sbin/ntpdate hadoop102
3修改任意机器时间
[atguiguhadoop103 ~]$ sudo date -s 2021-9-11 11:11:11
41分钟后查看机器是否与时间服务器同步
[atguiguhadoop103 ~]$ sudo date
11.HDFS的API操作
1hdfs客户端环境准备
2HDFS的API实操
客户端代码常用套路hdfszookeeper
①、获取一个客户端的对象
②、执行相关的操作命令
③、关闭资源
12.参数优先级
参数优先级排序1客户端代码中设置的值 2ClassPath下的用户自定义配置文件 3然后是服务器的自定义配置xxx-site.xml 4服务器的默认配置xxx-default.xml 副本数设置dfs.replication 在hdfs-default.xml中设置
参数优先级最低优先级hdfs-default.xml》hdfs-site.xml在项目资源目录下的配置文件
13.hdfs功能解释
HDFS客户端就是客户端。
1、提供一些命令来管理、访问 HDFS比如启动或者关闭HDFS。
2、与 DataNode 交互读取或者写入数据读取时要与 NameNode 交互获取文件的位置信息写入 HDFS 的时候Client 将文件切分成 一个一个的Block然后进行存储
NameNode即Master
1、管理 HDFS 的名称空间。
2、管理数据块Block映射信息
3、配置副本策略
4、处理客户端读写请求。
DataNode
就是Slave。NameNode 下达命令DataNode 执行实际的操作。
1、存储实际的数据块。
2、执行数据块的读/写操作。
Secondary NameNode
并非 NameNode 的热备。当NameNode 挂掉的时候它并不能马上替换 NameNode 并提供服务。
1、辅助 NameNode分担其工作量。
2、定期合并 fsimage和fsedits并推送给NameNode。
3、在紧急情况下可辅助恢复 NameNode。
14.网络拓扑-节点距离计算
节点距离是到达共同祖先之和。
15.副本节点选择
第一副本在机架1节点最近上传更快。
第二个副本在另外一个机器的随机一个节点
第三个副本在第二个副本所在机架的随机节点
16.元数据
元数据是描述其它数据的数据。
文件元数据包含文件名大小创建日期修改日期作者权限等。
等
17.namenode是放在内存还是磁盘