<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable? in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2587#M55354</link>
    <description>&lt;P&gt;Hey Ben,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In a CM-managed cluster, CM will take care of managing and deploying configurations for you (including setting custom options like this). Manually editing the config files is brittle, since CM might push new configs ontop of it.&amp;nbsp;&lt;SPAN style="line-height: 14px;"&gt;Anyway, to add custom options, search for "safety valve" in the configuration editor, and you can paste in xml directly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;Note also that these two properties are specific to the client, not the datanode or NN, so you probably want to be dropping this into the "&lt;SPAN&gt;HDFS Client Configuration Safety Valve for hdfs-site.xml" box.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&lt;SPAN&gt;Best,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&lt;SPAN&gt;Andrew&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 24 Oct 2013 17:56:52 GMT</pubDate>
    <dc:creator>andrew.wang</dc:creator>
    <dc:date>2013-10-24T17:56:52Z</dc:date>
    <item>
      <title>Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2529#M55352</link>
      <description>&lt;P&gt;I have a small 3 node cluster and am experiencing total failure when running Reduce jobs. I searched through syslog and found errors pointing to this variable:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;dfs.client.block.write.replace-datanode-on-failure.enable&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If there is a datanode/network failure in the write pipeline, DFSClient will try to remove the failed datanode from the pipeline and then continue writing with the remaining datanodes. As a result, the number of datanodes in the pipeline is decreased. The feature is to add new datanodes to the pipeline. This is a site-wide property to enable/disable the feature. When the cluster size is extremely small, e.g. 3 nodes or less, cluster administrators may want to set the policy to NEVER in the default configuration file or disable this feature. Otherwise, users may experience an unusually high rate of pipeline failures since it is impossible to find new datanodes for replacement. See also dfs.client.block.write.replace-datanode-on-failure.policy&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How can I set this variable from the CDH4 Cloudera Manager interface? Or do I need to manually edit an XML file?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2022 08:49:32 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2529#M55352</guid>
      <dc:creator>benbakelaar</dc:creator>
      <dc:date>2022-09-16T08:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2579#M55353</link>
      <description>&lt;P&gt;Answer:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For my cluster, I directly modified the /etc/hadoop/conf/hdfs-site.xml file on all 4 nodes, including namenode and datanodes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am able to locate other dfs.client variables in the Cloudera Manager:&lt;/P&gt;&lt;P&gt;host:7180/cmf/services/19/config&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But the variable that I added manually does not show up in Cloudera Manager as far as I can see.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Another variable to set in conjunction with this is:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;dfs.client.block.write.replace-datanode-on-failure.policy&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;See&amp;nbsp;&lt;A target="_blank" href="http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml"&gt;http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Oct 2013 12:16:56 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2579#M55353</guid>
      <dc:creator>benbakelaar</dc:creator>
      <dc:date>2013-10-24T12:16:56Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2587#M55354</link>
      <description>&lt;P&gt;Hey Ben,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In a CM-managed cluster, CM will take care of managing and deploying configurations for you (including setting custom options like this). Manually editing the config files is brittle, since CM might push new configs ontop of it.&amp;nbsp;&lt;SPAN style="line-height: 14px;"&gt;Anyway, to add custom options, search for "safety valve" in the configuration editor, and you can paste in xml directly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;Note also that these two properties are specific to the client, not the datanode or NN, so you probably want to be dropping this into the "&lt;SPAN&gt;HDFS Client Configuration Safety Valve for hdfs-site.xml" box.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&lt;SPAN&gt;Best,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;&lt;SPAN&gt;Andrew&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Oct 2013 17:56:52 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2587#M55354</guid>
      <dc:creator>andrew.wang</dc:creator>
      <dc:date>2013-10-24T17:56:52Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2591#M55355</link>
      <description>&lt;P&gt;Andrew, thanks, I am currently working on purchasing Cloudera Enterprise licenses so we can get official support. I will look for the area you are indicating.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For anyone else reading the thread, the reason we needed to set these variables is that MapReduce jobs (via Pig scripting) were failing at the Reduce phase. Based on system logs, I was able to trace it to these variables. In the Hadoop documentation, you can see that a 3 node cluster is considered "extremely" small and that is exactly what we are running - 1 namenode and 3 datanodes. Also, replication is set to 3, meaning all datanodes must be operational in order for HDFS to be healthy. In retrospect, with such a small cluster we would decrease replication to 2.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To be clear, we had to set both variables even though the documentation indicates you only need to set the first "enable" to "never". In fact we found that our problem was not fixed until we also set "policy" to "never".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;dfs.client.block.write.replace-datanode-on-failure.enable&lt;/TD&gt;&lt;TD&gt;true&lt;/TD&gt;&lt;TD&gt;If there is a datanode/network failure in the write pipeline, DFSClient will try to remove the failed datanode from the pipeline and then continue writing with the remaining datanodes. As a result, the number of datanodes in the pipeline is decreased. The feature is to add new datanodes to the pipeline. T&lt;STRONG&gt;his is a site-wide property to enable/disable the feature. When the cluster size is extremely small, e.g. 3 nodes or less, cluster administrators may want to set the policy to NEVER in the default configuration file or disable this feature. Otherwise, users may experience an unusually high rate of pipeline failures since it is impossible to find new datanodes for replacement.&lt;/STRONG&gt; See also dfs.client.block.write.replace-datanode-on-failure.policy&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;dfs.client.block.write.replace-datanode-on-failure.policy&lt;/TD&gt;&lt;TD&gt;DEFAULT&lt;/TD&gt;&lt;TD&gt;This property is used only if the value of dfs.client.block.write.replace-datanode-on-failure.enable is true. ALWAYS: always add a new datanode when an existing datanode is removed. NEVER: never add a new datanode. DEFAULT: Let r be the replication number. Let n be the number of existing datanodes. Add a new datanode only if r is greater than or equal to 3 and either (1) floor(r/2) is greater than or equal to n; or (2) r is greater than n and the block is hflushed/appended.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 24 Oct 2013 18:33:25 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2591#M55355</guid>
      <dc:creator>benbakelaar</dc:creator>
      <dc:date>2013-10-24T18:33:25Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2751#M55356</link>
      <description>FYI for future readers, this can be found under Services &amp;gt; Service hdfs1 &amp;gt; Configuration &amp;gt; View and Edit &amp;gt; search for "safety valve". You will find this variable in the results "HDFS Service Configuration Safety Valve for hdfs-site.xml".</description>
      <pubDate>Wed, 30 Oct 2013 12:15:35 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/2751#M55356</guid>
      <dc:creator>benbakelaar</dc:creator>
      <dc:date>2013-10-30T12:15:35Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/3829#M55357</link>
      <description>&lt;P&gt;Hi, what property did you modify, it sohuld be cluster-wide or related only to client?&lt;/P&gt;</description>
      <pubDate>Mon, 09 Dec 2013 18:41:49 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/3829#M55357</guid>
      <dc:creator>sergey.sheypak566881637</dc:creator>
      <dc:date>2013-12-09T18:41:49Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/7716#M55358</link>
      <description>&lt;P&gt;Hi, i just inserted some xml into the results of&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;"HDFS Service Configuration Safety Valve for hdfs-site.xml" and deployed client configuration by CM UI, but it did not seem to work because when I opened /etc/hadoop/conf.cloudera.hdfs1/hdfs-site.xml, the file was updated but what i inserted was not &amp;nbsp;found. &amp;nbsp; So did not just add these parameters&amp;nbsp;&lt;SPAN&gt;manually and it appeared in the &lt;SPAN&gt;"HDFS Service Configuration Safety Valve for hdfs-site.xml"&lt;/SPAN&gt;?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Mar 2014 07:49:37 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/7716#M55358</guid>
      <dc:creator>roc</dc:creator>
      <dc:date>2014-03-24T07:49:37Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/7718#M55359</link>
      <description>&lt;P&gt;To add configuration snippets for a client config, the right field to use is the "HDFS Client Configuration Safety Valve for hdfs-site.xml", not the "Service" one, which only applies to daemons.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Mar 2014 08:02:04 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/7718#M55359</guid>
      <dc:creator>Harsh J</dc:creator>
      <dc:date>2014-03-24T08:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/91187#M55360</link>
      <description>&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can any one help me&amp;nbsp; where can i find this set dfs.client.block.write.replace-datanode-on-failure.enable parameter in Cloudera manger.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have serached in hdfs-site.xml. but i could not find the theses values..&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jun 2019 02:21:38 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/91187#M55360</guid>
      <dc:creator>PratV</dc:creator>
      <dc:date>2019-06-04T02:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: Where can I set dfs.client.block.write.replace-datanode-on-failure.enable?</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/91188#M55361</link>
      <description>Please follow the entire discussion above - the parameter is an advanced one and has no direct field. You'll need to use the safety valve to apply it by using the property name directly.&lt;BR /&gt;&lt;BR /&gt;P.s. It is better etiquette to open a new topic than bump ancient ones.</description>
      <pubDate>Tue, 04 Jun 2019 02:33:52 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Where-can-I-set-dfs-client-block-write-replace-datanode-on/m-p/91188#M55361</guid>
      <dc:creator>Harsh J</dc:creator>
      <dc:date>2019-06-04T02:33:52Z</dc:date>
    </item>
  </channel>
</rss>

