복붙노트

[HADOOP] 왜 우리는 우리가 컴퓨터를 다시 시작할 때마다 후 HDFS를 포맷해야합니까?

HADOOP

왜 우리는 우리가 컴퓨터를 다시 시작할 때마다 후 HDFS를 포맷해야합니까?

내 노트북에 의사 분산 모드에서 하둡을 설치, OS는 우분투입니다.

내가 하둡은 데이터를 저장할 경로 변경 (에 기본 하둡 데이터를 저장함으로써를 / TMP 폴더)

HDFS-site.xml 파일은 다음과 같습니다 :

<property>
    <name>dfs.data.dir</name>
    <value>/HADOOP_CLUSTER_DATA/data</value>
</property>

나는 컴퓨터를 다시 시작하고 start-all.sh 스크립트를 사용하여 하둡 클러스터를 시작하려고 할 때마다 이제, 데이터 노드는 시작되지 않습니다. 나는 데이터 노드 로그를 확인하여 및 JPS 명령을 사용하여 시작되지 않은 것을 확인했다.

그럼 내가

나는 중지하고 다시 클러스터를 시작하더라도 이제 모든 것이 잘 작동합니다. 나는 컴퓨터를 다시 시작하고 클러스터를 시작하려고 할 때 문제가 발생합니다.

해결법

  1. ==============================

    1.TMP / 멀리 dfs.datanode.data.dir 변경하여 실제로 데이터 (블록) 재부팅을 통해 생존을했다. 그러나 단지 블록에 비해 HDFS 더있다. 당신은 모든 관련 DIRS (나는 그것이 당신의 설정에 따라, 당신은 변경해야 할 어떤 다른 DIRS 말할 수는 없지만, 네임 노드의 디렉토리는 필수입니다 / 특히 TMP, dfs.namenode.name.dir에서 멀리 가리키는 확인해야 ) 또한 충분한 수 있습니다.

    TMP / 멀리 dfs.datanode.data.dir 변경하여 실제로 데이터 (블록) 재부팅을 통해 생존을했다. 그러나 단지 블록에 비해 HDFS 더있다. 당신은 모든 관련 DIRS (나는 그것이 당신의 설정에 따라, 당신은 변경해야 할 어떤 다른 DIRS 말할 수는 없지만, 네임 노드의 디렉토리는 필수입니다 / 특히 TMP, dfs.namenode.name.dir에서 멀리 가리키는 확인해야 ) 또한 충분한 수 있습니다.

    나는 또한 최근 하둡 배포판을 사용하는 것이 좋습니다 것입니다. BTW, 1.1 네임 노드의 디렉토리 설정은 dfs.name.dir입니다.

  2. ==============================

    2.하둡을 사용하는 사람들을 위해 파일 이름을 config (설정) 2.0 이상 버전이 다를 수 있습니다.

    하둡을 사용하는 사람들을 위해 파일 이름을 config (설정) 2.0 이상 버전이 다를 수 있습니다.

    이 답변이 지적 하듯이, 당신의 하둡 설치는 / etc / 하둡 디렉토리로 이동합니다.

    파일 HDFS-site.xml 파일을 엽니 다. 이 사용자 구성하기 전에 자바 클래스 로더에 의해로드되는 기본 하둡 구성을 우선합니다.

    dfs.namenode.name.dir 속성을 추가하고 새로운 네임 노드의 디렉토리를 설정 (디폴트 파일 : // $ {hadoop.tmp.dir} / DFS / 이름).

    (: // $ {hadoop.tmp.dir} / DFS / 데이터를 기본 파일입니다) dfs.datanode.data.dir 속성에 대해 동일한 작업을 수행.

    예를 들면 :

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/Users/samuel/Documents/hadoop_data/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/Users/samuel/Documents/hadoop_data/data</value>
    </property>
    

    tmp를 해줄가 나타납니다 다른 속성은 dfs.namenode.checkpoint.dir입니다. 기본값은 다음과 같습니다 파일 : // $ {hadoop.tmp.dir} / DFS / namesecondary.

    당신이 원하는 경우에, 당신은 쉽게 또한이 속성을 추가 할 수 있습니다 :

    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>/Users/samuel/Documents/hadoop_data/namesecondary</value>
    </property>
    
  3. from https://stackoverflow.com/questions/20142111/why-do-we-need-to-format-hdfs-after-every-time-we-restart-machine by cc-by-sa and MIT license