zoukankan      html  css  js  c++  java
  • hive创建ES外部表过程中的问题

    一、缺少jar包:httpclient

    报错:

    "HiveServer2-Handler-Pool: Thread-696" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/protocol/ProtocolSocketFactory

    需要加载commons-httpclient-3.1.jar

    二、缺少jar包:eshadoop

    报错:

    FAILED: SemanticException Cannot find class 'org.elasticsearch.hadoop.hive.EsStorageHandler'

    需要加载与正在使用的ES版本相同的版本号的:elasticsearch-hadoop-7.6.1.jar

    三、在hive创建ES外表之后无法正常查询

      报错:

    Error: java.io.IOException: org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Expected to find keystore file at [hdfs:///path/to/esh.keystore] but was unable to. Make sure that it is available on the classpath, or if not, that you have specified a valid file URI. (state=,code=0)

       这里使用的是将keystore放在hdfs上的方式,

      在建表语句中需要指定属性:'es.nodes.wan.only'='true',

    具体解释:

    配置“es.nodes.wan.only”在https://www.elastic.co/guide/en/elasticsearch/hadoop/master/configuration.html可以找到其详细的信息:    

        其意思也就是通过公网我访问云上或者一些限制性网络上的ES实例时,如AWS,通过声明该配置就会禁用发现其它节点的行为,后续的读和写都只会通过这个指定的节点进行操作,增加了该属性就可以访问云上或者受限制网络中的ES,但是也因为读写都是通过这个节点,因而性能上会受到比较大的影响。

    参考:https://blog.csdn.net/fenglibing/article/details/80478551

    四、从本地加载keystore

  • 相关阅读:
    p_value
    p_value
    第一次差异分析
    fdr
    rpkm&map
    rpkm&map
    s
    python数据处理小函数集合
    Jupyter Notebook 的快捷键
    自由度degree of freedom
  • 原文地址:https://www.cnblogs.com/1394htw/p/13037124.html
Copyright © 2011-2022 走看看