hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Antal (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-14212) Expose SecurityEnabled boolean field in JMX for other services besides NameNode
Date Tue, 24 Jul 2018 15:12:00 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-14212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16554358#comment-16554358

Adam Antal commented on HADOOP-14212:

Thank you for the suggestions [~ajayydv], I worked accordingly: removed the redundant public
keywords from the MXBeans, although in TestDataNodeMXBean.java the contents of testDataNodeMXBean
test is in a try-with-resources block from line 60 to 117, that is why the finally clause
got removed - so I see no point in not removing it.

I added a test for kerberos authentication to TestDataNodeMXBean, could you please check
if my modifications are appropriate? Also another question has arisen while I attempted to
make tests for ResourceManager- and NodeManagerMXBean. I used SaslDataTransferTestCase as
base class for getting kerberos configuration, but this class is inaccessible from hadoop-yarn.
Would you please advise how to surpass this?

(Moving SaslDataTransferTestCase to hadoop-common is not a good idea since it uses DFSConfigKeys
from hadoop-hdfs, but introducting a new dependency has also some other caveats.) A simpler
answer could be just to copy the code to make the tests for those two MXBeans in yarn, or
don't write test for them.

> Expose SecurityEnabled boolean field in JMX for other services besides NameNode
> -------------------------------------------------------------------------------
>                 Key: HADOOP-14212
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14212
>             Project: Hadoop Common
>          Issue Type: Improvement
>            Reporter: Ray Burgemeestre
>            Assignee: Adam Antal
>            Priority: Minor
>              Labels: newbie, security
>         Attachments: HADOOP-14212.001.patch, HADOOP-14212.002.patch, HADOOP-14212.003.patch,
HADOOP-14212.004.patch, HADOOP-14212.005.patch, HADOOP-14212.005.patch, HADOOP-14212.005.patch,
> The following commit https://github.com/apache/hadoop/commit/dc17bda4b677e30c02c2a9a053895a43e41f7a12
introduced a "SecurityEnabled" field in the JMX output for the NameNode. I believe it would
be nice to add this same change to the JMX output of other services: Secondary Namenode, ResourceManager,
NodeManagers, DataNodes, etc. So that it can be queried whether Security is enabled in all
JMX resources.
> The reason I am suggesting this feature / improvement is that I think it  would provide
a clean way to check whether your cluster is completely Kerberized or not. I don't think there
is an easy/clean way to do this now, other than checking the logs, checking ports etc.? 
> The file where the change was made is hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
has the following function now:
> {code:java}
> @Override // NameNodeStatusMXBean
> public boolean isSecurityEnabled() {
>     return UserGroupInformation.isSecurityEnabled();
> }
> {code}
> I would be happy to develop a patch if it seems useful by others as well?
> This is a snippet from the JMX output from the NameNode in case security is not enabled:
> {code}
>   {
>     "name" : "Hadoop:service=NameNode,name=NameNodeStatus",
>     "modelerType" : "org.apache.hadoop.hdfs.server.namenode.NameNode",
>     "NNRole" : "NameNode",
>     "HostAndPort" : "node001.cm.cluster:8020",
>     "SecurityEnabled" : false,
>     "LastHATransitionTime" : 0,
>     "State" : "standby"
>   }
> {code}

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org

View raw message