负责
- 存放数据
- 文件被分割以block的形式被存储在磁盘上
Secondarynode
用来监控hdfs状态的后台辅助程序 就向namenode一样 每个集群都有一个 并且部署在一个单独的服务器上 不接受或记录任何实时的数据变化 与namenode通信 以定期保存hdfs元数据快照
存在的意义
1、由于namenode是单点 通过SecondaryNameNode的快照功能 可以将namenode宕机时间和数据损失降低到最小 2、若namenode出现问题 Secondarynode可以作为备用节点 3、主要将namenode image(fsimage)和Edit log定期合并
- fsimage
包含hadoop系统所有目录(修改时间、访问控制权限)和 文件(修改时间、访问时间、块大小、组成一个文件块信息)idnode的序列化信息
- Edit log
客户端对文件操作的记录 比如上传新文件
客户端执行写操作
Resourcemanager
与客户端进行交互
处理来自于客户端的请求 如查询应用的运行情况等
管理各个应用的ApplicationMaster
为ApplicationMaster申请第一个Container用于启动和 在它运行失败时将它重新启动
管理NodeManager
接收来自NodeManager的资源和节点健康情况汇报 并向NodeManager下达管理资源命令 例如kill掉某个container
资源管理和调度
最重要的职能: 接收来自ApplicationMaster的资源申请 并且为其进行分配
Nodemanager
NM是ResourceManager在每台机器上的代理 负责容器管理,并监控它们的资源使用情况 以及向ResourceManager/Scheduler提供资源使用报告
总结
Mysql
在192.168.84.128上安装Mysql docker pull mysql:5.7 # 创建数据,配置目录 mkdir -p /docker/mysql/{data,conf.d} # 创建配置文件 vi /docker/mysql/conf.d/my.cnf # 添个一项配置,默认是 UTC [mysqld] log_timestamps=SYSTEM default-time-zone='+8:00' character-set-server=utf8 # 重新启动 docker run --name mysql -p 3306:3306 \ -v /docker/mysql/conf.d:/etc/mysql/conf.d \ -v /docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --restart=always -d mysql:5.7 # 参数说明 -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码 --restart=always:跟随 Docker 启动