目前,我只尝试执行一个从Hive到ElasticSearch的"SELECT * FROM table“。我使用cloudera CDH 6.0.1。我已经将elasticsearch-hadoop-hive7.1.1 jar添加到了我的蜂巢路径中。我有ElasticSearch 7.1.1,cloudera堆栈和弹性运行在不同的服务器上,但在同一个网络中。
CREATE EXTERNAL TABLE ctrl_rater_resumen_lla_es
(
fecha_registro string,
direccion string,
linea_b_codigo_prestadora string,
linea_b_tipo_numero string,
es_roaming string,
call_duration string,
linea_b_routing_number string,
minutos string, fecha string
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES (
'es.resource' = 'ctrl_rater_resumen_lla/hb',
'es.node' = 'http://10.129.x.xxx',
'es.port' = '9200',
'es.index.auto.create' = 'true',
'es.index.read.missing.as.empty' = 'true',
'es.nodes.discovery'='true',
'es.net.ssl'='false'
'es.nodes.client.only'='false',
'es.nodes.wan.only' = 'true'
'es.net.http.auth.user'='xxxxx',
'es.net.http.auth.pass' = 'xxxxx'
);成功地创建了
SELECT * FROM ctrl_rater_resumen_lla_es;请求请求( operationHandle=TOperationHandle(hasResultSet=True,TFetchResultsReq,fetchType=0,modifiedRowCount=None,operationType=0,operationId=THandleIdentifier(secret='\xbaYG*\xd4wI\xc0\xb8\xf6\x94Q\xa3\xa4IY',guid='\xff\xca\xdb\xb5\x040E\x0e\x8eE\xe4\xf7?t\x1b\x01')),orientation=4,maxRows=100):TFetchResultsResp(status=TStatus(errorCode=0 )org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:“java.io.IOException: infoMessages=["*org.apache.hive.service.cli.HiveSQLException:java.io.IOException: org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:无法检测ES版本--通常情况下,如果网络/Elasticsearch集群无法访问,或者在没有正确设置‘es.nodes.wan.only’的情况下以WAN/Cloud实例为目标时,sqlState=None、infoMessages=[”*org.apache.hive.service.cli.HiveSQLException:java.io.IOException:org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:无法检测ES版本--通常情况下,如果网络/Elasticsearch群集无法访问,或者在没有正确设置‘es.nodes.wan.Only’:25:24‘的情况下针对WAN/errorMessage=实例,则会发生这种情况。'org.apache.hive.service.cli.operation.SQLOperation:getNextRowSet:SQLOperation.java:492','org.apache.hive.service.cli.operation.OperationManager:getOperationNextRowSet:OperationManager.java:297','org.apache.hive.service.cli.session.HiveSessionImpl:fetchResults:HiveSessionImpl.java:852','sun.reflect.GeneratedMethodAccessor24:invoke::-1','sun.reflect.DelegatingMethodAccessorImpl:invoke:DelegatingMethodAccessorImpl.java:43','java.lang.reflect.Method:invoke:Method.java:498','org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:78','org.apache.hive.service.cli.session.HiveSessionProxy:access$000:HiveSessionProxy.java:36','org.apache.hive.service.cli.session.HiveSessionProxy$1:run:HiveSessionProxy.java:63','java.security.AccessController:doPrivileged:AccessController.java:-2','javax.security.auth.Subject:doAs:Subject.java:422','org.apache.hadoop.security.UserGroupInformation:doAs:UserGroupInformation.java:1726','org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:59',‘com.sun.agent.$Proxy38:fetchResults:-1’,'org.apache.hive.service.cli.CLIService:fetchResults:CLIService.java:505','org.apache.hive.service.cli.thrift.ThriftCLIService:FetchResults:ThriftCLIService.java:702','org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults:getResult:TCLIService.java:1717','org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults:getResult:TCLIService.java:1702','org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39','org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java:39','org.apache.hive.service.auth.TSetIpAddressProcessor:process:TSetIpAddressProcessor.java:56','org.apache.thrift.server.TThreadPoolServer$WorkerProcess:run:TThreadPoolServer.java:286','java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149','java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624','java.lang.Thread:run:Thread.java:748',"*java.io.IOException:org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:无法检测ES版本--通常情况下,如果网络/Elasticsearch集群无法访问,或者在没有正确设置“es.nodes.wan.only:29:4”的情况下,则会针对WAN/Cloud实例,'org.apache.hadoop.hive.ql.exec.FetchOperator:getNextRow:FetchOperator.java:521','org.apache.hadoop.hive.ql.exec.FetchOperator:pushRow:FetchOperator.java:428','org.apache.hadoop.hive.ql.exec.FetchTask:fetch:FetchTask.java:146','org.apache.hadoop.hive.ql.Driver:getResults:Driver.java:2196','org.apache.hive.service.cli.operation.SQLOperation:getNextRowSet:SQLOperation.java:487',"*org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:Cannot检测ES版本-通常情况下,如果无法访问网络/Elasticsearch集群,或者在没有正确设置“es.nodes.wan.only”:35:6的情况下针对广域网/云实例时,就会发生这种情况。'org.elasticsearch.hadoop.hive.EsHiveInputFormat:getSplits:EsHiveInputFormat.java:51','org.apache.hadoop.hive.ql.exec.FetchOperator:getNextSplits:FetchOperator.java:372','org.apache.hadoop.hive.ql.exec.FetchOperator:getRecordReader:FetchOperator.java:304','org.apache.hadoop.hive.ql.exec.FetchOperator:getNextRow:FetchOperator.java:459','*org.elasticsearch.hadoop.rest.EsHadoopNoNodesLeftException:Connection错误(检查网络和/或代理设置)-所有节点都失败;尝试[本地主机:9200] :41:6','org.elasticsearch.hadoop.rest.NetworkClient:execute:NetworkClient.java:152','org.elasticsearch.hadoop.rest.RestClient:execute:RestClient.java:424','org.elasticsearch.hadoop.rest.RestClient:execute:RestClient.java:388','org.elasticsearch.hadoop.rest.RestClient:execute:RestClient.java:392','org.elasticsearch.hadoop.rest.RestClient:get:RestClient.java:168',( 'org.elasticsearch.hadoop.rest.RestClient:mainInfo:RestClient.java:735','org.elasticsearch.hadoop.rest.InitializationUtils:discoverClusterInfo:InitializationUtils.java:330'],statusCode=3),results=None,hasMoreRows=None)
发布于 2019-07-23 08:52:36
https://stackoverflow.com/questions/57154092
复制相似问题