You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by "Chabot, Jerry" <je...@hp.com> on 2014/12/18 23:07:02 UTC
What is the proper way to deploy the phoenix views in an HBase
cluster?
I have an HBase cluster comprised of 1 master, and 3 region servers. Zookeeper is running on the master. I have an sql script to create a phoenix view for an underlying HBase table. To date, most of my work has been on a pseudo-distributed HBase node where I ran the sql script on the single node. What is the proper way to deploy the view in a cluster environment? Do I run it on the master only? Do I run it on each of the region servers? I ask because I am running into problems. The query fails with this error:
Dec 18 20:31:22 Caused by: java.sql.SQLException: java.util.concurrent.ExecutionException: java.lang.Exception: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered coprocessor service found for name ServerCachingService in region asset_metadata,,1418927599874.079e3fb502b8e2d5b35166a5acc554be.
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:5616)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3322)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3304)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29591)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2026)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
Dec 18 20:31:22 #011at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
Dec 18 20:31:22 #011at java.lang.Thread.run(Unknown Source)
Dec 18 20:31:22 #011at org.apache.phoenix.cache.ServerCacheClient.addServerCache(ServerCacheClient.java:247) ~[phoenix-core-4.2.1.jar:4.2.1]
Dec 18 20:31:22 #011at org.apache.phoenix.join.HashCacheClient.addHashCache(HashCacheClient.java:78) ~[phoenix-core-4.2.1.jar:4.2.1]
Dec 18 20:31:22 #011at org.apache.phoenix.execute.HashJoinPlan$HashSubPlan.execute(HashJoinPlan.java:370) ~[phoenix-core-4.2.1.jar:4.2.1]
Dec 18 20:31:22 #011at org.apache.phoenix.execute.HashJoinPlan$1.call(HashJoinPlan.java:142) ~[phoenix-core-4.2.1.jar:4.2.1]
Dec 18 20:31:22 #011at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.7.0_51]
Dec 18 20:31:22 #011... 3 more
Dec 18 20:31:22 Caused by: java.util.concurrent.ExecutionException: java.lang.Exception: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered coprocessor service found for name ServerCachingService in region asset_metadata,,1418927599874.079e3fb502b8e2d5b35166a5acc554be.
This environment had Phoenix 4.2.1. I am now trying to install 4.2.2. I recreated the underlying HBase tables before defining the view. I wanted to create the view again on the region server, but ran into a problem with one of the tables. Sqlline.py would hang trying to drop the view. I can view table for other tables.
Any information would be helpful.
Thanks,
-Jerry
Re: What is the proper way to deploy the phoenix views in an HBase cluster?
Posted by James Taylor <ja...@apache.org>.
Hi Jerry,
In upgrading between patch releases (i.e. 4.2.1 - > 4.2.2), there's
nothing you need to do other than:
- replace the jar in all the HBase region server jars with the new one
(make sure to remove the old one)
- use the new jar instead of the old jar on the client side.
- bounce your cluster.
If you've already created your tables/views, they'll still be there.
If not, then you need to execute the SQL DDL commands through a
regular sql client (like sqlline, or a standalone java application,
etc). You connect the client in the regular/standard manner, just like
you always do.
HTH,
James
On Thu, Dec 18, 2014 at 2:07 PM, Chabot, Jerry <je...@hp.com> wrote:
> I have an HBase cluster comprised of 1 master, and 3 region servers.
> Zookeeper is running on the master. I have an sql script to create a phoenix
> view for an underlying HBase table. To date, most of my work has been on a
> pseudo-distributed HBase node where I ran the sql script on the single node.
> What is the proper way to deploy the view in a cluster environment? Do I run
> it on the master only? Do I run it on each of the region servers? I ask
> because I am running into problems. The query fails with this error:
>
>
>
> Dec 18 20:31:22 Caused by: java.sql.SQLException:
> java.util.concurrent.ExecutionException: java.lang.Exception:
> org.apache.hadoop.hbase.exceptions.UnknownProtocolException:
> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered
> coprocessor service found for name ServerCachingService in region
> asset_metadata,,1418927599874.079e3fb502b8e2d5b35166a5acc554be.
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:5616)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3322)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3304)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29591)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2026)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
>
> Dec 18 20:31:22 #011at
> org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
>
> Dec 18 20:31:22 #011at java.lang.Thread.run(Unknown Source)
>
> Dec 18 20:31:22 #011at
> org.apache.phoenix.cache.ServerCacheClient.addServerCache(ServerCacheClient.java:247)
> ~[phoenix-core-4.2.1.jar:4.2.1]
>
> Dec 18 20:31:22 #011at
> org.apache.phoenix.join.HashCacheClient.addHashCache(HashCacheClient.java:78)
> ~[phoenix-core-4.2.1.jar:4.2.1]
>
> Dec 18 20:31:22 #011at
> org.apache.phoenix.execute.HashJoinPlan$HashSubPlan.execute(HashJoinPlan.java:370)
> ~[phoenix-core-4.2.1.jar:4.2.1]
>
> Dec 18 20:31:22 #011at
> org.apache.phoenix.execute.HashJoinPlan$1.call(HashJoinPlan.java:142)
> ~[phoenix-core-4.2.1.jar:4.2.1]
>
> Dec 18 20:31:22 #011at java.util.concurrent.FutureTask.run(Unknown Source)
> ~[?:1.7.0_51]
>
> Dec 18 20:31:22 #011... 3 more
>
> Dec 18 20:31:22 Caused by: java.util.concurrent.ExecutionException:
> java.lang.Exception:
> org.apache.hadoop.hbase.exceptions.UnknownProtocolException:
> org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered
> coprocessor service found for name ServerCachingService in region
> asset_metadata,,1418927599874.079e3fb502b8e2d5b35166a5acc554be.
>
>
>
> This environment had Phoenix 4.2.1. I am now trying to install 4.2.2. I
> recreated the underlying HBase tables before defining the view. I wanted to
> create the view again on the region server, but ran into a problem with one
> of the tables. Sqlline.py would hang trying to drop the view. I can view
> table for other tables.
>
>
>
> Any information would be helpful.
>
>
>
> Thanks,
>
> -Jerry
>
>