<configuration>
    <property>
    <name>dfs.block.access.token.enable</name>
    <value>true</value>
  </property> 

	<!-- For short circuit read configuration -->
    <property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
  </property> 

  <property>
    <name>dfs.block.local-path-access.user</name>
    <value>hbase</value>
  </property> 

   <property>
      <name>dfs.client.read.shortcircuit.streams.cache.size</name>
      <value>4096</value>
    </property>

    <property>
    <name>dfs.blockreport.initialDelay</name>
    <value>120</value>
  </property> 

    <property>
    <name>dfs.blocksize</name>
    <value>134217728</value>
  </property> 

    <property>
      <name>dfs.bytes-per-checksum</name>
      <value>512</value>
    </property> 
   
    <property>
    <name>dfs.cluster.administrators</name>
    <value> hdfs</value>
  </property> 

    <property>
    <name>dfs.datanode.address</name>
    <value>0.0.0.0:50010</value>
  </property> 

    <property>
    <name>dfs.datanode.balance.bandwidthPerSec</name>
    <value>6250000</value>
  </property> 

    <property>
    <name>dfs.datanode.data.dir</name>
    <value>TODO-DFS-DATA-DIR</value>
  </property> 

    <property>
    <name>dfs.datanode.data.dir.perm</name>
    <value>750</value>
  </property> 

  <!--
  		How many bytes to reserve for non-DFS usage on the DataNode machine volumes
  		
  		Example value: 1073741824 bytes ~ 1 GB
  -->
  <property>
    <name>dfs.datanode.du.reserved</name>
    <value>1073741824</value>
  </property> 

    <property>
    <name>dfs.datanode.failed.volumes.tolerated</name>
    <value>0</value>
  </property> 

    <property>
    <name>dfs.datanode.http.address</name>
    <value>0.0.0.0:50075</value>
  </property> 

    <property>
    <name>dfs.datanode.ipc.address</name>
    <value>0.0.0.0:8010</value>
  </property> 

    <property>
    <name>dfs.datanode.max.transfer.threads</name>
    <value>1024</value>
  </property> 

    <property>
    <name>dfs.domain.socket.path</name>
    <value>/var/lib/hadoop-hdfs/dn_socket</value>
  </property> 

    <property>
    <name>dfs.heartbeat.interval</name>
    <value>3</value>
  </property> 
  
    <!--
				This enables or disables wire encryption for HDFS. 

				The possible values for this are:
				* HTTP_ONLY
				* HTTPS_ONLY
				* HTTP_AND_HTTPS : Service is provided both on http and https
		-->
    <property>
      <name>dfs.http.policy</name>
      <value>HTTP_ONLY</value>
    </property>

    <property>
    <name>dfs.namenode.accesstime.precision</name>
    <value>0</value>
  </property> 

    <property>
    <name>dfs.namenode.avoid.read.stale.datanode</name>
    <value>true</value>
  </property> 

    <property>
    <name>dfs.namenode.avoid.write.stale.datanode</name>
    <value>true</value>
  </property> 

  <!--
  		Determines where on the local filesystem the DFS secondary name node should store 
  		the temporary images to merge. If this is a comma-delimited list of directories 
  		then the image is replicated in all of the directories for redundancy.
  		
  		Example value: /hadoop/hdfs/namesecondary
  -->
  <property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>TODO-FS-CHECKPOINT-DIR</value>
  </property> 


	<!--
		Determines where on the local filesystem the DFS secondary name node should store 
		the temporary edits to merge. If this is a comma-delimited list of directoires then 
		the edits is replicated in all of the directoires for redundancy. Default value is 
		same as dfs.namenode.checkpoint.dir
	-->
    <property>
      <name>dfs.namenode.checkpoint.edits.dir</name>
      <value>TODO-FS-CHECKPOINT-DIR</value>
    </property> 

    <property>
      <name>dfs.namenode.checkpoint.period</name>
      <value>21600</value>
    </property> 
    
    <property>
      <name>dfs.namenode.checkpoint.txns</name>
      <value>1000000</value>
    </property>

    <property>
      <name>dfs.namenode.checkpoint.size</name>
      <value>0.5</value>
    </property> 

    <property>
    <name>dfs.namenode.handler.count</name>
    <value>40</value>
  </property> 

    <property>
    <name>dfs.namenode.http-address</name>
    <value>TODO-NAMENODE-HOSTNAME:50070</value>
  </property> 

    <property>
    <name>dfs.namenode.name.dir</name>
    <value>TODO-DFS-NAME-DIR</value>
  </property> 
  
    <property>
      <name>dfs.namenode.name.dir.restore</name>
      <value>true</value>
    </property>  

    <property>
    <name>dfs.namenode.safemode.threshold-pct</name>
    <value>1.0f</value>
  </property> 

    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>TODO-SECONDARYNAMENODE-HOSTNAME:50090</value>
  </property> 

    <property>
    <name>dfs.namenode.stale.datanode.interval</name>
    <value>30000</value>
  </property> 

	<property>
      <name>dfs.namenode.startup.delay.block.deletion.sec</name>
      <value>3600</value>
    </property>

    <property>
    <name>dfs.namenode.write.stale.datanode.ratio</name>
    <value>1.0f</value>
  </property> 

    <property>
    <name>dfs.permissions.enabled</name>
    <value>true</value>
  </property> 

    <property>
    <name>dfs.permissions.superusergroup</name>
    <value>hdfs</value>
  </property> 

    <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property> 

    <property>
    <name>dfs.replication.max</name>
    <value>50</value>
  </property> 

    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property> 
  
    <property>
      <name>dfs.support.append</name>
      <value>true</value>
    </property> 

    <property>
    <name>fs.permissions.umask-mode</name>
    <value>022</value>
  </property> 
  
  <!-- NameNode HA configuration 
  
  <property>
      <name>dfs.nameservices</name>
      <value>hdpsecbha</value>
    </property> 
  
  - In the following property name, 'mycluster' refers to the HA NameNode cluster nameservice
  <property>
    <name>dfs.client.failover.proxy.provider.mycluster</name>     
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  </property> 
  
  <property>
      <name>dfs.ha.automatic-failover.enabled</name>
      <value>true</value>
    </property> 

    <property>
      <name>dfs.ha.fencing.methods</name>
      <value>shell(/bin/true)</value>
    </property> 

    <property>
      <name>dfs.ha.namenodes.hdpsecbha</name>
      <value>nn1,nn2</value>
    </property> 
    
		<property>
      <name>dfs.namenode.http-address.hdpsecbha.nn1</name>
      <value>TODO-NAMENODE1-HOSTNAME:50070</value>
    </property> 

    <property>
      <name>dfs.namenode.http-address.hdpsecbha.nn2</name>
      <value>TODO-NAMENODE2-HOSTNAME:50070</value>
    </property>
    
    <property>
      <name>dfs.namenode.rpc-address.hdpsecbha.nn1</name>
      <value>TODO-NAMENODE1-HOSTNAME:8020</value>
    </property> 

    <property>
      <name>dfs.namenode.rpc-address.hdpsecbha.nn2</name>
      <value>TODO-NAMENODE2-HOSTNAME:8020</value>
    </property>      
    
    <property>
      <name>dfs.journalnode.edits.dir</name>
      <value>/hadoop/hdfs/journal</value>
    </property> 
    
    <property>
      <name>dfs.namenode.shared.edits.dir</name>
      <value>qjournal://TODO-JOURNALNODE1-HOSTNAME:8485;TODO-JOURNALNODE2-HOSTNAME:8485;TODO-JOURNALNODE3-HOSTNAME:8485/mycluster</value>
    </property> 

    <property>
      <name>dfs.journalnode.http-address</name>
      <value>0.0.0.0:8480</value>
    </property> 
    
  - NameNode HA configurations end -->
  
  <!--
  	The following settings are applicable to Kerberos enabled clusters only.
		
		Secure cluster configurations section start
  
  <property>
      <name>dfs.datanode.kerberos.principal</name>
      <value>dn/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property> 

    <property>
      <name>dfs.datanode.keytab.file</name>
      <value>/etc/security/keytabs/dn.service.keytab</value>
    </property> 
    
     <property>
      <name>dfs.journalnode.kerberos.internal.spnego.principal</name>
      <value>HTTP/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property> 
    
    <property>
      <name>dfs.namenode.kerberos.https.principal</name>
      <value>HTTP/_HOST@EXAMPLE.COM</value>
    </property> 

    <property>
      <name>dfs.namenode.kerberos.internal.spnego.principal</name>
      <value>${dfs.web.authentication.kerberos.principal}</value>
    </property> 

    <property>
      <name>dfs.namenode.kerberos.principal</name>
      <value>nn/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property> 

    <property>
      <name>dfs.namenode.keytab.file</name>
      <value>/etc/security/keytabs/nn.service.keytab</value>
    </property> 
    
    <property>
      <name>dfs.secondary.namenode.kerberos.https.principal</name>
      <value>HTTP/_HOST@EXAMPLE.COM</value>
    </property> 

    <property>
      <name>dfs.secondary.namenode.kerberos.internal.spnego.principal</name>
      <value>${dfs.web.authentication.kerberos.principal}</value>
    </property> 

    <property>
      <name>dfs.secondary.namenode.kerberos.principal</name>
      <value>nn/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property> 

    <property>
      <name>dfs.secondary.namenode.keytab.file</name>
      <value>/etc/security/keytabs/nn.service.keytab</value>
    </property> 

    <property>
      <name>dfs.web.authentication.kerberos.keytab</name>
      <value>/etc/security/keytabs/spnego.service.keytab</value>
    </property> 

    <property>
      <name>dfs.web.authentication.kerberos.principal</name>
      <value>HTTP/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property> 

    - When deploying HA NameNode with JournalNodes
    <property>
      <name>dfs.journalnode.kerberos.principal</name>
      <value>jn/_HOST@TODO-KERBEROS-DOMAIN</value>
    </property> 

    - When deploying HA NameNode with JournalNodes
    <property>
      <name>dfs.journalnode.keytab.file</name>
      <value>/etc/security/keytabs/jn.service.keytab</value>
    </property> 
    
    - HTTPs ports
    <property>
      <name>dfs.https.port</name>
      <value>50470</value>
    </property>
    
		<property>
			<name>dfs.namenode.https-address</name>
			<value>c6401.ambari.apache.org:50470</value>
		</property>
		
		<property>
      <name>dfs.namenode.https-address.hdpsecbha.nn1</name>
      <value>TODO-NAMENODE1-HOSTNAME:50470</value>
    </property> 

    <property>
      <name>dfs.namenode.https-address.hdpsecbha.nn2</name>
      <value>TODO-NAMENODE2-HOSTNAME:50470</value>
    </property> 
    
  - Security configurations end -->
		
</configuration>
