hive --service hiveserver2 报错thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error:

今天启动hive,想用squirrel-sql客户端连接hive,报错一直如下

2018-08-28 09:31:55,881 INFO  [main]: service.AbstractService (AbstractService.java:start(104)) - Service:HiveServer2 is started.
2018-08-28 09:31:56,070 ERROR [Thread-7]: thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error: 
java.lang.NoSuchMethodError: org.apache.thrift.server.TThreadPoolServer$Args.requestTimeout(I)Lorg/apache/thrift/server/TThreadPoolServer$Args;
        at org.apache.hive.service.cli.thrift.ThriftBinaryCLIService.run(ThriftBinaryCLIService.java:99)
        at java.lang.Thread.run(Thread.java:748)
2018-08-28 09:31:56,074 INFO  [Thread-3]: server.HiveServer2 (HiveStringUtils.java:run(623)) - SHUTDOWN_MSG: 
/************************************************************

解决思路: 基本原因是jar包问题--libthrift-*.jar

先去$HIVE_HOME/logs下面看启动日志:

hive --service hiveserver2 报错thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error:_第1张图片

如果args=[],请检查hive-env.sh是否配置正确,以下是我的配置

# Set HADOOP_HOME to point to a specific hadoop install directory
# HADOOP_HOME=${bin}/../../hadoop
HADOOP_HOME=/home/ocetl/app/hadoop-2.5.0-cdh5.2.1
ZOOKEEPER_HOME=/home/ocetl/app/zookeeper-3.4.5-cdh5.8.0
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/ocetl/app/hive-0.13.1-cdh5.2.1/conf

export JAVA_HOME=/home/ocetl/app/jdk1.8.0_161

export HADOOP_HEAPSIZE=1024
export HIVE_HOME=/home/ocetl/app/hive-0.13.1-cdh5.2.1

export HIVE_AUX_JARS_PATH=/home/ocetl/app/hive-0.13.1-cdh5.2.1/lib
 

 

上面是正确的日志,下面是错误日志:

hive --service hiveserver2 报错thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error:_第2张图片

下面看下这两行的代码,这里的代码我反编译出来的:

    public void run()
    {
        try
        {
            hiveAuthFactory = new HiveAuthFactory();
            TTransportFactory transportFactory = hiveAuthFactory.getAuthTransFactory();
            TProcessorFactory processorFactory = hiveAuthFactory.getAuthProcFactory(this);
            String portString = System.getenv("HIVE_SERVER2_THRIFT_PORT");
            if(portString != null)
                portNum = Integer.valueOf(portString).intValue();
            else
                portNum = hiveConf.getIntVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_THRIFT_PORT);
            String hiveHost = System.getenv("HIVE_SERVER2_THRIFT_BIND_HOST");
            if(hiveHost == null)
                hiveHost = hiveConf.getVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_THRIFT_BIND_HOST);
            if(hiveHost != null && !hiveHost.isEmpty())
                serverAddress = new InetSocketAddress(hiveHost, portNum);
            else
                serverAddress = new InetSocketAddress(portNum);
            minWorkerThreads = hiveConf.getIntVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_THRIFT_MIN_WORKER_THREADS);
            maxWorkerThreads = hiveConf.getIntVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_THRIFT_MAX_WORKER_THREADS);
            workerKeepAliveTime = hiveConf.getTimeVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_THRIFT_WORKER_KEEPALIVE_TIME, TimeUnit.SECONDS);
            requestTimeout = hiveConf.getIntVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_THRIFT_LOGIN_TIMEOUT);
            String threadPoolName = "HiveServer2-Handler-Pool";
            ExecutorService executorService = new ThreadPoolExecutor(minWorkerThreads, maxWorkerThreads, workerKeepAliveTime, TimeUnit.SECONDS, new SynchronousQueue(), new ThreadFactoryWithGarbageCleanup(threadPoolName));
            TServerSocket serverSocket = null;
            List sslVersionBlacklist = new ArrayList();
            String arr$[] = hiveConf.getVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SSL_PROTOCOL_BLACKLIST).split(",");
            int len$ = arr$.length;
            for(int i$ = 0; i$ < len$; i$++)
            {
                String sslVersion = arr$[i$];
                sslVersionBlacklist.add(sslVersion);
            }

            if(!hiveConf.getBoolVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_USE_SSL))
            {
                serverSocket = HiveAuthFactory.getServerSocket(hiveHost, portNum);
            } else
            {
                String keyStorePath = hiveConf.getVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_SSL_KEYSTORE_PATH).trim();
                if(keyStorePath.isEmpty())
                    throw new IllegalArgumentException((new StringBuilder()).append(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_SSL_KEYSTORE_PATH.varname).append(" Not configured for SSL connection").toString());
                serverSocket = HiveAuthFactory.getServerSSLSocket(hiveHost, portNum, keyStorePath, hiveConf.getVar(org.apache.hadoop.hive.conf.HiveConf.ConfVars.HIVE_SERVER2_SSL_KEYSTORE_PASSWORD), sslVersionBlacklist);
            }
            org.apache.thrift.server.TThreadPoolServer.Args sargs = ((org.apache.thrift.server.TThreadPoolServer.Args)((org.apache.thrift.server.TThreadPoolServer.Args)((org.apache.thrift.server.TThreadPoolServer.Args)(new org.apache.thrift.server.TThreadPoolServer.Args(serverSocket)).processorFactory(processorFactory)).transportFactory(transportFactory)).protocolFactory(new org.apache.thrift.protocol.TBinaryProtocol.Factory())).requestTimeout(requestTimeout).executorService(executorService);
            server = new TThreadPoolServer(sargs);
            LOG.info((new StringBuilder()).append("ThriftBinaryCLIService listening on ").append(serverAddress).toString());
            server.serve();
        }
        catch(Throwable t)
        {
            LOG.error("Error: ", t);
        }
    }

    private int requestTimeout;

其实代码细节我也没看明白,可以看出来出错的问题就是因为这个内部类org.apache.thrift.server.TThreadPoolServer.Args

我搞了一天,感觉正确的方法是,检查/home/ocetl/app/hadoop-2.5.0-cdh5.2.1/share/hadoop/yarn/lib下面有没有libthrift-0.9.0-cdh5-2.jar,根据个人的版本来,我有以下几个建议

1:保持hive的lib下面的libthrift.jar和yarn的lib下面的jar包一致

2:如果一致还错误的话,可以选择更换新的libthrift.jar 试一试

hive --service hiveserver2 报错thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error:_第3张图片

检查其他目录

 

hive --service hiveserver2 报错thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error:_第4张图片

主要是

这两个包里面不要有

libthrift-0.9.0-cdh5-2.jar

我的hive/lib

-rw-r--r--.  1 ocetl hadoop    62983 Jun 14  2014 activation-1.1.jar
-rw-r--r--.  1 ocetl hadoop  1997485 Jun 18  2014 ant-1.9.1.jar
-rw-r--r--.  1 ocetl hadoop    18336 Jun 18  2014 ant-launcher-1.9.1.jar
-rw-r--r--.  1 ocetl hadoop   445288 Jun 14  2014 antlr-2.7.7.jar
-rw-r--r--.  1 ocetl hadoop   164368 Jun 14  2014 antlr-runtime-3.4.jar
-rw-r--r--.  1 ocetl hadoop     4467 Jun 14  2014 aopalliance-1.0.jar
-rw-r--r--.  1 ocetl hadoop    43398 Jun 14  2014 asm-3.2.jar
-rw-r--r--.  1 ocetl hadoop    32693 Jun 18  2014 asm-commons-3.1.jar
-rw-r--r--.  1 ocetl hadoop    21879 Jun 18  2014 asm-tree-3.1.jar
-rw-r--r--.  1 ocetl hadoop   436228 Nov 20  2014 avro-1.7.6-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   110600 Jul 29  2014 bonecp-0.8.0.RELEASE.jar
-rw-r--r--.  1 ocetl hadoop    41123 Jun 14  2014 commons-cli-1.2.jar
-rw-r--r--.  1 ocetl hadoop    58160 Jun 14  2014 commons-codec-1.4.jar
-rw-r--r--.  1 ocetl hadoop   241367 Jun 14  2014 commons-compress-1.4.1.jar
-rw-r--r--.  1 ocetl hadoop   279781 Jun 14  2014 commons-httpclient-3.0.1.jar
-rw-r--r--.  1 ocetl hadoop   185140 Jun 14  2014 commons-io-2.4.jar
-rw-r--r--.  1 ocetl hadoop   284220 Jun 14  2014 commons-lang-2.6.jar
-rw-r--r--.  1 ocetl hadoop   315805 Jun 14  2014 commons-lang3-3.1.jar
-rw-r--r--.  1 ocetl hadoop    62050 Jun 14  2014 commons-logging-1.1.3.jar
-rw-r--r--.  1 ocetl hadoop   339666 Jul 29  2014 datanucleus-api-jdo-3.2.6.jar
-rw-r--r--.  1 ocetl hadoop  1890075 Jul 29  2014 datanucleus-core-3.2.10.jar
-rw-r--r--.  1 ocetl hadoop  1809447 Jul 29  2014 datanucleus-rdbms-3.2.9.jar
-rw-r--r--.  1 ocetl hadoop  2831358 Jun 14  2014 derby-10.10.1.1.jar
-rw-r--r--.  1 ocetl hadoop    12452 Jun 18  2014 geronimo-annotation_1.0_spec-1.1.1.jar
-rw-r--r--.  1 ocetl hadoop    30548 Jun 18  2014 geronimo-jaspic_1.0_spec-1.0.jar
-rw-r--r--.  1 ocetl hadoop    16030 Jun 14  2014 geronimo-jta_1.1_spec-1.1.1.jar
-rw-r--r--.  1 ocetl hadoop  6377448 Jun 14  2014 groovy-all-2.1.6.jar
-rw-r--r--.  1 ocetl hadoop  1795932 May 21  2016 guava-12.0.1.jar
-rw-r--r--.  1 ocetl hadoop   710492 Jun 14  2014 guice-3.0.jar
-rw-r--r--.  1 ocetl hadoop    65012 Jun 14  2014 guice-servlet-3.0.jar
-rw-r--r--.  1 ocetl hadoop  1606825 Nov 20  2014 hadoop-yarn-api-2.5.0-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop  1426732 Nov 20  2014 hadoop-yarn-common-2.5.0-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   149227 Nov 20  2014 hadoop-yarn-server-applicationhistoryservice-2.5.0-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   264332 Nov 20  2014 hadoop-yarn-server-common-2.5.0-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   964331 Nov 20  2014 hadoop-yarn-server-resourcemanager-2.5.0-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    34930 Nov 20  2014 hadoop-yarn-server-web-proxy-2.5.0-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    76643 Jun 14  2014 hamcrest-core-1.1.jar
-rw-r--r--.  1 ocetl hadoop   929456 May 21  2016 hbase-client-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop   442406 May 21  2016 hbase-common-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop   172539 May 21  2016 hbase-common-0.98.6.1-tests.jar
-rw-r--r--.  1 ocetl hadoop   105879 May 21  2016 hbase-examples-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop    74019 May 21  2016 hbase-hadoop2-compat-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop    32966 May 21  2016 hbase-hadoop-compat-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop    12198 May 21  2016 hbase-it-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop   357802 May 21  2016 hbase-it-0.98.6.1-tests.jar
-rw-r--r--.  1 ocetl hadoop    98051 May 21  2016 hbase-prefix-tree-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop  3501750 May 21  2016 hbase-protocol-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop  3632759 May 21  2016 hbase-server-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop  4043227 May 21  2016 hbase-server-0.98.6.1-tests.jar
-rw-r--r--.  1 ocetl hadoop    12363 May 21  2016 hbase-shell-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop    10978 May 21  2016 hbase-testing-util-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop  2359153 May 21  2016 hbase-thrift-0.98.6.1.jar
-rw-r--r--.  1 ocetl hadoop    95975 May 21  2016 high-scale-lib-1.1.1.jar
-rw-r--r--.  1 ocetl hadoop    37253 Nov 20  2014 hive-ant-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   122111 Nov 20  2014 hive-beeline-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    37474 Nov 20  2014 hive-cli-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   184759 Nov 20  2014 hive-common-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   121625 Nov 20  2014 hive-contrib-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop 15520359 Nov 20  2014 hive-exec-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    68890 Nov 20  2014 hive-hbase-handler-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    27530 Nov 20  2014 hive-hwi-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    47966 Jun 17  2016 hive-hwi-1.3.0.war
-rw-r--r--.  1 ocetl hadoop   136573 Nov 20  2014 hive-jdbc-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop  4693673 Nov 20  2014 hive-metastore-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop   746524 Nov 20  2014 hive-serde-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop  1906056 Nov 20  2014 hive-service-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop     8855 Nov 20  2014 hive-shims-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    45595 Nov 20  2014 hive-shims-0.23-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    39953 Nov 20  2014 hive-shims-common-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    77705 Nov 20  2014 hive-shims-common-secure-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    12989 Nov 20  2014 hive-shims-scheduler-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    12139 Nov 20  2014 hive-testutils-0.13.1-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop    31532 May 21  2016 htrace-core-2.04.jar
-rw-r--r--.  1 ocetl hadoop   433368 Jun 14  2014 httpclient-4.2.5.jar
-rw-r--r--.  1 ocetl hadoop   227708 Jun 14  2014 httpcore-4.2.5.jar
-rw-r--r--.  1 ocetl hadoop     2497 Jun 14  2014 javax.inject-1.jar
-rw-r--r--.  1 ocetl hadoop   201124 Jun 14  2014 jdo-api-3.0.1.jar
-rw-r--r--.  1 ocetl hadoop   130458 Jun 14  2014 jersey-client-1.9.jar
-rw-r--r--.  1 ocetl hadoop    14786 Jun 14  2014 jersey-guice-1.9.jar
-rw-r--r--.  1 ocetl hadoop   600146 Jun 18  2014 jersey-server-1.14.jar
-rw-r--r--.  1 ocetl hadoop   125573 Jun 18  2014 jersey-servlet-1.14.jar
-rw-r--r--.  1 ocetl hadoop   539912 Jun 14  2014 jetty-6.1.26.jar
-rw-r--r--.  1 ocetl hadoop  1681148 Jul 29  2014 jetty-all-7.6.0.v20120127.jar
-rw-r--r--.  1 ocetl hadoop   177131 Jun 14  2014 jetty-util-6.1.26.jar
-rw-r--r--.  1 ocetl hadoop    87325 Jun 14  2014 jline-0.9.94.jar
-rw-r--r--.  1 ocetl hadoop    12131 Jul 29  2014 jpam-1.1.jar
-rw-r--r--.  1 ocetl hadoop    33015 Jun 14  2014 jsr305-1.3.9.jar
-rw-r--r--.  1 ocetl hadoop    15071 Jun 14  2014 jta-1.1.jar
-rw-r--r--.  1 ocetl hadoop   253160 Jun 14  2014 junit-4.10.jar
-rw-r--r--.  1 ocetl hadoop  1045744 Sep  3  2014 leveldbjni-all-1.8.jar
-rw-r--r--.  1 ocetl hadoop   275186 Jun 14  2014 libfb303-0.9.0.jar
-rw-r--r--.  1 ocetl hadoop   348651 Sep 12  2014 libthrift-0.9.0.jar
-rw-r--r--.  1 ocetl hadoop   481535 Jun 14  2014 log4j-1.2.16.jar
-rw-r--r--.  1 ocetl hadoop   447676 Jun 18  2014 mail-1.4.1.jar
-rw-r--r--.  1 ocetl hadoop   767492 May 20  2016 mysql-connector-java-5.1.13.jar_bak
-rw-r--r--.  1 ocetl hadoop   848399 Jul 14  2017 mysql-connector-java-5.1.25.jar
-rw-r--r--.  1 ocetl hadoop    19827 Jun 14  2014 opencsv-2.3.jar
-rw-r--r--.  1 ocetl hadoop    65261 Jun 14  2014 oro-2.0.8.jar
-rw-r--r--.  1 ocetl hadoop    29555 Jun 14  2014 paranamer-2.3.jar
drwxr-xr-x.  6 ocetl hadoop     4096 Aug 27 21:22 php
-rw-r--r--.  1 ocetl hadoop   533455 May 21  2016 protobuf-java-2.5.0.jar
drwxr-xr-x. 10 ocetl hadoop     4096 Aug 27 21:22 py
-rw-r--r--.  1 ocetl hadoop   134133 Jun 14  2014 servlet-api-2.5-20081211.jar
-rw-r--r--.  1 ocetl hadoop   105112 Jun 14  2014 servlet-api-2.5.jar
-rw-r--r--.  1 ocetl hadoop   995968 Jun 14  2014 snappy-java-1.0.4.1.jar
-rw-r--r--.  1 ocetl hadoop   236660 Jun 14  2014 ST4-4.0.4.jar
-rw-r--r--.  1 ocetl hadoop    26514 Jun 14  2014 stax-api-1.0.1.jar
-rw-r--r--.  1 ocetl hadoop   148627 Jun 14  2014 stringtemplate-3.2.1.jar
-rw-r--r--.  1 ocetl hadoop    93210 Sep 12  2014 super-csv-2.2.0.jar
-rw-r--r--.  1 ocetl hadoop    55953 Jun 18  2014 tempus-fugit-1.1.jar
-rw-r--r--.  1 ocetl hadoop 15255931 Jun 17  2016 tools.jar
-rw-r--r--.  1 ocetl hadoop   392124 Jun 14  2014 velocity-1.5.jar
-rw-r--r--.  1 ocetl hadoop    94672 Jun 14  2014 xz-1.0.jar
-rw-r--r--.  1 ocetl hadoop  1351711 Nov 20  2014 zookeeper-3.4.5-cdh5.2.1.jar
-rw-r--r--.  1 ocetl hadoop  1352155 Aug  8  2016 zookeeper-3.4.5-cdh5.8.0.jar

然后重启hadoop集群

下载libthrift-0.9.0-cdh5-2.jar 论坛有

你可能感兴趣的:(hive --service hiveserver2 报错thrift.ThriftCLIService (ThriftBinaryCLIService.java:run(113)) - Error:)