Hive与ES集成过程,错误记录

一、基础准备

1,查看es对应版本,下载版本号一样的jar包, 测试环境用的es7.8.0

下载地址https://jar-download.com/artifacts/org.elasticsearch/elasticsearch-hadoop-hive

2,将下载好的jar包elasticsearch-hadoop-hive-7.8.0.jar上传到hdfs中

 

 

放在存储hive udf的目录下。

3,引入jar包

先查看已经引入的jar包有哪些

list jars;

引入jelasticsearch-hadoop-hive-7.8.0.jar

add jar hdfs://nameservice1/user/hive/udf/elasticsearch-hadoop-hive-7.8.0.jar

创建hive表并导入测试数据

CREATE EXTERNAL TABLE test.dxt_test_to_es (
    order_zhu string,
    order_zi string,
    create_time string,
    jifei_status string,
    fuwufei  string,
    num_id string,
    zhubo_id string,
    neirong_id string,
    zhubo_nick string
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES('es.resource' = 'dxt_test_to_es/info',
    'es.index.auto.create' = 'false',
    'es.nodes' = 'es.xxxx.com',
    'es.nodes.wan.only'='true',
    'es.read.metadata'='true',
    'es.port'='80',
    'es.mapping.names'='order_zhu:order_zhu, order_zi:order_zi, create_time:create_time, jifei_status:jifei_status, fuwufei:fuwufei, num_id:num_id, zhubo_id:zhubo_id, neirong_id:neirong_id, zhubo_nick:zhubo_nick'
    
);

insert overwrite table test.dxt_test_to_es select order_zhu,order_zi,create_time,jifei_status,fuwufei,num_id,zhubo_id,neirong_id,zhubo_nick from v_tese_order

报错1

org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Cannot detect ES version - typically this happens if the network/Elasticsearch cluster is not accessible or when targeting a WAN/Cloud instance without the proper setting 'es.nodes.wan.only'

去linux中使用命令交互方式操作hive,发现是连接es服务超时被拒绝,因为9200被Nginx代理了,不能直接访问9200,通过域名+80端口的方式可以通过。

继续 insert overwrite 

报错2

Task with the most failures(4): 
-----
Task ID:
  task_1602569057109_12652_m_000000

URL:
  http://0.0.0.0:8088/taskdetails.jsp?jobid=job_1602569057109_12652&tipid=task_1602569057109_12652_m_000000
-----
Diagnostic Messages for this Task:
Error: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials
    at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:465)
&nbs

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值