[
https://issues.apache.org/jira/browse/HDDS-14064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gargi Jaiswal updated HDDS-14064:
---------------------------------
Description:
The configuration property
{code:java}
hdds.datanode.kerberos.principal{code}
in *ozone-default.xml* has an empty default value, while similar properties
for SCM and OM have defaults (SCM/_HOST@REALM and OM/_HOST@REALM respectively).
This inconsistency can lead to configuration errors in secure Ozone clusters.
*Current Behaviour:*
{code:java}
<property>
<name>hdds.datanode.kerberos.principal</name>
<value/> <!-- EMPTY -->
<tag>OZONE, DATANODE</tag>
<description>
The Datanode service principal. This is typically set to
dn/[email protected]. Each Datanode will substitute _HOST with its
own fully qualified hostname at startup. The _HOST placeholder
allows using the same configuration setting on all Datanodes.
</description>
</property> {code}
When unset, it falls back to the deprecated
{color:#de350b}dfs.datanode.kerberos.principal{color} via
*OzoneConfiguration.java* deprecation handling. This causes DN
*reconfiguration* or *diskbalancer* command issues where:
* {*}DataNode side{*}: hdds.datanode.kerberos.principal is empty, so it falls
back {color:#de350b}dfs.datanode.kerberos.principal{color} is set to
{color:#de350b}dn/_HOST@REALM{color} in dn ozone-site.xml . This is handled
correctly due to deprecating keys.
* {*}Client side{*}: hdds.datanode.kerberos.principal is not set in client
side ozone-site.xml, so it falls back to
{color:#de350b}dfs.datanode.kerberos.principal{color} from
{color:#de350b}hdfs-site.xm{color}l (e.g., hdfs/_HOST@REALM)
The mismatch between dn/_HOST@... and hdfs/_HOST@... causes reconfiguration and
diskbalancer command to fail for any client to dn cli. Right now to make these
commands work user need to explicity set the value of property in the
ozone-site.xml.
{code:java}
bash > ozone admin reconfig --service=DATANODE --in-service-datanodes properties
An error occurred while executing the command for :10.145.32.0:19864
java.lang.RuntimeException: java.io.IOException: DestHost:destPort
dn-host-1:19864 , LocalHost:localPort dn-host-1/10.145.32.0:0. Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: Bad Kerberos
server principal configuration
[Caused by java.lang.IllegalArgumentException: Server has invalid Kerberos
principal:dn/dn-host-1@REALM, expecting: hdfs/dn-host-1@REALM]
bash > ozone admin datanode diskbalancer start in-service-datanodes
An error occurred while executing the command for :10.145.32.0:19864
java.lang.RuntimeException: java.io.IOException: DestHost:destPort
dn-host-1:19864 , LocalHost:localPort dn-host-1/10.145.32.0:0. Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: Bad Kerberos
server principal configuration [Caused by java.lang.IllegalArgumentException:
Server has invalid Kerberos principal:dn/dn-host-1@REALM, expecting:
hdfs/dn-host-1@REALM]
{code}
was:
The configuration property
{code:java}
hdds.datanode.kerberos.principal{code}
in *ozone-default.xml* has an empty default value, while similar properties
for SCM and OM have defaults (SCM/_HOST@REALM and OM/_HOST@REALM respectively).
This inconsistency can lead to configuration errors in secure Ozone clusters.
*Current Behaviour:*
{code:java}
<property>
<name>hdds.datanode.kerberos.principal</name>
<value/> <!-- EMPTY -->
<tag>OZONE, DATANODE</tag>
<description>
The Datanode service principal. This is typically set to
dn/[email protected]. Each Datanode will substitute _HOST with its
own fully qualified hostname at startup. The _HOST placeholder
allows using the same configuration setting on all Datanodes.
</description>
</property> {code}
When unset, it falls back to the deprecated
{color:#de350b}dfs.datanode.kerberos.principal{color} via
*OzoneConfiguration.java* deprecation handling. This causes DN
*reconfiguration* or *diskbalancer* command issues where:
* {*}DataNode side{*}: hdds.datanode.kerberos.principal is empty, so it falls
back {color:#de350b}dfs.datanode.kerberos.principal{color} is set to
{color:#de350b}dn/_HOST@REALM{color} in dn ozone-site.xml . This is handled
correctly due to deprecating keys.
* {*}Client side{*}: hdds.datanode.kerberos.principal is not set in client
side ozone-site.xml, so it falls back to
{color:#de350b}dfs.datanode.kerberos.principal{color} from
{color:#de350b}hdfs-site.xm{color}l (e.g., hdfs/_HOST@REALM)
The mismatch between dn/_HOST@... and hdfs/_HOST@... causes reconfiguration and
diskbalancer command to fail. Right now to make these commands work user need
to explicity set the value of property in the ozone-site.xml.
{code:java}
bash > ozone admin reconfig --service=DATANODE --in-service-datanodes properties
An error occurred while executing the command for :10.145.32.0:19864
java.lang.RuntimeException: java.io.IOException: DestHost:destPort
dn-host-1:19864 , LocalHost:localPort dn-host-1/10.145.32.0:0. Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: Bad Kerberos
server principal configuration
[Caused by java.lang.IllegalArgumentException: Server has invalid Kerberos
principal:dn/dn-host-1@REALM, expecting: hdfs/dn-host-1@REALM]
bash > ozone admin datanode diskbalancer start in-service-datanodes
An error occurred while executing the command for :10.145.32.0:19864
java.lang.RuntimeException: java.io.IOException: DestHost:destPort
dn-host-1:19864 , LocalHost:localPort dn-host-1/10.145.32.0:0. Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: Bad Kerberos
server principal configuration [Caused by java.lang.IllegalArgumentException:
Server has invalid Kerberos principal:dn/dn-host-1@REALM, expecting:
hdfs/dn-host-1@REALM]
{code}
> Missing default value for "hdds.datanode.kerberos.principal
> ------------------------------------------------------------
>
> Key: HDDS-14064
> URL: https://issues.apache.org/jira/browse/HDDS-14064
> Project: Apache Ozone
> Issue Type: Bug
> Reporter: Gargi Jaiswal
> Assignee: Gargi Jaiswal
> Priority: Major
>
> The configuration property
> {code:java}
> hdds.datanode.kerberos.principal{code}
> in *ozone-default.xml* has an empty default value, while similar properties
> for SCM and OM have defaults (SCM/_HOST@REALM and OM/_HOST@REALM
> respectively). This inconsistency can lead to configuration errors in secure
> Ozone clusters.
> *Current Behaviour:*
> {code:java}
> <property>
> <name>hdds.datanode.kerberos.principal</name>
> <value/> <!-- EMPTY -->
> <tag>OZONE, DATANODE</tag>
> <description>
> The Datanode service principal. This is typically set to
> dn/[email protected]. Each Datanode will substitute _HOST with its
> own fully qualified hostname at startup. The _HOST placeholder
> allows using the same configuration setting on all Datanodes.
> </description>
> </property> {code}
>
> When unset, it falls back to the deprecated
> {color:#de350b}dfs.datanode.kerberos.principal{color} via
> *OzoneConfiguration.java* deprecation handling. This causes DN
> *reconfiguration* or *diskbalancer* command issues where:
> * {*}DataNode side{*}: hdds.datanode.kerberos.principal is empty, so it
> falls back {color:#de350b}dfs.datanode.kerberos.principal{color} is set to
> {color:#de350b}dn/_HOST@REALM{color} in dn ozone-site.xml . This is handled
> correctly due to deprecating keys.
> * {*}Client side{*}: hdds.datanode.kerberos.principal is not set in client
> side ozone-site.xml, so it falls back to
> {color:#de350b}dfs.datanode.kerberos.principal{color} from
> {color:#de350b}hdfs-site.xm{color}l (e.g., hdfs/_HOST@REALM)
> The mismatch between dn/_HOST@... and hdfs/_HOST@... causes reconfiguration
> and diskbalancer command to fail for any client to dn cli. Right now to make
> these commands work user need to explicity set the value of property in the
> ozone-site.xml.
>
> {code:java}
> bash > ozone admin reconfig --service=DATANODE --in-service-datanodes
> properties
> An error occurred while executing the command for :10.145.32.0:19864
> java.lang.RuntimeException: java.io.IOException: DestHost:destPort
> dn-host-1:19864 , LocalHost:localPort dn-host-1/10.145.32.0:0. Failed on
> local exception: java.io.IOException: javax.security.sasl.SaslException: Bad
> Kerberos server principal configuration
> [Caused by java.lang.IllegalArgumentException: Server has invalid Kerberos
> principal:dn/dn-host-1@REALM, expecting: hdfs/dn-host-1@REALM]
>
> bash > ozone admin datanode diskbalancer start in-service-datanodes
> An error occurred while executing the command for :10.145.32.0:19864
> java.lang.RuntimeException: java.io.IOException: DestHost:destPort
> dn-host-1:19864 , LocalHost:localPort dn-host-1/10.145.32.0:0. Failed on
> local exception: java.io.IOException: javax.security.sasl.SaslException: Bad
> Kerberos server principal configuration [Caused by
> java.lang.IllegalArgumentException: Server has invalid Kerberos
> principal:dn/dn-host-1@REALM, expecting: hdfs/dn-host-1@REALM]
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]