Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

What is it meant by "HiveServer cannot handle concurrent requests from more than one client".

Solved Go to solution
Highlighted

What is it meant by "HiveServer cannot handle concurrent requests from more than one client".

Contributor

1. I have read many places like "HiveServer cannot handle concurrent requests from more than one client" and hence they released Hiverserver2? So, what exact problems are there in Hiveserver1 and how they have resolved in Hiverserver2

2. What is hive thrift client and hive thrift server?

1 ACCEPTED SOLUTION

Accepted Solutions

Re: What is it meant by "HiveServer cannot handle concurrent requests from more than one client".

Hive was essentially a java library that kicks off MapReduce jobs. So the hive cli for example runs a full "server" in its client. If you have multiple clients all of them do their own SQL parsing/optimization etc.

In Hive1 there was a thrift server which was like a proxy server for this. So a thrift ( data serialization framework ) client could connect to it instead of doing all the computations locally.

All of that is not relevant anymore since Hiveserver2 has been the default for many years in all distributions and is a proper database server with concurrency/security/logging/workload management...

You still have the hive client available but this will be deprecated soon in favor of beeline which is a command line client that connects to hiveserver2 through jdbc. This is desirable since the hive cli punches a lot of holes into central hive administration.

So forget about hiveserver1 thrift server and thrift client.

1 REPLY 1

Re: What is it meant by "HiveServer cannot handle concurrent requests from more than one client".

Hive was essentially a java library that kicks off MapReduce jobs. So the hive cli for example runs a full "server" in its client. If you have multiple clients all of them do their own SQL parsing/optimization etc.

In Hive1 there was a thrift server which was like a proxy server for this. So a thrift ( data serialization framework ) client could connect to it instead of doing all the computations locally.

All of that is not relevant anymore since Hiveserver2 has been the default for many years in all distributions and is a proper database server with concurrency/security/logging/workload management...

You still have the hive client available but this will be deprecated soon in favor of beeline which is a command line client that connects to hiveserver2 through jdbc. This is desirable since the hive cli punches a lot of holes into central hive administration.

So forget about hiveserver1 thrift server and thrift client.