hadoop-common-issues mailing list archives

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

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

Gabor Bota commented on HADOOP-14212:

Thanks for working on this [~adam.antal]! 

I've noticed the following while I did a review:
* In {{SecondaryNameNodeInfoMXBean}} you removed {{public}} modifiers. It's generally not
encouraged to do that until you have some real reason to do that (like increasing visibility
for testing purposes). I'd recommend just leaving it as it is.
* In {{TestDataNodeMXBean}} you've added a new test, which is very good. But for {{TestDataNodeMXBean
#testDataNodeMXBean}} changing the try-catch to try-with-resources could cause backporting
problems in the future, so it would be wise to change just what you have to in this case.
* In {{NodeManager#serviceInit) there's a whitespace before the parentheses - it's just a
minor flaw, but still would be better not to have it
* In {{NodeManagerMXBean}} and {{ResourceManagerMXBean}} interfaces you should add {{@InterfaceAudience.Public}}
and {{@InterfaceStability.Evolving}}. See eg. [Interface Taxonomy|https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/InterfaceClassification.html]
* For the class {{ResourceManager}} line 144 is longer than just 80 chars

> 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: 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,
HADOOP-14212.006.patch, HADOOP-14212.007.patch, HADOOP-14212.008.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