he current failed datanode replacement policy is DEFAULT报错

hadoop
The current failed datanode replacement policy is DEFAULT, and a client may configure this via ‘dfs.client.block.write.replace-datanode-on-failure.policy’ in its configuration报错
解决办法:修改hdfs-site.xml文件
添加

 <property>
 <name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
<value>true</value>
</property>

<property>
<name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
<value>NEVER</value>
</property>

相关四个参数
参考网址官方文档

参数默认值含义
dfs.client.block.write.replace-datanode-on-failure.enabletrue功能:删除故障节点时,向管道pipline加入新的datanode 当集群大小非常小(3个以下)可以把下面那个policy参数设置成NEVER或者禁用此功能。否则无法找到要替换的节点
dfs.client.block.write.replace-datanode-on-failure.policyDEFAULT上面那个enable参数是true才有用。几个选项 ALWAYS:删除故障节点后总是添加一个;NEVER:永远不这么这么做;DEFALUT:令r为副本数,n为现有datanod数。当r大于或等于3并且floor(r/2)大于或等于n时,オ添加新的 datanode
dfs.client.block.write.replace-datanode-on-failure.best-effortfalse上面那个enable参数是true才有用。客户端将尝试替换写管道中发生故障的数据节点,但是如果数据节点替换也失败,客户端将继续执行写操作。假设数据节点替换失败。false:抛出写入失败的异常。true:应该使用其余数据恢复写操作。请注意,将此属性设置为true允许写入具有较少数据节点数量的管道。增加了数据丢失的可能性。
dfs.client.block.write.replace-datanode-on-failure.min-replication0如果找不到新的数据节点来替换写管道中发生故障的数据节点,则不使写管道发生故障所需的最小复制次数。如果写管道中剩余的数据节点数大于或等于此属性值,请继续写入剩余的节点。否则抛出异常。如果将其设置为0,则在找不到替换项时将引发异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您遇到的问题,"Cannot allocate memory" 错误通常表示内存不足导致无法为进程分配内存空间。 造成这种情况的原因可能有以下几种情况: 1. 系统内存不足:请确保您的系统具有足够的可用内存,以支持启动 datanode 进程。您可以使用 `free -h` 命令来查看系统内存使用情况。 2. ulimit 限制:检查系统 ulimit 设置是否限制了进程可使用的内存。可以通过运行 `ulimit -a` 命令来查看当前的 ulimit 设置。 如果发现限制较低,可以考虑修改 ulimit 设置来增加可用的内存限制。这可以通过编辑 `/etc/security/limits.conf` 文件并增加如下配置行来实现: ``` * soft memlock unlimited * hard memlock unlimited ``` 3. 物理内存与虚拟内存(swap)不足:检查系统的物理内存和虚拟内存是否充足。如果物理内存不足,可以考虑增加物理内存或者开启 swap 分区来扩充虚拟内存。 您可以使用 `swapon -s` 命令来查看当前系统中是否存在 swap 分区。如果没有可用的 swap 分区,可以创建一个新的 swap 分区并启用它。 请注意,虚拟内存通常比物理内存速度慢得多,因此这只是一种暂时的解决方案,您可能需要进一步调查为什么系统需要更多的内存。 4. 其他进程占用了过多的内存:请确保没有其他进程占用了大量的内存资源,导致无法为 datanode 进程分配足够的内存。可以使用 `top` 或 `htop` 命令来查看系统中正在运行的进程和它们的内存占用情况。 希望以上信息对您有所帮助!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值