g 8.2.1HDFS HA hdS HA( High Availabilit!y)是为了解决单点故障问题 屮HA集群设置两个名称节点,“活跃( Active)”和“待命( Standby)” 两种名称节点的状态同步,可以借助于一个共享存储系统来实现 一旦活跃名称节点出现故障,就可以立即切换到待命名称节点 啁 Zookeeper确保一个名称节点在对外服务 ·名称节点维护映射信息,数据节点同时向两个名称节点汇报信息 Zookeeper Zookeeper…( Zookeeper 心跳 障恢复控制器 敌障恢复控制器 (活跃) (待命) 监控名称节点 命令 命令 监控名称节点 健康状态 健康状态 名称节点 共享存储系统 名称节点 (活跃)(NFS、QJM或 Zookeeper(待命) 向名称节点汇报自己保存的块信息 向名称节点汇报自己保存的块信息 数据 数据 数据 节点 节点 节点 图 HDES HA架构 大数据技术原理与应用(第3版) 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用(第3版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.2.1HDFS HA 图 HDFS HA架构 •HDFS HA(High Availability)是为了解决单点故障问题 •HA集群设置两个名称节点,“活跃(Active)”和“待命(Standby)” •两种名称节点的状态同步,可以借助于一个共享存储系统来实现 •一旦活跃名称节点出现故障,就可以立即切换到待命名称节点 •Zookeeper确保一个名称节点在对外服务 •名称节点维护映射信息,数据节点同时向两个名称节点汇报信息 Zookeeper 故障恢复控制器 (活跃) 故障恢复控制器 (待命) 名称节点 (活跃) 名称节点 (待命) 心跳 心跳 监控名称节点 健康状态 监控名称节点 健康状态 命令 共享存储系统 (NFS、QJM或Zookeeper) 数据 节点 ... 向名称节点汇报自己保存的块信息 Zookeeper Zookeeper 数据 节点 数据 节点 向名称节点汇报自己保存的块信息 命令
g 8.2.2HDFS Federation 1HDFS10中存在的问题 单点故障问题 不可以水平扩展(是否可以通过纵向扩展来解决?) 系统整体性能受限于单个名称节点的吞吐量 单个名称节点难以提供不同程序之间的隔离性 HDES HA是热备份,提供高可用性,但是无法解决可扩展性、系统性能和隔离性 2 HDES Federation的设计 1名称节点1 名 称节点 1名称节点n 在 HDFS Federation中,设计了 多个相互独立的名称节点,使得 HDFS的命名服务能够水平扩展,}/命名空间 命名空间k、1… 命名空间n 这些名称节点分别进行各自命名 空间和块的管理,相互之间是联 盟( Federation)关系,不需要}块池1 块池k 块池n 彼此协调。并且向后兼容 hdfs federation中,所有名称 节点会共享底层的数据节点存储(数据节点1 数据节点2 数据节点m 资源,数据节点向所有名称节点 公共存储 汇报 属于同一个命名空间的块构成一个“块池”图 HDFS Federation架构 大数据技术原理与应用(第3版 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用(第3版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.2.2HDFS Federation •单点故障问题 •不可以水平扩展(是否可以通过纵向扩展来解决?) •系统整体性能受限于单个名称节点的吞吐量 •单个名称节点难以提供不同程序之间的隔离性 •HDFS HA是热备份,提供高可用性,但是无法解决可扩展性、系统性能和隔离性 图 HDFS Federation架构 •在HDFS Federation中,设计了 多个相互独立的名称节点,使得 HDFS的命名服务能够水平扩展, 这些名称节点分别进行各自命名 空间和块的管理,相互之间是联 盟(Federation)关系,不需要 彼此协调。并且向后兼容 •HDFS Federation中,所有名称 节点会共享底层的数据节点存储 资源,数据节点向所有名称节点 汇报 •属于同一个命名空间的块构成一个“块池” NS1 块池Po1ol 1 名称节点1 NS1 块池Pokol 1 NS1 块池Ponol 1 数据节点1 数据节点2 数据节点m ... ... 公共存储 ... 名称节点k 名称节点n 命名空间1 命名空间k 命名空间n 2.HDFS Federation的设计 1.HDFS1.0中存在的问题
g 8.2.2HDFS Federation 3. HDFS Federation的访问方式 °对于 Federation中的多个命名空间,可以采用客户端挂载表( Client Side Mount Table)方式进行数据共享和访问 Client-side ·客户可以访问不同的挂载点来访问不同的子命名空间 Mount-table 把各个命名空间挂载到全局“挂载表” ( mount-table)中,实现数据全局共享 同样的命名空间挂载到个人的挂载表中, 就成为应用程序可见的命名空间 名称节点1维护 每个阴影三角形 的命名空间 代表一个独立的 命名空间 名称节点2维 护的命名空间 图客户端挂载表方式访问多个命名空间 大数据技术原理与应用(第3 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用(第3版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.2.2HDFS Federation / Client-side Mount-table data project home tmp 图 客户端挂载表方式访问多个命名空间 •对于Federation中的多个命名空间,可以采用客户端挂载表(Client Side Mount Table)方式进行数据共享和访问 •客户可以访问不同的挂载点来访问不同的子命名空间 •把各个命名空间挂载到全局“挂载表” (mount-table)中,实现数据全局共享 •同样的命名空间挂载到个人的挂载表中, 就成为应用程序可见的命名空间 3. HDFS Federation的访问方式 每个阴影三角形 代表一个独立的 命名空间 名称节点1维护 的命名空间 名称节点2维 护的命名空间
g 8.2.2HDFS Federation 4 HDFS Federation相对于HDFS1.0的优势 HDFS Federation设计可解决单名称节点存在的以下几个问题 (1)HDFs集群扩展性。多个名称节点各自分管一部分目录,使得一个集 群可以扩展到更多节点,不再像HDFS1.0中那样由于内存的限制制约文件 存储数目 (2)性能更高效。多个名称节点管理不同的数据,且同时对外提供服务, 将为用户提供更高的读写吞吐率 (3)良好的隔离性。用户可根据需要将不同业务数据交由不同名称节点 管理,这样不同业务之间影响很小 需要注意的, HDFS Federation并不能解决单点故障问题,也就是说,每 个名称节点都存在在单点故障问题,需要为每个名称节点部署一个后备名 称节点,以应对名称节点挂掉对业务产生的影响 大数据技术原理与应用(第3 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用(第3版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.2.2HDFS Federation HDFS Federation设计可解决单名称节点存在的以下几个问题: (1)HDFS集群扩展性。多个名称节点各自分管一部分目录,使得一个集 群可以扩展到更多节点,不再像HDFS1.0中那样由于内存的限制制约文件 存储数目 (2)性能更高效。多个名称节点管理不同的数据,且同时对外提供服务, 将为用户提供更高的读写吞吐率 (3)良好的隔离性。用户可根据需要将不同业务数据交由不同名称节点 管理,这样不同业务之间影响很小 需要注意的,HDFS Federation并不能解决单点故障问题,也就是说,每 个名称节点都存在在单点故障问题,需要为每个名称节点部署一个后备名 称节点,以应对名称节点挂掉对业务产生的影响 4.HDFS Federation相对于HDFS1.0的优势
8.3新一代资源管理调度框架YARN 831 MapReduce1.0的缺陷 8.32YARN设计思路 833YARN体系结构 8.34YARN工作流程 835YARN框架与 MapReduce1.0框架的对比分析 836YARN的发展目标 大数据技术原理与应用(第3 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用(第3版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.3新一代资源管理调度框架YARN 8.3.1 MapReduce1.0的缺陷 8.3.2 YARN设计思路 8.3.3 YARN体系结构 8.3.4 YARN工作流程 8.3.5YARN框架与MapReduce1.0框架的对比分析 8.3.6 YARN的发展目标