복제 인수가 2 인 3 노드 hadoop 설정이 있습니다.데이터 노드 시간 초과를 얻는 방법?
내 데이터 노드 중 하나가 종료되면 namenode는 라이브 노드에서 제거하기 전에 10 분 동안 대기합니다. 그때까지 나의 hdfs는 노드로부터의 나쁜 응답을 말하지 못한다.
데이터 노드가 죽는 노드가 즉시 삭제되도록 더 작은 시간 제한 (1 분)을 설정하는 방법이 있습니까?
복제 인수가 2 인 3 노드 hadoop 설정이 있습니다.데이터 노드 시간 초과를 얻는 방법?
내 데이터 노드 중 하나가 종료되면 namenode는 라이브 노드에서 제거하기 전에 10 분 동안 대기합니다. 그때까지 나의 hdfs는 노드로부터의 나쁜 응답을 말하지 못한다.
데이터 노드가 죽는 노드가 즉시 삭제되도록 더 작은 시간 제한 (1 분)을 설정하는 방법이 있습니까?
hdfs-site.xml에 다음을 설정하면 1 분 제한 시간이 주어집니다.
<property>
<name>dfs.heartbeat.recheck.interval</name>
<value>15</value>
<description>Determines datanode heartbeat interval in seconds.</description>
</property>
제한 시간이 2 * heartbeat.recheck.interval + 10 * 하트 비트 같다 : -
<property>
<name>heartbeat.recheck.interval</name>
<value>15</value>
<description>Determines datanode heartbeat interval in seconds</description>
</property>
위의 경우 작동하지 않는 다음을 수행합니다 (버전에 의존하는 것 같다) .interval. heartbeat.interval의 기본값은 3 초입니다.
우리가 사용하는 Hadoop 버전에서는 dfs.heartbeat.recheck.interval을 밀리 초 단위로 지정해야합니다 (유효성을 검사하려면 Hadoop 버전 코드/doc을 확인하십시오).
나는이 작품을 만들었습니다. Hadoop 버전 0.2.2를 사용하고 있습니다.
여기 내 HDFS-site.xml 파일에 추가 된 내용은 다음과 같습니다
<property>
<name>dfs.heartbeat.interval</name>
<value>2</value>
<description>Determines datanode heartbeat interval in seconds.</description>
</property>
<property>
<name>dfs.heartbeat.recheck.interval</name>
<value>1</value>
<description>Determines when machines are marked dead</description>
</property>
이 매개 변수는 하둡의 다른 버전과 다를 수 있습니다. 다음은 올바른 매개 변수를 사용하고 있는지 확인하는 방법 : 당신이 그들을 설정하면 마스터를 시작하고의 구성을 확인 : 당신은 "dfs.heartbeat.interval"찾을 수없는 경우
http://your_master_machine:19888/conf
및/또는 "dfs.heartbeat.recheck.interval"을 입력하면 해당 버전을 "dfs"없이 사용해보십시오. 접두사 :
확인 후, 데이터 노드를 죽이고, 죽은 데이터 노드가 시간 원하는 시간 후에 더 이상 사용되었는지 확인하지 않으려면
마지막으로 "heartbeat.interval"와 "heartbeat.recheck.interval"반복 콘솔에서 : 구성이 여기에 표시와 함께 나를 위해
http://your_master_machine:50070
, 나는 죽은 데이터 노드가 약 20 초 후에 제거되는 것을 볼 수 있습니다.
hadoop 2.4.0에서 재확인 속성을 볼 수 없습니다. – Dragonborn