翻译官网QJN的Architecture:

在HA的集群里头,两台独立的机器会被个配置成为一个NameNode。在任何时刻,只能有一个namenode是active的,另外一个是standby状态。active的namenode是负责来自client的所有请求操作,而standby则在待命随时准备成为active的namenode。

为了保持namenode active和namenode standby 之间的同步,两个namenode之间通过一个叫做JournalNodes的守护进程来保持同步的。当namenode active的namespace有被修改的时候,namenode active会把这些操作日志记录在journalnodes上。然后namenode standby就会从journalnodes的edits上读取这些操作日志。当namenode拿到edits操作日志之后,它就会把日志的操作应用到自己的namespace里头。一旦namenode active出现问题,namenode standby就可以确保自己在成为namenode active之前,自己已经读取了所有的edits操作日志。

为了提供一个快速的热备切换,就需要namenode standby时刻知道block的位置信息,要实现这一点,datanode节点配置了namenode的信息,然后datanode主动把block的位置信息和心跳数据发送给两个namenode。

确保任何时候只有一个active的namenode是至关重要的,否则,可能导致数据丢失和一些严重后果。journalnodes会保证同一时刻只有一个namenode active。在热备切换的时候,即将成为active的namenode standby会接管writer的角色。

时间: 2024-10-08 10:42:58

翻译官网QJN的Architecture:的相关文章

AngularJS系列-翻译官网

公司之前一直用的Web前台框架是Knockout,我们通常直接叫ko,有看过汤姆大叔的KO系列,也有在用,发现有时候用得不太顺手.本人是会WPF的,所以MVVM也是比较熟悉的,学ko也是很快就把汤姆大叔的文章系列看完了,但是ko有时候会有意想不到的问题,同事也有这样的反应,所以就度娘了一下.就找到了AngularJS和KO的对比文章<從Knockout到AngularJS>,看了之后不明觉厉.其实早在AngularJS刚刚问世的那年,因为我订阅了博友--梦想天空(山边小溪)的博客(这里得特别感

React翻译官网文档之JSX

什么是JSX? 看下面的代码它被称为JSX,它既不是字符串也不是HTML,而是一种facebook公司对javascript语法的拓展.虽然写法很奇怪最终仍会会被编译为javascript代码 const element = <h1>Hello, world!</h1>; 你可以在JSX中嵌入任何javascript表达式,看下面的例子. function formatName(user) { return user.firstName + ' ' + user.lastName;

Rust 1.2.0 翻译官网总结(一)

介绍 Rust 编程语言 欢迎学习本教程!本教程将教你如何使用 Rust 编程语言.Rust 是一门强调安全.性能和并发性的系统编程语言.它为了达到这几个目的,甚至没有一个垃圾收集器.这也使 Rust 能够应用到其他语言做不到的地方:嵌入到其他语言,有指定空间和时间需求的程序,写底层代码(如设备驱动程序和操作系统).针对当前的其他编程语言,Rust 做到了没有运行时(Runtime),没有数据竞争. Rust 也致力于实现"零成本抽象",尽管这些抽象给人的感觉像一个高级的语言.即使是这

caffe官网的部分翻译及NG的教程

Caffe原来叫:Convolutional Architecture for Fast Feature Embedding 官网的个人翻译:http://blog.csdn.net/fengbingchun/article/details/49535873 NG的英文教程:http://ufldl.stanford.edu/tutorial/supervised/MultiLayerNeuralNetworks/ NG的中文教程:http://ufldl.stanford.edu/wiki/i

Reveal常用技巧(翻译来自Reveal官网blog)

翻译来自官网:http://revealapp.com/blog/reveal-common-tips-cn.html 以下基于Reveal 1.6. 用于快速上手的内置应用 刚刚下载Reveal,啥都还没配置呢,想先随便玩玩看,怎么办? 我们花了不少时间开发这个复杂程度类似与实际场景的Sample应用──Soundstagram(音频分享版的Instagram, ¯\_(ツ)_/¯),就是为了让大家能最快速地上手Reveal,尝试它的各种强大功能. 在 Help 菜单项中,点击 Inspect

卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译】

问题导读: 1.不同的安装方式,卸载方法存在什么区别?2.不同的操作系统,卸载 Cloudera Manager Server and 数据库有什么区别? 重新安装不完整如果你来到这里,因为你的安装没有完成(例如,如果它是由一个虚拟机超时中断),和你想继续安装,然后重新安装,做到以下几点:删除文件和目录: 个人建议:这一步虽然是官网这么做,但是下面命令还是不要执行,因为我们后面还会用到下面命令 /usr/share/cmf/uninstall-cloudera-manager.sh 复制代码 当

android測试工具MonkeyRunner--google官网翻译

近期在复习之前的笔记,在回想MonkeyRunner时看了看google官网的内容,写得不错.就翻译出来分享下.事实上google官网真是一个学习的好地方. 基础知识 MonkeyRunner工具提供了一个API用于在Android代码之外控制Android设备和模拟器.通过MonkeyRunner.您能够写出一个Python程序去安装一个Android应用程序或測试包.执行它,向它发送模拟击键.截取它的用户界面图片.并将截图存储于工作站上.monkeyrunner工具的主要设计目的是用于測试功

Android 7.0行为变化—开发者应该关注的(官网同步翻译)

Android 7.0行为变化-开发者应该关注的(官网同步翻译) 版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com 如果想了解更多Android7.0的内容,可以顺便再看看Android7.0写给开发者的一封信(官网同步翻译). 如果你的引文够好,推荐你阅读官网文章: Android 7.0 Behavior Changes Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍你应该了解并在开发应用

ng2响应式表单-翻译与概括官网REACTIVE FORMS页面

本文将半翻译半总结的讲讲ng2官网的另一个未翻译高级教程页面. 原文地址. 文章目的是使用ng2提供的响应式表单技术快速搭出功能完善丰富的界面表单组件. 响应式表单是一项响应式风格的ng2技术,本文将解释响应式表单并用来创建一个英雄详情编辑器. 包含内容: 响应式表单介绍 开始搭建 创建数据模型 创建响应式的表单组件 创建组建的模板文件 引入ReactiveFormsModule 显示HeroDetailComponent 添加一个FormGroup 看看表单模型 介绍FormBuilder 验