为什么Hadoop使用namenode和datanode?

时间:2015-05-04 06:01:43

标签: hadoop

我们知道用于大数据处理的服务器应该容忍硬件故障。我的意思是,如果我们有3个服务器(A,B,C)并突然B服务器关闭,A和C可以替换它的位置。但是在hadoop中,我们知道hadoop使用namenode和datanode,这就是当namenode关闭时,我们不能再处理数据了,它听起来缺乏对硬件故障的容忍。

有这个设计的hadoop拱的原因吗?

1 个答案:

答案 0 :(得分:3)

您提到的问题被称为 sinlgle失败,它存在于较旧的hadoop版本中。

尝试较新版本的hadoop,例如zimbra = require("zimbra-client"); zimbra.getAuthToken("localhost", "admin", "test123", function(err, authToken) { if(err != null) { console.log(err.message); } zimbra.createAccount("localhost",{sn:"Solovyev",givenName:"Greg",displayName:"Greg Solovyev",password:"test123",name:"greg@example.com"},authToken, function(err1,accountObj) { if(err1 != null) { if(err1.code == "account.ACCOUNT_EXISTS") { console.log("an account with this name already exists"); } else { console.log(err1.message); } } else { console.log("new account ID" + accountObj.id); } } ); }) 。版本2.0.0中的Hadoop通过分配两个名称节点2.x.xactive名称节点来避免此单点故障。当活动名称节点由于硬件或电源问题而失败时,备用名称节点将充当活动名称节点。

点击此链接:Hadoop High Availability了解更多详情。