2011-05-16 6 views
1

복제 인수가 2 인 3 노드 hadoop 설정이 있습니다.데이터 노드 시간 초과를 얻는 방법?

내 데이터 노드 중 하나가 종료되면 namenode는 라이브 노드에서 제거하기 전에 10 분 동안 대기합니다. 그때까지 나의 hdfs는 노드로부터의 나쁜 응답을 말하지 못한다.

데이터 노드가 죽는 노드가 즉시 삭제되도록 더 작은 시간 제한 (1 분)을 설정하는 방법이 있습니까?

답변

2

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 초입니다.

+0

hadoop 2.4.0에서 재확인 속성을 볼 수 없습니다. – Dragonborn

0

우리가 사용하는 Hadoop 버전에서는 dfs.heartbeat.recheck.interval을 밀리 초 단위로 지정해야합니다 (유효성을 검사하려면 Hadoop 버전 코드/doc을 확인하십시오).

0

나는이 작품을 만들었습니다. 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 초 후에 제거되는 것을 볼 수 있습니다.

관련 문제