등록하다. Hadoop 이름 노드 형식

등록하다. Hadoop 이름 노드 형식

CentOS 9 및 Hadoop 3.1.1을 사용하여 개인 컴퓨터에 Hadoop 의사 클러스터를 구축하고 있습니다. 나는 hadoop 설치를 마치고 조금 가지고 놀았는데 모든 것이 괜찮습니다. 나중에 jps를 실행했을 때 namenode 데몬이 실행되지 않았습니다. 그래서 Google에서 검색한 가이드에 따라 namenode 및 datanode 디렉터리를 삭제하고 다시 만들고 "hadoop namenode -format"을 실행한 다음 내 namenode(및 datanode) 데몬이 실행되었습니다. 그러나 네임노드를 포맷하기 전에 데이터를 가져오는 데 사용되는 "hdfs dfs -ls"를 사용하여 hdfs에 저장된 데이터를 가져올 수 없습니다.

내가 아는 한, namenode를 포맷하면 namenode VERSION 파일에 새로운 네임스페이스 ID와 클러스터 ID가 생성되므로 hdfs에서 이전 데이터를 가져올 수 없습니다.

그리고 데이터 복구 방법도 알고 싶습니다.

다음을 시도했지만 작동하지 않습니다.

  1. 데이터노드가 하트비트를 보내고 네임노드에 다시 보고하므로 네임노드가 메타데이터를 구축한다고 가정하고 데이터노드 VERSION 파일의 ClusterID 값을 네임노드 VERSION 파일로 바꿉니다. 그러나 이것은 도움이 되지 않습니다.

데이터 복구에 대한 제안 사항이 있습니까?

답변1

데이터를 복구하지 못할 수도 있습니다.

당신이 말했듯이 :

namenode 및 datanode 디렉토리를 삭제하고 다시 생성한 후 "hadoop namenode -format"을 실행했습니다.

기본적으로 당신은:

  • 네임노드 디렉터리에서 메타데이터(데이터가 저장되는 위치에 대한 정보) 지우기
  • 데이터노드 디렉터리에 저장된 실제 데이터를 지웁니다.
  • 새 네임스페이스 ID를 만들었습니다.

관련 콘텐츠 더보기https://stackoverflow.com/questions/27143409/what-the-command-hadoop-namenode-format-will-do

관련 정보