2013-07-18 7 views
5

Sono nuovo di Hadoop/hive.i ho installato hadoop e hive.it funzionano bene quando sto usando hive come prompt dei comandi ma quale ho intenzione di implementare JDBC di hive quindi digitare il seguente comando

hive>$HIVE_HOME/bin/hive --service hiveserver 

si metterà subito seguente errore così pls Aiutami come implementare JDBC di alveare pls qualcuno mi può aiutare ...

[email protected]:~$ $HIVE_HOME/bin/hive --service hiveserver 
Starting Hive Thrift Server 
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files. 
org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000. 
    at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:93) 
    at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:75) 
    at org.apache.hadoop.hive.metastore.TServerSocketKeepAlive.<init>(TServerSocketKeepAlive.java:34) 
    at org.apache.hadoop.hive.service.HiveServer.main(HiveServer.java:674) 
    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:616) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 

risposta

6

Questo potrebbe essere perché c'è un altro processo (forse un altro hiveserver) già in ascolto sulla porta 10000. Numero netstat -ntulp | grep ':10000' per vedere che è il caso e k malato il processo elencato lì o avviare il server Thrift su un'altra porta, ad esempio:

hive --service hiveserver -p 10001

+0

Grazie per la risposta cara ma ora sarà ottenere questo problema Exception in thread "pool-1-thread-1" java.lang. OutOfMemoryError: spazio heap Java \t a org.apache.thrift.protocol.TBinaryProtocol.readStringBody (TBinaryProtocol.java:353) \t a org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin (TBinaryProtocol.java:215) \t a org.apache.thrift.TBaseProcessor.process (TBaseProcessor.java:27) \t in org.apache.thrift.server.TThreadPoolServer $ WorkerProcess. run (TThreadPoolServer.java:206) –

+1

Yo può provare ad aumentare le dimensioni dell'heap (impostarlo in 'hive-env.sh'). Tuttavia, ti suggerisco di creare una nuova domanda che includa lo snippet di codice che accede a Hive –