[ 
https://issues.apache.org/jira/browse/AMBARI-22918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16355517#comment-16355517
 ] 

Toshihiro Suzuki commented on AMBARI-22918:
-------------------------------------------

When I ran the command in my previous comment, the ps output was as follows:
{code:java}
root 2891 154 1.4 3226792 87852 pts/0 Sl+ 09:40 0:01 
/usr/jdk64/jdk1.8.0_112/bin/java -Dproc_org.jruby.Main 
-XX:OnOutOfMemoryError=kill -9 %p -Dhdp.version=2.6.2.0-205 
-Djava.security.auth.login.config=/usr/hdp/current/hbase-master/conf/hbase_master_jaas.conf
 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log 
-Djava.security.auth.login.config=/usr/hdp/current/hbase-master/conf/hbase_client_jaas.conf
 -Djava.io.tmpdir=/tmp -Dhbase.log.dir=/var/log/hbase 
-Dhbase.log.file=hbase.log -Dhbase.home.dir=/usr/hdp/2.6.2.0-205/hbase 
-Dhbase.id.str= -Dhbase.root.logger=INFO,console 
-Djava.library.path=:/usr/hdp/2.6.2.0-205/hadoop/lib/native/Linux-amd64-64:/usr/hdp/current/hadoop-client/lib/native/Linux-amd64-64:/usr/hdp/2.6.2.0-205/hadoop/lib/native
 -Dhbase.security.logger=INFO,NullAppender org.jruby.Main 
/usr/hdp/current/hbase-master/bin/draining_servers.rb add worker1
{code}
It seems like 2 "java.security.auth.login.config" were set.

The following is set in the command line.
{code:java}
-Djava.security.auth.login.config=/usr/hdp/current/hbase-master/conf/hbase_master_jaas.conf
{code}
The following is set in hbase-env.sh
{code:java}
-Djava.security.auth.login.config=/usr/hdp/current/hbase-master/conf/hbase_client_jaas.conf
{code}
And as [~rguruvannagari] mentioned, it seems like JVM uses the second one (at 
least it did in my env). I thought when we run draining_servers.rb (and 
region_mover.rb), we need hbase_master_jaas.conf, but it seems like we don't 
need it.

Also, it seems like we don't need even hbase_client_jaas.conf. Even if I 
removed "java.security.auth.login.config" from command line 
(hbase_master_jaas.conf) and hbase-evn.sh (hbase_client_jaas.conf), the command 
worked. Therefore, it looks like we don't need to set any jaas file in this 
case. And regarding a fix for this issue, we can only remove 
"\{master_security_config}" as [~rguruvannagari] suggested:
{code}
66      "{kinit_cmd} {hbase_cmd} --config {hbase_conf_dir} org.jruby.Main 
{region_drainer} remove {host}") 
78      "{kinit_cmd} {hbase_cmd} --config {hbase_conf_dir} org.jruby.Main 
{region_drainer} add {host}") 
80      "{kinit_cmd} {hbase_cmd} --config {hbase_conf_dir} org.jruby.Main 
{region_mover} unload {host}") 
{code}

Any objections?


> Decommission RegionServer fails when kerberos is enabled
> --------------------------------------------------------
>
>                 Key: AMBARI-22918
>                 URL: https://issues.apache.org/jira/browse/AMBARI-22918
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>            Reporter: Toshihiro Suzuki
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> When kerberos is enabled, Decommission RegionServer fails with the following 
> errors:
> stderr:
> {code:java}
> Traceback (most recent call last):
>   File 
> "/var/lib/ambari-agent/cache/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py",
>  line 114, in <module>
>     HbaseMaster().execute()
>   File 
> "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py",
>  line 329, in execute
>     method(env)
>   File 
> "/var/lib/ambari-agent/cache/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_master.py",
>  line 55, in decommission
>     hbase_decommission(env)
>   File "/usr/lib/python2.6/site-packages/ambari_commons/os_family_impl.py", 
> line 89, in thunk
>     return fn(*args, **kwargs)
>   File 
> "/var/lib/ambari-agent/cache/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_decommission.py",
>  line 84, in hbase_decommission
>     logoutput=True
>   File "/usr/lib/python2.6/site-packages/resource_management/core/base.py", 
> line 166, in __init__
>     self.env.run()
>   File 
> "/usr/lib/python2.6/site-packages/resource_management/core/environment.py", 
> line 160, in run
>     self.run_action(resource, action)
>   File 
> "/usr/lib/python2.6/site-packages/resource_management/core/environment.py", 
> line 124, in run_action
>     provider_action()
>   File 
> "/usr/lib/python2.6/site-packages/resource_management/core/providers/system.py",
>  line 262, in action_run
>     tries=self.resource.tries, try_sleep=self.resource.try_sleep)
>   File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", 
> line 72, in inner
>     result = function(command, **kwargs)
>   File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", 
> line 102, in checked_call
>     tries=tries, try_sleep=try_sleep, 
> timeout_kill_strategy=timeout_kill_strategy)
>   File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", 
> line 150, in _call_wrapper
>     result = _call(command, **kwargs_copy)
>   File "/usr/lib/python2.6/site-packages/resource_management/core/shell.py", 
> line 303, in _call
>     raise ExecutionFailed(err_msg, code, out, err)
> resource_management.core.exceptions.ExecutionFailed: Execution of 
> '/usr/bin/kinit -kt /etc/security/keytabs/hbase.service.keytab 
> hbase/[email protected]; /usr/hdp/current/hbase-master/bin/hbase --config 
> /usr/hdp/current/hbase-master/conf 
> -Djava.security.auth.login.config=/usr/hdp/current/hbase-master/conf/hbase_master_jaas.conf
>  org.jruby.Main /usr/hdp/current/hbase-master/bin/draining_servers.rb add 
> worker1' returned 1. Error: Could not find or load main class 
> org.jruby.Main{code}
> stdout:
> {code:java}
> 2018-02-06 07:25:03,453 - Stack Feature Version Info: Cluster Stack=2.6, 
> Cluster Current Version=2.6.2.0-205, Command Stack=None, Command 
> Version=2.6.2.0-205 -> 2.6.2.0-205
> 2018-02-06 07:25:03,476 - Using hadoop conf dir: 
> /usr/hdp/current/hadoop-client/conf
> 2018-02-06 07:25:03,484 - checked_call['hostid'] {}
> 2018-02-06 07:25:03,490 - checked_call returned (0, '1aacc56c')
> 2018-02-06 07:25:03,502 - 
> File['/usr/hdp/current/hbase-master/bin/draining_servers.rb'] {'content': 
> StaticFile('draining_servers.rb'), 'mode': 0755}
> 2018-02-06 07:25:03,504 - Execute['/usr/bin/kinit -kt 
> /etc/security/keytabs/hbase.service.keytab hbase/[email protected]; 
> /usr/hdp/current/hbase-master/bin/hbase --config 
> /usr/hdp/current/hbase-master/conf 
> -Djava.security.auth.login.config=/usr/hdp/current/hbase-master/conf/hbase_master_jaas.conf
>  org.jruby.Main /usr/hdp/current/hbase-master/bin/draining_servers.rb add 
> worker1'] {'logoutput': True, 'user': 'hbase'}
> Error: Could not find or load main class org.jruby.Main
> Command failed after 1 tries{code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to