高可用性的HDFS—Hadoop分布式文件系统深度实践

《高可用性的HDFS—Hadoop分布式文件系统深度实践》
基本信息
作者: 文艾 王磊
出版社:清华大学出版社
ISBN:9787302282587
上架时间:2012-5-14
出版日期:2012 年5月
开本:16开
页码:371
版次:1-1
所属分类: 计算机 > 软件与程序设计 > 分布式系统设计
 

更多详情 》》》高可用性的HDFS—Hadoop分布式文件系统深度实践
内容简介
计算机书籍
   《高可用性的hdfs—hadoop分布式文件系统深度实践》专注于hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元 数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新的ha解决方案cloudrea ha name node等。其中有关backup node方案及avatarnode方案的内容是本书重点,尤其是对avatarnode方案从运行机制到异常处理方案的步骤进行了详尽介绍,同时还总结 了各种异常情况下avatarnode的各种处理方案。
  《高可用性的hdfs—hadoop分布式文件系统深度实践》从代码入手并结合情景分析、案例解说对hdfs的元数据以及主流的hdfs ha解决方案的运行机制进行了深入剖析,力求使读者在解决问题时做到心中有数,不仅知其然还知其所以然。
  本书光盘包含本书部分操作的视频教程以及所有源代码、脚本等开发文件。
  《高可用性的hdfs—hadoop分布式文件系统深度实践》读者主要为云计算相关领域的研发人员、云计算系统管理维护人员,也适合作为高校研究生和高年级本科生的专业课辅助教材。
目录
《高可用性的hdfs—hadoop分布式文件系统深度实践》
第1章 hdfs ha及解决方案 1
1.1 hdfs系统架构 2
1.2 ha定义 3
1.3 hdfs ha原因分析及应对措施 4
1.3.1 可靠性 4
1.3.2 可维护性 5
1.4 现有hdfs ha解决方案 5
1.4.1 hadoop的元数据备份方案 6
1.4.2 hadoop的secondarynamenode方案 7
1.4.3 hadoop的checkpoint ode方案 7
1.4.4 hadoop的backupnode方案 8
1.4.5 drdb方案 9
1.4.6 facebook的avatarnode方案 10
1.5 方案优缺点比较 10
第2章 hdfs元数据解析 13
2.1 概述 14
2.2 内存元数据结构 14
2.2.1 inode 15
2.2.2 block 16

.2.2.3 blockinfo和datanodedescriptor 17
2.2.4 小结 17
2.2.5 代码分析——元数据结构 18
2.3 磁盘元数据文件 24
2.4 format情景分析 27
2.5 元数据应用场景分析 45
第3章 hadoop的元数据备份方案 47
3.1 运行机制分析 48
3.1.1 namenode启动加载元数据情景分析 50
3.1.2 元数据更新及日志写入情景分析 64
3.1.3 checkpoint过程情景分析 73
3.1.4 元数据可靠性机制 109
3.1.5 元数据一致性机制 110
3.2 使用说明 110
第4章 hadoop的backup node方案 113
4.1 backup node概述 114
4.1.1 系统架构 115
4.1.2 使用原则 115
4.1.3 优缺点 116
4.2 运行机制分析 116
4.2.1 启动流程 117
4.2.2 元数据操作情景分析 141
4.2.3 日志池(journal spool)机制 151
4.2.4 故障切换机制 156
4.3 实验方案说明 158
4.4 构建实验环境 158
4.4.1 网络拓扑 159
4.4.2 系统安装及配置 160
4.4.3 安装jdk 170
4.4.4 虚拟机集群架设 171
4.4.5 namenode安装及配置 173
4.4.6 backup node安装及配置 173
4.4.7 data node安装及配置 174
4.4.8 clients安装及配置 175
4.5 异常解决方案 175
4.5.1 异常情况分析 175
4.5.2 namenode配置 175
4.5.3 backup node配置 182
4.5.4 data node配置 185
4.5.5 namenode宕机切换实验 189
4.5.6 namenode宕机读写测试 196

第5章 avatarnode运行机制 205
5.1 方案说明 206
5.1.1 系统架构 206
5.1.2 思路分析 208
5.1.3 性能数据 209
5.2 元数据分析 209
5.2.1 类fsnamesystem 210
5.2.2 类fsdirectory 210
5.2.3 avatarnode的磁盘元数据文件 211
5.3 avatarnode primary启动过程 211
5.4 avatarnode standby启动过程 217
5.4.1 avatarnode的构造方法 217
5.4.2 standby线程的run()方法 218
5.4.3 ingest线程的run()方法 220
5.4.4 ingest线程的ingestfsedits ()方法 220
5.4.5 standby线程的docheckpoint()方法 221
5.5 用户操作情景分析 223
5.5.1 创建目录情景分析 223
5.5.2 创建文件情景分析 231
5.6 avatarnode standby故障切换过程 240
5.7 元数据一致性保证机制 242
5.7.1 元数据目录树信息 242
5.7.2 data node与block数据块映射信息 243
5.8 block更新同步问题 246
5.8.1 问题描述 246
5.8.2 结论 246
5.8.3 源码分析 246
第6章 avatarnode使用 253
6.1 方案说明 254
6.1.1 网络拓扑 254
6.1.2 操作系统安装及配置 255
6.2 使用avatar打补丁版本 255
6.2.1 hadoop源码联机build 256
6.2.2 hadoop源码本地build 262
6.2.3 nfs服务器构建 264
6.2.4 avatar分发与部署 267
6.2.5 primary(namenode0)节点配置 269
6.2.7 data node节点配置 276
6.2.8 client节点配置 278
6.2.9 创建目录 279
6.2.10 挂载nfs 280
6.2.11 启动ucarp 280
6.2.12 格式化 281
6.2.13 系统启动 281
6.2.14 检查 282
6.2.15 namenode失效切换写文件实验 283
6.2.16 namenode失效切换读文件实验 291
6.3 avatar facebook版本的使用 294
6.3.1 hadoop facebook版本安装 294
6.3.2 节点配置 295
6.3.3 启动hdfs 300
6.3.4 namenode失效切换 302
第7章 avatarnode异常解决方案 305
7.1 测试环境 306
7.2 primary失效 306
7.2.1 解决方案 306
7.2.2 写操作实验步骤 307
7.2.3 改进写操作机制 313
7.2.4 读操作实验步骤 313
7.2.5 小结 317
7.3 standby失效 317
7.4 nfs失效(数据未损坏) 317
7.4.1 解决方案 317
7.4.2 写操作实验步骤 318
7.4.3 读操作实验步骤 320
7.4.4 小结 322
7.5 nfs失效(数据已损坏) 323
7.5.1 解决方案 323
7.5.2 写操作实验步骤 324
7.5.3 读操作实验步骤 327
7.5.4 小结 330
7.6 primary先失效,nfs后失效(数据未损坏) 331
7.6.1 解决方案 331
7.6.2 写操作实验步骤 331
7.6.3 读操作实验步骤 333
7.6.4 小结 334
7.7 primary先失效(数据未损坏),nfs后失效(数据损坏) 335
7.7.1 解决方案 335
7.7.2 写操作实验步骤 335
7.7.3 读操作实验步骤 338
7.7.4 小结 339
7.8 nfs先失效(数据未损坏),primary后失效 340
7.8.1 解决方案 340
7.8.2 写操作实验步骤 340
7.8.3 读操作实验步骤 342
7.8.4 小结 343
7.9 nfs先失效(数据损坏),primary后失效(数据损坏) 344
7.9.1 解决方案 344
7.9.2 写操作实验步骤 344
7.9.3 读操作实验步骤 346
7.9.4 小结 348
7.10 实验结论 348
第8章 cloudera ha namenode使用 349
8.1 ha namenode说明 350
8.2 cdh4b1版本hdfs集群配置 351
8.2.1 虚拟机安装 351
8.2.2 nn1配置 351
8.2.3 dn1~dn3配置 355
8.2.4 hdfs集群构建 358
8.3 ha namenode配置 361
8.3.1 nn1配置 361
8.3.2 其他节点配置 365
8.4 ha namenode使用 367
8.4.1 启动ha hdfs集群 367
8.4.2 第1次failover 368
8.4.3 模拟写操作 368
8.4.4 模拟active name node失效,第2次failover 369
8.3.5 模拟新的standby namenode加入 370
8.5 小结 371
本图书来源:中国互动出版网

转载于:https://www.cnblogs.com/china-pub/archive/2012/05/21/2511779.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【作品】超级玛丽射击版

【下载地址】稍后上传 【以下内容摘自试验报告,可能狗屁不通,尽情谅解】 -游戏介绍: 简单的射击游戏,键盘控制动作[角色的移动,跳跃等],鼠标控制攻击的位置方向, 单击鼠标即射击,同时可以设置游戏规定时间,时间到则结束游戏. -游戏…

MySQL锁的用法之行级锁

2019独角兽企业重金招聘Python工程师标准>>> 行级锁是MySQL中粒度最小的一种锁,他能大大减少数据库操作的冲突。但是粒度越小,实现的成本也越高。MYISAM引擎只支持表级锁,而INNODB引擎能够支持行级锁,下面的内容也是针…

matlab中二维插值函数interp2的使用

下面是一段产生log-normal分布的代码,以此进行说明。 clear all; clc; for t1:100Traffic(t) curve(t); end MaxTraffic max(Traffic); w 0.2; Wmax 2*pi*w/3000; x[0:10:300]; y[0:10:300]; Nxlength(x); Nylength(y); Sigma 0.53; t 0; M 10*cu…

8天玩转并行开发——第五天 同步机制(下)

承接上一篇,我们继续说下.net4.0中的同步机制,是的,当出现了并行计算的时候,轻量级别的同步机制应运而生,在信号量这一块 出现了一系列的轻量级,今天继续介绍下面的3个信号量 CountdownEvent,Se…

Quartz 2D编程笔记

当我们需要在一个图形上下文中构建一个路径时,我们需要调用CGContextBeginPath来标记Quartz。然后,我们调用函数CGContextMovePoint来设置每一个图形或子路径的起始点。在构建起始点后,我们可以添加直线、弧、曲线。记住如下规则:…

个人管理 - 书籍推荐(待读)

在《个人管理 - 书籍推荐(已读)》中推荐了一些书籍,有些人从中选取了一些,但其实还有很多好书我还没有读,为了给大家更多选择,我把我欠下的书债也贴上来。由于豆瓣还没有提供书列表的功能&#…

Node.js用6行代码1个JS文件搭建一个HTTP静态服务器

2019独角兽企业重金招聘Python工程师标准>>> Node.js宣言:Node.js is a platform built on Chromes JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes i…

ERROR: Start Page at 'www/index.html' was not found

用Xcode 4.3.2新建了一个PhoneGap的应用,www目录下存在index.html文件,但是运行的时候,报错:ERROR: Start Page at www/index.html was not found,这是PhoneGap和Xcode 4还不兼容导致的。 可以右键项目名->Add File…

Linux线程-互斥锁pthread_mutex_t

在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函…

ULS 日志为空

解决方案: 1.保存为ChangeAccounts_SPTraceV4.ps1,运行 # Get the tracing service. $farm Get-SPFarm $tracingService $farm.Services | where {$_.Name -eq "SPTraceV4"} # Get the "svc_sp_services" managed account. $manag…

2013 ACM/ICPC Asia Regional Changsha Online - C

2019独角兽企业重金招聘Python工程师标准>>> 竟然没写出来 还是比较坑,好吧 Color Representation Conversion Time Limit: 1 Second Memory Limit: 32768 KB So far, there are many color models in different area. For screen display, the most …

BNUOJ 4358 左手定则 搜索

题目链接&#xff1a;http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid4358 一道很好的搜索题&#xff0c;要注意DFS函数的写法&#xff0c;特别是return的写法。 View Code 1 #include <iostream>2 #include <cstring>3 #include <cstdio>4 using names…

CentOS安装Confluence Wiki步骤

参考&#xff1a;http://supernetwork.blog.51cto.com/2304163/1187066参考&#xff1a;http://yjiang.tk/?p1085需要的文件CentOS-6.5-x86_64-minimal.isojre-7u67-linux-x64.rpmatlassian-confluence-5.4.4-x64.binmysql-connector-java-5.1.32-bin.jarconfluence5.1-crack.…

使用VS2015编写C/C++开始步骤

下面围绕如何建立工程、如何添加代码和运行展开说明。 一、建立工程 &#xff08;1&#xff09;打开VS2015&#xff0c;然后在菜单栏中选择file—>New—>Project&#xff1b; &#xff08;2&#xff09;在弹出的界面中&#xff0c;选择Win32&#xff0c;编辑工程名字、…

PWM调光方法在LED亮度调节中的应用

LED 是一种固态电光源&#xff0c; 是一种半导体照明器件&#xff0c;其电学特性具有很强的离散性。它具有体积小、机械强度大、功耗低、寿命长&#xff0c; 便于调节控制及无污染等特征&#xff0c;有极大发展前景的新型光源产品。LED 调光方法的实现分为两种&#xff1a; 模拟…

redhat rpmforge epel 安装源配置

参考阅读 epel 直接安装 RPMforge for CentOS 6 The default RPMforge repository does not replace any CentOS base packages. In the past it used to, but those packages are now in a separate repository (rpmforge-extras) which is disabled by default. You can fi…

leetcood学习笔记-2-两数相加

题目描述&#xff1a; 方法一&#xff1a; # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val x # self.next Noneclass Solution:def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:cur…

Forward框架的逆袭:解析Forward+渲染

转载请注明出处为KlayGE游戏引擎&#xff0c;本文地址为http://www.klayge.org/2012/04/21/forward%e6%a1%86%e6%9e%b6%e7%9a%84%e9%80%86%e8%a2%ad%ef%bc%9a%e8%a7%a3%e6%9e%90forward%e6%b8%b2%e6%9f%93/ AMD在7900系列显卡发布的时候同时推出了Leo demo&#xff0c; 并说明它…

Java NIO学习系列三:Selector

前面的两篇文章中总结了Java NIO中的两大基础组件Buffer和Channel的相关知识点&#xff0c;在NIO中都是通过Channel和Buffer的协作来读写数据的&#xff0c;在这个基础上通过selector来协调多个channel以同时读写数据&#xff0c;本文我们就来学习一下selector。 Java NIO中引入…

Java JTable3

预览&#xff1a; 代码 &#xff1a; /*** */ package com.han;import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; imp…