To follow… I found out that the Phoenix interpreter doesn’t pass credentials. I see in the interpreter logs that it is using zeppelin as the user. Is there a way to pass credentials?
Thanks, Ben > On Jul 14, 2016, at 8:08 PM, Benjamin Kim <bbuil...@gmail.com> wrote: > > I recently enabled simple authentication and secure authorization in HBase to > use LDAP for getting credentials. It works fine using HBase shell and the > Phoenix client to access HBase tables and data. Of course, I had to grant > permissions first. But now, I can’t do the same using Zeppelin’s JDBC Phoenix > Interpreter. I tried putting my username and password in the settings, but > still it doesn’t work. Does anyone how to make this work? > > Here is the stack trace. > > class org.apache.phoenix.exception.PhoenixIOException > org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108) > org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:889) > org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1223) > org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:113) > org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1937) > org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:751) > org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:186) > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:320) > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:312) > org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:310) > org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1422) > org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1927) > org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1896) > org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77) > org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1896) > org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:180) > org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:132) > org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:151) > java.sql.DriverManager.getConnection(DriverManager.java:664) > java.sql.DriverManager.getConnection(DriverManager.java:208) > org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:222) > org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233) > org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292) > org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396) > org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94) > org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341) > org.apache.zeppelin.scheduler.Job.run(Job.java:176) > org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162) > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > java.util.concurrent.FutureTask.run(FutureTask.java:266) > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > java.lang.Thread.run(Thread.java:745) > > Thanks, > Ben > >