我有hadoop集群,hadoop版本为apache2.7.1
高可用性,由五个节点组成
mn1、mn2、dn1、dn2、dn3
如果我们从浏览器访问wbhdfs来打开一个名为myfile的文件,该文件的复制因子为3,在dn1、dn2和dn3上存在
我们从浏览器发出以下命令
http://mn1:50070/webhdfs/v1/hadoophome/myfile/?user.name=root&op=OPEN
所以mn1将这个请求重定向到dn1、dn2或dn3,我们得到了这个文件
我们也可以通过下面的命令从hadoop获取文件
hdfs dfs -cat /hadoophome/myfile
但在数据节点故障的情况下(假设dn1和dn3现在已关闭)
如果我们发出命令
hdfs dfs -cat /hadoophome/myfile
我们可以检索文件
但如果我们从浏览器发出webhdfs命令,这就是我的状态
http://mn1:50070/webhdfs/v1/hadoophome/myfile/?user.name=root&op=OPEN
mn1会将请求重定向到dn1或dn3,这是死的,有时它会将请求重定向到dn2,我可以检索文件
mn1不应该只将webhdfs请求重定向到活动数据节点吗?如果从应用程序处理这个错误,该如何处理?
1条答案
按热度按时间hjzp0vay1#
编辑hdfs-site.xml
其中此属性以毫秒为单位
你会得到50秒的超时时间
因为heartbeat.interval的默认值是3秒
和超时,以将数据节点视为死节点
所以超时=2*(10秒)+10*3秒=50秒