elasticsearch-hadoop.jar 6.8版本编译异常

背景

重新编译 elasticsearch-hadoop 包;

GitHub - elastic/elasticsearch-hadoop at 6.8

编译 7.17 版本时很正常,注意设置下环境变量就好,JAVA8_HOME/....

编译 6.8 版本时(要求jdk8 / jdk9),出现异常

  1. Could not resolve org.springframework.build.gradle:propdeps-plugin:0.0.7.

  2. Could not resolve cascading:cascading-local:2.6.3.

  3. Could not resolve org.elasticsearch.gradle:build-tools:6.8.24-SNAPSHOT

  4. Could not resolve cascading:cascading-hadoop:2.6.3.

分析(尝试逐个解决)

  1. gradle 仓库修改

     // ali库 解决 Could not resolve org.springframework.build.gradle:propdeps-plugin:0.0.7.
     maven{ url 'https://maven.aliyun.com/repository/central'}
     maven{ url 'https://maven.aliyun.com/repository/public' }
     maven{ url 'https://maven.aliyun.com/repository/google'}
     maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
     maven{ url 'https://maven.aliyun.com/repository/spring'}
     maven{ url 'https://maven.aliyun.com/repository/spring-plugin'}
     maven{ url 'https://maven.aliyun.com/mvn/guide'}
     maven{ url 'https://maven.aliyun.com/repository/apache-snapshots'}
    
  2. esh-version.properties 修改

6.8.24-SNAPSHOT -> 6.8.23

  1. cascading-local 这个包始终无法获取

最终解决

本质原因有2个,一个是 repo.spring.io 改造成需要验证了,不验证会有401;另一个是http://conjars.org/repo 已经失效了,需要替换;

所以前面修改的全部回滚,完整解决方案如下:

  1. 处理 propdeps-plugin 包,增加阿里云的库

     // ali库 propdeps-plugin
     maven{ url 'https://maven.aliyun.com/repository/central'}
     maven{ url 'https://maven.aliyun.com/repository/public' }
     maven{ url 'https://maven.aliyun.com/repository/google'}
     maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
     maven{ url 'https://maven.aliyun.com/repository/spring'}
     maven{ url 'https://maven.aliyun.com/repository/spring-plugin'}
     maven{ url 'https://maven.aliyun.com/mvn/guide'}
     maven{ url 'https://maven.aliyun.com/repository/apache-snapshots'}
    
  2. 修改 buildSrc/src/main/groovy/org/elasticsearch/hadoop/gradle/BuildPlugin.groovy

    全部的 http://conjars.org/repo 或者 https://conjars.org/repo

    替换成 https://conjars.wensel.net/repo

参考:

  1. Notice of Permissions Changes to repo.spring.io, January 2023

  2. https://segmentfault.com/q/1010000043853512

  3. spring源码编译问题解决1,Received status code 401 from server问题,not found问题,更换阿里云镜像_received status code 401 from server:-CSDN博客

  4. https://github.com/elastic/elasticsearch-hadoop/issues/984

  5. How to build a plugin for a not yet released version? - Elasticsearch - Discuss the Elastic Stack

  6. conjars.org: Connection timed out_http://conjars.org/repo 地址失效-CSDN博客

相关推荐
Elastic 中国社区官方博客2 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
掘金-我是哪吒2 小时前
微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka
redis·mysql·mongodb·elasticsearch·微服务
研究是为了理解3 小时前
Git Bash 常用命令
git·elasticsearch·bash
晨欣7 小时前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene
苍老流年8 小时前
Hive中各种Join的实现
数据仓库·hive·hadoop
EDG Zmjjkk9 小时前
Hive 查询(详细实操版)
数据仓库·hive·hadoop
Hsu_kk11 小时前
Hive 查询各类型专利 Top 10 申请人及对应的专利申请数
数据仓库·hive·hadoop
大数据编程之光11 小时前
Hive 查询各类型专利 top10 申请人及专利申请数
大数据·数据仓库·hive·hadoop
杰克逊的日记11 小时前
Hive详解
数据仓库·hive·hadoop
上辈子杀猪这辈子学IT11 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian