복붙노트

[HADOOP] hdfs 용량을 늘릴 수있는 방법

HADOOP

hdfs 용량을 늘릴 수있는 방법

어떻게 hadoop DFS의 구성 용량을 기본 50GB에서 100GB로 늘릴 수 있습니까?

현재의 설정은 120GB의 450GB를 사용하는 centOS6 머신에서 실행되는 hadoop 1.2.1입니다. "Hadoop the Definitive Guide 3'rd에서 제안한 / conf를 사용하여 hadoop을 psudodistributed 모드로 설정하십시오. hdfs-site.xml에는 구성된 속성이 하나만 있습니다.

   <configuration>
    <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
 </configuration>

다음 행은 오류 피드백을 제공하지 않았습니다 ... 프롬프트로 돌아옵니다.

hadoop dfsadmin -setSpaceQuota 100g  /tmp/hadoop-myUserID

내가 regen 루프에 있다면 (실행했습니다

 rm -rf /tmp/hadoop-myUserId  

"처음부터 시작"시도) setSpaceQuota의 이러한 성공은 if-only-if - 만약 내가 실행했다면

  start-all.sh
  hadoop namenode -format

내 dfs 용량 구성이 실패한 이유는 다음과 같습니다.

 hadoop dfsadmin -report

동일한 용량의 50GB를 보여줍니다.

나는 그것이 100GB hdfs 구성 용량을 얻는 가장 좋은 방법이라면 hadoop 2.2 (현재 stable release)로 바꾸려고합니다.   hdfs-site.xml에 대한 구성 등록 정보가 있어야만 무료 파티션을 더 많이 사용할 수있는 것처럼 보입니다.

해결법

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

    1.hdfs의 위치를 ​​여유 공간이 더 많은 파티션으로 설정하십시오. hadoop-1.2.1의 경우 hadoop.tmp.dir을 다음과 같이 설정하면됩니다. hadoop-1.2.1 / conf / core-site.xml

    hdfs의 위치를 ​​여유 공간이 더 많은 파티션으로 설정하십시오. hadoop-1.2.1의 경우 hadoop.tmp.dir을 다음과 같이 설정하면됩니다. hadoop-1.2.1 / conf / core-site.xml

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
       <property>
          <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
         </property>
       <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/myUserID/hdfs</value>
        <description>base location for other hdfs directories.</description>
       </property>
    </configuration>
    

    달리는

    df

    내 _home 파티션이 내 하드 디스크 였고 내 / (_root) 분할 영역. hdfs의 기본 위치는 다음과 같습니다. / tmp / hadoop-myUserId / 파티션에 있습니다. 이것은 내 초기 50GB hdfs 크기의 출처입니다.

    hdfs에 대한 디렉토리의 파티션 위치 생성 및 확인은

    mkdir ~/hdfs
    df -P ~/hdfs | tail -1 | cut -d' ' -f 1
    

    성공적인 구현은

    stop-all.sh
    start-dfs.sh
    hadoop namenode -format
    start-all.sh
    hadoop dfsadmin -report
    

    hdfs의 크기를 _home 파티션의 크기로보고합니다.

    의견 / 단서에 대해 jtravaglini에게 감사드립니다.

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

    2.모든 서비스를 중지하십시오. stop-all.sh

    모든 서비스를 중지하십시오. stop-all.sh

    hdfs-site.xml의 저장소 크기를 늘리는 것과 관련하여 다음 속성을 추가하십시오.

        <property>
            <name>dfs.disk.balancer.enabled</name>
            <value>true</value>
    </property>
    <property>
            <name>dfs.storage.policy.enabled</name>
            <value>true</value>
    </property>
    <property>
            <name>dfs.blocksize</name>
            <value>134217728</value>
    </property>
    <property>
            <name>dfs.namenode.handler.count</name>
            <value>100</value>
    </property>
     <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:///usr/local/hadoop_store/hdfs/namenode</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/local/hadoop_store/hdfs/datanode,[disk]file:///hadoop_store2/hdfs/datanode</value>
    </property> 
    

    여분의 디스크를 폴더에 포함시키기 위해 [디스크]를, 전용 여분의 ssd 드라이브를 위해 [ssd]를 두는 것을 잊지 마십시오. 디렉토리 지정을 위해 항상 "///"트리플 "/"을 확인하는 것을 잊지 마십시오.

    그 후,

    Hadoop 클러스터에서 상속 된 설정을 얻기 위해 namenode를 포맷하고, 명령을 내린다.

    hadoop namenode -format 처음부터 서비스를 시작하십시오. 시작 --all.sh

    "/ * hdfs를 형식화하지 않고 dfs.datanode.data.dir에서 Blockpool Id (BP_ID)를 검색하고 새 위치에 BP_ID를 찾을 수 없으므로 설정이 활성화되지 않습니다."/

  3. from https://stackoverflow.com/questions/19542185/how-can-i-increase-hdfs-capacity by cc-by-sa and MIT license