<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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.
-->
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master.docker-hadoop-cluster-network:9000</value>
    </property>
    <property>
         <name>hadoop.security.authentication</name>
         <value>kerberos</value>
         <description> Set the authentication for the cluster.
         Valid values are: simple or kerberos.</description>
    </property>
    <property>
         <name>hadoop.security.authorization</name>
         <value>true</value>
         <description>Enable authorization for different protocols.</description>
    </property>
    <property>
        <name>hadoop.security.auth_to_local</name>
        <value>
        RULE:[2:$1](.*)
        DEFAULT
        </value>
        <description>The mapping from kerberos principal names
        to local OS user names.</description>
    </property>
    <property>
        <name>hadoop.ssl.require.client.cert</name>
        <value>false</value>
    </property>
    <property>
        <name>hadoop.ssl.hostname.verifier</name>
        <value>DEFAULT</value>
    </property>
    <property>
        <name>hadoop.ssl.keystores.factory.class</name>
        <value>org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory</value>
    </property>
    <property>
        <name>hadoop.ssl.server.conf</name>
        <value>ssl-server.xml</value>
    </property>
    <property>
        <name>hadoop.ssl.client.conf</name>
        <value>ssl-client.xml</value>
    </property>
    <property>
        <name>hadoop.rpc.protection</name>
        <value>privacy</value>
    </property>
</configuration>

