- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是hadoop的新手,所以我有一些疑问。如果主节点发生故障,hadoop 集群会发生什么?我们能否在没有任何损失的情况下恢复该节点?是否可以保留一个辅助主节点在当前主节点发生故障时自动切换为主节点?
我们有namenode(Secondary namenode)的备份,所以我们可以在Secondary namenode发生故障时从中恢复namenode。这样,当datanode发生故障时,我们如何恢复datanode中的数据呢? Secondary namenode只是namenode的备份而不是datenode,对吧?如果一个节点在作业完成之前发生故障,那么作业跟踪器中有待处理的作业,该作业是继续还是从空闲节点中的第一个重新开始?
万一出事怎么恢复整个集群的数据呢?
最后一个问题,我们可以在 Mapreduce 中使用 C 程序吗(例如,在 mapreduce 中使用冒泡排序)?
提前致谢
最佳答案
虽然,现在回答您的问题为时已晚,但它可能会帮助其他人..
首先让我向您介绍辅助名称节点:
It Contains the name space image, edit log files' back up for past one hour (configurable). And its work is to merge latest Name Node NameSpaceImage and edit logs files to upload back to Name Node as replacement of the old one. To have a Secondary NN in a cluster is not mandatory.
现在解决您的问题..
如果主节点发生故障,hadoop 集群会发生什么情况?
Supporting Frail's answer, Yes hadoop has single point of failure so whole of your currently running task like Map-Reduce or any other that is using the failed master node will stop. The whole cluster including client will stop working.
我们能否在没有任何损失的情况下恢复该节点?
That is hypothetical, Without loss it is least possible, as all the data (block reports) will lost which has sent by Data nodes to Name node after last back up taken by secondary name node. Why I mentioned least, because If name node fails just after a successful back up run by secondary name node then it is in safe state.
是否可以保持从主节点在当前主节点出现故障时自动切换为主节点?
It is staright possible by an Administrator (User). And to switch it automatically you have to write a native code out of the cluster, Code to moniter the cluster that will cofigure the secondary name node smartly and restart the cluster with new name node address.
我们有namenode(Secondary namenode)的备份,所以我们可以在Secondary namenode发生故障时从中恢复namenode。像这样,当datanode发生故障时,如何恢复datanode中的数据?
It is about replication factor, We have 3 (default as best practice, configurable) replicas of each file block all in different data nodes. So in case of failure for time being we have 2 back up data nodes. Later Name node will create one more replica of the data that failed data node contained.
secondary namenode 只是 namenode 的备份,而不是 datenode,对吧?
Right. It just contains all the metadata of data nodes like data node address,properties including block report of each data node.
如果一个节点在作业完成前发生故障,那么作业跟踪器中有待处理的作业,该作业是继续还是从空闲节点中的第一个重新开始?
HDFS will forcely try to continue the job. But again it depends on replication factor, rack awareness and other configuration made by admin. But if following Hadoop's best practices about HDFS then it will not get failed. JobTracker will get replicated node address to continnue.
万一出现问题,如何恢复整个集群的数据?
By Restarting it.
最后一个问题,我们可以在 Mapreduce 中使用 C 程序吗(例如,在 mapreduce 中使用冒泡排序)?
yes, you can use any programming language which support Standard file read write operations.
我刚刚试了一下。希望它能对您和其他人有所帮助。
*欢迎提出建议/改进。*
关于Hadoop Datanode、namenode、secondary-namenode、job-tracker 和 task-tracker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817391/
如果所有 Namenode 都发生故障,Secondary namenode 的作用是什么? 最佳答案 在开始之前,我将解释一下 NN 和 SNN 的作用。 NameNode: 它包含数据节点的元数据
我正在尝试在 ec2-instance 上安装 Hadoop-2.6.0。 我下载并安装了 Hadoop。我还设置了环境变量。尝试启动 hdfs 服务时出现以下错误。 [ec2-user@ip-10-
您好,我在 HA 集群配置时间遇到了所有这些错误。请帮助我哪里错了。 14/09/08 11:13:38 INFO namenode.AclConfigFlag: ACLs enabled? fals
我按照以下链接中的步骤在我的 Ubuntu 12.04 中安装了 Hadoop。 http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_
当我尝试启动 DataNode 时出现此错误。据我所知,RPC 参数仅用于 HA 配置,我没有设置(我认为)。 2014-05-18 18:05:00,589 INFO [main] impl.Me
我在我的mac上安装了hadoop,我按照hadoop安装一步一步来 当我执行hdfs namenode -format hadoop 总是返回错误 无法找到或加载类 org.apache.hadoo
我知道之前有人问过这个问题,但我想不出解决方案。当我尝试运行 hdfs name node -format 时出现以下错误: Could not find or load main class org
我正在尝试使用在 Amazon EC2 上使用 Hadoop 和 HDFS 运行的 Dedoop 应用程序。 Hadoop 集群设置完毕,Namenode JobTracker 和所有其他守护进程都在
我是hadoop的新手,所以我有一些疑问。如果主节点发生故障,hadoop 集群会发生什么?我们能否在没有任何损失的情况下恢复该节点?是否可以保留一个辅助主节点在当前主节点发生故障时自动切换为主节点?
我试图用一个namenode和两个datanode(slave1和slave2)设置Hadoop Cluster,所以我从Apache Hadoop下载了zip文件,并将其解压缩到namenode和d
我试图用一个名称节点和四个数据节点配置 hadoop。我能够在一台机器上成功配置名称节点和作业跟踪器并将其启动。 但是在我要配置数据节点的机器上,我做了以下操作: 我将 hadoop-2.0.0-cd
如果我运行: sbin/start-dfs.sh 然后它实际上并没有启动一个名称节点尽管打印: Starting namenodes on [0.0.0.0] 0.0.0.0: starting na
我的第一个问题,我会尽量不把事情搞砸:) 出于学习目的,我正在 4 节点集群上安装 Hadoop 2.9.0。我已经按照官方 Apache Hadoop 2.9.0 文档和一些谷歌页面开始安装/配置名
我是新手,我正在尝试找到解决这个问题的方法。为了在 Ubuntu 15.10 上设置 Hadoop 2.7.2 http://idroot.net/tutorials/how-to-install-a
我在 OSX(单节点集群模式)上运行 Hadoop 1.2.1,除了 namenode 之外,一切似乎都在工作:当我运行 start-all.sh 时,namenode 无法运行。这个可以在运行sto
NameNode 有关NameNode的更多信息,请参阅HDFS。 表和区域的HDFS利用率 要确定HBase在HDFS上使用的空间大小,请使用NameNode中的hadoop shell命令。
我通过sqoop命令将数据从mysql成功上传到HDFS。 MySQL Hadoop集群有 1个名称节点 1个用于次要NameNode的节点 Jobtracker的1个节点 3个用于Datanade
我在配置 core-site.xml 文件中将端口更改为 9000 on 5000 并启动了一个脚本 ./hadoop namenode 结果我收到了以下消息(我只给出了从屏幕上看到的部分,因为在日志
我无法在 hadoop fs -ls/命令上查看我的 HDFS 中的文件,我认为这是因为名称节点未运行。我已尝试格式化名称节点以及更改核心站点中的端口.xml 到不同的值。我的 JPS 仍然没有列出
我刚刚开始从 Hadoop:权威指南 一书中学习 hadoop。 我按照伪分发模式下的 Hadoop 安装教程进行操作。我启用了 ssh 的无密码登录。在第一次使用之前格式化 hdfs 文件系统。第一
我是一名优秀的程序员,十分优秀!