2017-11-07 10 views
0

質問が見つかりました Where HDFS stores files locally by default?Hadoop HDFSストアファイルをローカルに変更する方法

私のHDFSはシステムによって削除される/ tmp /フォルダにデータを格納します。

HDFSがローカルにファイルを保存するを変更したいと思います。

私はHDFS-default.xmlの中で探していますが、私は、詳細を知りたい

実行bin/hadoop version

Hadoop 2.8.2 
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 66c47f2a01ad9637879e95f80c41f798373828fb 
Compiled by jdu on 2017-10-19T20:39Z 
Compiled with protoc 2.5.0 
From source with checksum dce55e5afe30c210816b39b631a53b1d 
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.8.2.jar 

編集
dfs.data.dir見つけることができないこと:どのファイル
HDFSストアファイルをローカルに変更するにはどのように編集する必要がありますか?

+1

可能な複製(https://stackoverflow.com/questions/:あなたは、あなたの地元の店舗の場所を変更するには、HDFS-site.xmlのに次の設定を追加することができます2358402/where-hdfs-stores-files-locally-default-by-default) –

+0

他の答えを見てください。 https://stackoverflow.com/a/33860181/2308683 –

答えて

0

ヒントについては、@ultimoTGに感謝します。

私の解決策は、ファイル名がhdfs-default.xmlであることです(このファイルは参照のみです)。NOT WORK)が私のhadoopディレクトリにあります。その後

$HADOOP_HOME/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml 

、私は私が変更された値の前に$HADOOP_HOME/etc/hadoop/hdfs-site.xmlhdfs-default.xmlから変更したい行をコピーします。

これは私の$HADOOP_HOME/etc/hadoop/hdfs-site.xmlです。これは、HDFSストアファイルをローカルのディレクトリにダウンロードフォルダに変更します。

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<!-- 
    Licensed under the Apache License, Version 2.0 (the "License"); 
    you may not use this file except in compliance with the License. 
    You may obtain a copy of the License at 

    http://www.apache.org/licenses/LICENSE-2.0 

    Unless required by applicable law or agreed to in writing, software 
    distributed under the License is distributed on an "AS IS" BASIS, 
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    See the License for the specific language governing permissions and 
    limitations under the License. See accompanying LICENSE file. 
--> 

<!-- Put site-specific property overrides in this file. --> 

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


<property> 
    <name>dfs.namenode.name.dir</name> 
    <value>/home/my_name/Downloads/hadoop_data/dfs/name</value> 
    <description>Determines where on the local filesystem the DFS name node 
     should store the name table(fsimage). If this is a comma-delimited list 
     of directories then the name table is replicated in all of the 
     directories, for redundancy. </description> 
</property> 

<property> 
    <name>dfs.datanode.data.dir</name> 
    <value>/home/my_name/Downloads/hadoop_data/dfs/data</value> 
    <description>Determines where on the local filesystem an DFS data node 
    should store its blocks. If this is a comma-delimited 
    list of directories, then data will be stored in all named 
    directories, typically on different devices. The directories should be tagged 
    with corresponding storage types ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]) for HDFS 
    storage policies. The default storage type will be DISK if the directory does 
    not have a storage type tagged explicitly. Directories that do not exist will 
    be created if local filesystem permission allows. 
    </description> 
</property> 

</configuration> 
0

あなたが最初にあなたのHadoopを抽出すると、HDFS-site.xmlのは$ HADOOP_HOMEの/ etc/Hadoopの中に存在し、デフォルトでは空です。

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

<property> 
     <name>dfs.name.dir</name> 
     <value>path_to_dir</value> 
</property> 
[?HDFSストアは、デフォルトでローカルファイル]の
関連する問題