I upgraded our cluster from 4.2.2 to 4.6.

After a few hiccups, everything seems to be working: I can connect and interact 
with the DB using Aqua Studio. My web stuff that queries Phoenix works, using 
the new client jar. My java code to connect and interact with the DB works, 
using the new client jar, etc.

With one exception: Csv Bulk Upload does not work with the new client jar - 
only with the old one (4.2.2.blah).

On my edge node, where I run this from, I upgraded phoenix using the same 
script. /usr/hdp/current/phoenix-client now points to a folder full of 4.6 
stuff. Permissions all seem to be correct. However, the command below fails 
with the error below.

If I replace the reference to the (4.6) phoenix-client.jar and point explicitly 
to the old 4.2 client jar, it still works.

Any ideas or suggestions?

Thanks!



HADOOP_CLASSPATH=/usr/hdp/current/hbase-master/conf/:/usr/hdp/current/hbase-master/lib/hbase-protocol.jar
 hadoop jar /usr/hdp/current/phoenix-client/phoenix-client.jar 
org.apache.phoenix.mapreduce.CsvBulkLoadTool -Dfs.permissions.umask-mode=000 
--z <server info> --table <table> --input <input>

15/12/08 15:37:01 INFO zookeeper.ZooKeeper: Initiating client connection, 
connectString=<connect string> sessionTimeout=120000 
watcher=hconnection-0x7728c6760x0, quorum=<stuff>
15/12/08 15:37:01 INFO zookeeper.ClientCnxn: Opening socket connection to .... 
Will not attempt to authenticate using SASL (unknown error)
15/12/08 15:37:01 INFO zookeeper.ClientCnxn: Socket connection established to 
..., initiating session
15/12/08 15:37:01 INFO zookeeper.ClientCnxn: Session establishment complete on 
server..., sessionid = 0x25110076f7fbf25, negotiated timeout = 40000
15/12/08 15:37:01 INFO client.HConnectionManager$HConnectionImplementation: 
Closing master protocol: MasterService
15/12/08 15:37:01 INFO client.HConnectionManager$HConnectionImplementation: 
Closing zookeeper sessionid=0x25110076f7fbf25
15/12/08 15:37:01 INFO zookeeper.ZooKeeper: Session: 0x25110076f7fbf25 closed
15/12/08 15:37:01 INFO zookeeper.ClientCnxn: EventThread shut down
15/12/08 15:37:01 INFO client.HConnectionManager$HConnectionImplementation: 
Closing zookeeper sessionid=0x35102a35baf2c0c
15/12/08 15:37:01 INFO zookeeper.ZooKeeper: Session: 0x35102a35baf2c0c closed
15/12/08 15:37:01 INFO zookeeper.ClientCnxn: EventThread shut down
Exception in thread "main" java.sql.SQLException: ERROR 2006 (INT08): 
Incompatible jars detected between client and server. Ensure that phoenix.jar 
is put on the classpath of HBase in every region server: 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos$MetaRegionServer.hasState()Z
                at 
org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:396)
                at 
org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.checkClientServerCompatibility(ConnectionQueryServicesImpl.java:1000)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:879)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1225)
                at 
org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:113)
                at 
org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2013)
                at 
org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:785)
                at 
org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:186)
                at 
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:319)
                at 
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:311)
                at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
                at 
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:309)
                at 
org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1368)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1929)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1898)
                at 
org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1898)
                at 
org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:180)
                at 
org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:132)
                at 
org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:151)
                at java.sql.DriverManager.getConnection(DriverManager.java:571)
                at java.sql.DriverManager.getConnection(DriverManager.java:187)
                at 
org.apache.phoenix.util.QueryUtil.getConnection(QueryUtil.java:301)
                at 
org.apache.phoenix.util.QueryUtil.getConnection(QueryUtil.java:292)
                at 
org.apache.phoenix.mapreduce.CsvBulkLoadTool.loadData(CsvBulkLoadTool.java:211)
                at 
org.apache.phoenix.mapreduce.CsvBulkLoadTool.run(CsvBulkLoadTool.java:184)
                at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
                at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
                at 
org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:99)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:606)
                at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
                at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.NoSuchMethodError: 
org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos$MetaRegionServer.hasState()Z
                at 
org.apache.hadoop.hbase.zookeeper.MetaRegionTracker.getMetaRegionState(MetaRegionTracker.java:219)
                at 
org.apache.hadoop.hbase.zookeeper.MetaRegionTracker.blockUntilAvailable(MetaRegionTracker.java:204)
                at 
org.apache.hadoop.hbase.client.ZooKeeperRegistry.getMetaRegionLocation(ZooKeeperRegistry.java:58)
                at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1157)
                at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1249)
                at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1160)
                at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1117)
                at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionLocation(HConnectionManager.java:958)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.getAllTableRegions(ConnectionQueryServicesImpl.java:439)
                at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.checkClientServerCompatibility(ConnectionQueryServicesImpl.java:953)
                ... 33 more

Reply via email to