You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Vishal Khandelwal (JIRA)" <ji...@apache.org> on 2016/02/05 07:04:40 UTC

[jira] [Created] (HBASE-15216) Canary does not accepts few client config param from commandline( it should only be present in hbase-site.xml)

Vishal Khandelwal created HBASE-15216:
-----------------------------------------

             Summary: Canary does not accepts few client config param from commandline( it should only be present in hbase-site.xml)
                 Key: HBASE-15216
                 URL: https://issues.apache.org/jira/browse/HBASE-15216
             Project: HBase
          Issue Type: Bug
          Components: canary
    Affects Versions: 0.98.16
            Reporter: Vishal Khandelwal


At present there are few configs which needs to be present in  hbase-site or default xml for it to work. following are the list.
hbase.canary.threads.num
hbase.canary.sink.class
hbase.client.keytab.file
hbase.client.kerberos.principal

Execution in secure expects keytab and princ to be present 
2016-02-05 05:58:44,024 ERROR [main] hbase.AuthUtil - Error while trying to perform the initial login: Running in secure mode, but config doesn't have a keytab
java.io.IOException: Running in secure mode, but config doesn't have a keytab
	at org.apache.hadoop.security.SecurityUtil.login(SecurityUtil.java:236)
	at org.apache.hadoop.hbase.security.User$SecureHadoopUser.login(User.java:392)
	at org.apache.hadoop.hbase.security.User.login(User.java:259)
	at org.apache.hadoop.hbase.security.UserProvider.login(UserProvider.java:116)
	at org.apache.hadoop.hbase.AuthUtil.launchAuthChore(AuthUtil.java:64)
	at org.apache.hadoop.hbase.tool.Canary.main(Canary.java:1146)
Exception in thread "main" java.io.IOException: Running in secure mode, but config doesn't have a keytab
	at org.apache.hadoop.security.SecurityUtil.login(SecurityUtil.java:236)
	at org.apache.hadoop.hbase.security.User$SecureHadoopUser.login(User.java:392)
	at org.apache.hadoop.hbase.security.User.login(User.java:259)
	at org.apache.hadoop.hbase.security.UserProvider.login(UserProvider.java:116)
	at org.apache.hadoop.hbase.AuthUtil.launchAuthChore(AuthUtil.java:64)
	at org.apache.hadoop.hbase.tool.Canary.main(Canary.java:1146)


public static void main(String[] args) throws Exception {
    final Configuration conf = HBaseConfiguration.create();
    AuthUtil.launchAuthChore(conf);
    int numThreads = conf.getInt("hbase.canary.threads.num", MAX_THREADS_NUM);
    ExecutorService executor = new ScheduledThreadPoolExecutor(numThreads);

    Class<? extends Sink> sinkClass =
        conf.getClass("hbase.canary.sink.class", StdOutSink.class, Sink.class);
    Sink sink = ReflectionUtils.newInstance(sinkClass);

    int exitCode = ToolRunner.run(conf, new Canary(executor, sink), args);
    executor.shutdown();
    System.exit(exitCode);
  }

In main class these params should be parsed and updated. else for any change to these value hbase-stie.xml needs to be updated and hbase service needs to be restarted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)