如何增加hdfs容量

sg2wtvxw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(419)

如何将hadoop dfs的配置容量从默认的50gb增加到100gb?
我目前的设置是hadoop1.2.1,运行在centos6机器上,使用120gb和450gb。将hadoop设置为psuddistributed模式,使用“hadoop最终指南3'rd”建议的/conf。hdfs-site.xml只有一个配置的属性:

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

下一行没有给出错误反馈。。。返回提示。

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

如果我在一个再生循环中(已经执行)

rm -rf /tmp/hadoop-myUserId

在尝试“从头开始”)时,setspacequota的这种看似成功的情况只有在我执行了

start-all.sh
  hadoop namenode -format

我的dfs容量配置失败如下所示

hadoop dfsadmin -report

显示相同的50gb配置容量。
我愿意切换到hadoop2.2(现在稳定的版本),如果这是目前获得100gbhdfs配置容量的最佳方式的话。似乎hdfs-site.xml应该有一个配置属性,它允许我使用更多的空闲分区。

taor4pac

taor4pac1#

将hdfs的位置设置为具有更多可用空间的分区。对于hadoop-1.2.1,这可以通过在hadoop-1.2.1/conf/core-site.xml中设置hadoop.tmp.dir来完成

<?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 我说过我的主分区是我的硬盘,减去50gb/
(\u根)分区。hdfs的默认位置是/tmp/hadoop myuserid,它位于/partition中。这就是我最初50gbhdfs大小的来源。
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的大小报告为my\u home分区的大小。
谢谢你的评论/线索。

fdx2calv

fdx2calv2#

停止所有服务: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>

另外,请记住在文件夹中放置[disk]以包含一个额外的磁盘,[ssd]用于专用的额外ssd驱动器。始终记住检查“//”三个“/”以获得目录指向。
之后,
通过发出命令格式化namenode以获取hadoop集群中继承的设置
hadoop namenode-格式化然后从开始启动服务:start-all.sh
/请记住,在不格式化hdfs的情况下,该设置将不会被激活,因为它将在dfs.datanode.data.dir中搜索块池id(bp\u id),并且在新位置上找不到任何bp\u id/

相关问题