求助~如何在不重启jobtracker的情况下移除一个tasktracker?

本文讨论了在Hadoop集群中如何在不重启JobTracker的前提下,有效关闭TaskTracker节点的方法,并解释了在关闭TaskTracker后,系统中可能会出现的两个相同节点TaskTracker现象及原因。同时提供了调整心跳检测间隔的配置建议,以优化集群的稳定性和资源使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 
集群正在运行的情况下,不想为了移除一个tasktracker而重启jobtracker,影响整个集群。直接在要关闭的节点上用hadoop-daemon.sh关闭的话,在50030上还是能看到存在,有什么方法吗?
 
理論上經過一段時間之後就會消失了,您有試著等個 10 分鐘?
 
那如果tasktracker已经关闭只是我看不到的话,为什么我在关闭后再输入开启结果在50030上看见两个同一节点的tasktracker了呢?原来的那个没有消除掉?
 
確實會那樣啊~主要就看 Seconds since heartbeat
一定有一個的數字會一直攀升,那就是關閉前的連線。

這是系統一種容錯(fault tolerance)的機制~不用太介意~

 

谢谢,那这两个tasktracker难道会一直并存下去?如果我在彻底断线前又联上了集群,结果是会造成一个新的tasktracker出现?另外请问有没有变量可以设置在heartbeat未接收几秒后就关闭?谢谢

 

1. 不會一直並存下去,heartbeat 持續變大的那個會消失。
2. 沒錯,在 600 秒(詳底下系統變數預設值)內斷線後重新連線,會看到另一個新的 TaskTracker 出現(同時有兩個相同 hostname 的 TaskTracker)
3. 系統變量 -> 在 mapred-site.xml 中加入:
 
<property>
  <name>mapred.tasktracker.expiry.interval</name>
  <value>600000</value>
  <description>Expert: The time-interval, in miliseconds, after which
  a tasktracker is declared 'lost' if it doesn't send heartbeats.
  </description>
</property>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值