Hi ,

I am using hive version 0.7 ( as suggested by lib/hive-hwi-0.7.0.war) . I
checked out code from svn two weeks back . I use thrift api's to load data
into hive programmatically .

Vaibhav Negi


On Sat, Feb 12, 2011 at 6:06 AM, Viral Bajaria <viral.baja...@gmail.com>wrote:

> We use hive through the thrift api too. I have seen the above error when
> someone accidentally connects to the thrift server port through multiple
> instances of our hive-wrapper code. We open a bunch of hive thrift ports to
> achieve the automation of running multiple hive queries in parallel i.e.
> continuous aggregations.
>
> you need to make sure you are not facing a similar issue because the hive
> thrift server as far as i know is single threaded up until hive 0.5.0 (the
> version that i use). Not too sure if that's been changed in 0.6.0 or higher.
>
> -Viral
>
> On Fri, Feb 11, 2011 at 7:06 AM, Ajo Fod <ajo....@gmail.com> wrote:
>
>> Are you using hive 0.6? ... may be fixed in the latest version.
>>
>> Also I wonder why these thrift libraries are being used ... is this normal
>> hive operation, or can you do something to avoid using thrift?
>>
>> -Ajo
>>
>>
>> On Fri, Feb 11, 2011 at 12:05 AM, vaibhav negi 
>> <sssssssena...@gmail.com>wrote:
>>
>>>
>>> Hi all,
>>>
>>> I am loading data into hive tables by connecting to hiveserver through
>>> thrift api using "load data local inpath ... " query .
>>> Hive server is running as a background process for days . After some 4-5
>>> days hiveserver throws this error :
>>>
>>> 11/02/11 11:20:02 WARN server.TThreadPoolServer: Transport error occurred
>>> during acceptance of message.
>>> org.apache.thrift.transport.TTransportException:
>>> java.net.SocketException: Too many open files
>>>         at
>>> org.apache.thrift.transport.TServerSocket.acceptImpl(TServerSocket.java:124)
>>>         at
>>> org.apache.thrift.transport.TServerSocket.acceptImpl(TServerSocket.java:35)
>>>         at
>>> org.apache.thrift.transport.TServerTransport.accept(TServerTransport.java:31)
>>>         at
>>> org.apache.thrift.server.TThreadPoolServer.serve(TThreadPoolServer.java:184)
>>>         at
>>> org.apache.hadoop.hive.service.HiveServer.main(HiveServer.java:388)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>         at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
>>> Caused by: java.net.SocketException: Too many open files
>>>         at java.net.PlainSocketImpl.socketAccept(Native Method)
>>>         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
>>>         at java.net.ServerSocket.implAccept(ServerSocket.java:453)
>>>         at java.net.ServerSocket.accept(ServerSocket.java:421)
>>>         at
>>> org.apache.thrift.transport.TServerSocket.acceptImpl(TServerSocket.java:119)
>>>         ... 9 more
>>>
>>> I checked network connections using netstat and it show about 1000 active
>>> network connections, most of them to hadoop datanode . Output is attached as
>>> netstat.out
>>>
>>> after i restarted hiveserver network connections falls to about 20 .
>>> output is attached as netstat_after_HS_restart.out
>>>
>>> Is this a problem with hive or hadoop configuration ?
>>>
>>> Vaibhav Negi
>>>
>>
>>
>

Reply via email to