2014-04-01 4 views
1

bin/start-all.sh를 사용하여 namenode를 시작하려고했습니다. 그러나이 명령은 namenode를 시작하지 않습니다. bin/hadoop namenode -format을 실행하면 namenode가 시작되지만이 경우 모든 데이터가 손실됩니다. 그것을 포맷하지 않고 namenode를 시작하는 방법이 있습니까?형식 지정하지 않고 namenode 시작

답변

1

bin/start-all.sh은 datanodes, jobtracker 및 tasktrackers뿐만 아니라 namenode를 시작해야합니다. 따라서 namenode의 로그에서 가능한 오류를 확인하십시오. bin/start-dfs.sh

사실 bin/start-all.sh 등가 인 명령을 사용하여 :

JobTracker에 상기 tasktrackers 시작 건너 뛰고 네임 노드 (및 데이타 노드)를 시작하는 다른 방법은 명령을 사용하는 것이다

bin/start-dfs.sh, 이는 namenode 및 datanodes를 시작하고
bin/start-mapred.sh, 이는 jobtracker 및 tasktrackers를 시작합니다.

자세한 내용은 this page을 방문하십시오.

+0

방금 ​​게시 한 내용을 반복했습니다. –

+0

무엇을 의미합니까? 귀하의 질문에서 이해 한 것부터, 당신이 그것을 포맷하지 않으면 namenode가 시작되지 않습니다. namenode의 로그를 확인 했습니까? 일반적으로 namenode는 매 번 포맷팅 할 필요없이 시작됩니다 ... – vefthym

+0

예, 로그를 확인했습니다. dfs.data.dir 및 dfs.name.dir에 문제가 있습니다. –

2

귀하의 문제는 다음과 관련이있을 수 있습니다

하둡마다 재부팅 후 청소 기본적으로/tmp를/hadoop- 폴더에 자사의 네임 노드에 데이터를 기록합니다.

추가 다음과 같은 속성은 "dfs.name.dir"속성은 하둡은 네임 노드의 메타 데이터를 기록하는 위치를 제어 할 수 있습니다 HDFS-site.xml의

<property> 
    <name>dfs.name.dir</name> 
    <value><path to your desired folder></value> 
</property> 

/CONT합니다.

+0

Upvoted, 그것은 나를 위해 문제를 해결했습니다. (이제 hdfs-site는 2.x의 etc/hadoop에 있습니다) –

관련 문제