安装Hadoop失败:出现InvalidAlgorithmParameter异常求助
解决Hadoop编译时Maven插件下载失败的问题
我之前编译Hadoop的时候也碰到过一模一样的问题!这种情况大多是Maven中央仓库的网络连接不稳定导致的,尤其是国内环境下。给你几个亲测有效的解决办法:
配置Maven国内镜像
找到你的Maven配置文件settings.xml(通常在用户目录下的.m2文件夹里,或者Maven安装目录的conf文件夹中),添加国内镜像源(比如阿里云),替换原有的mirrors节点:<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>国内镜像的下载速度比官方中央仓库快很多,能有效避免超时或连接失败的问题。
手动下载插件到本地仓库
如果镜像配置后还是无法下载,你可以直接找到maven-bundle-plugin:2.5.0的jar包和pom文件,然后在本地Maven仓库中创建路径org/apache/felix/maven-bundle-plugin/2.5.0/,把下载好的文件放到这个路径下。这样Maven执行时会直接读取本地文件,不再尝试远程下载。检查网络代理设置
如果你的机器是通过代理网络访问外网的,要确保Maven的settings.xml中配置了正确的代理信息:<proxies> <proxy> <id>work-proxy</id> <active>true</active> <protocol>http</protocol> <host>你的代理地址</host> <port>代理端口</port> <!-- 如果需要认证,添加下面两行 --> <!-- <username>代理用户名</username> --> <!-- <password>代理密码</password> --> <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> </proxy> </proxies>要是不确定代理是否正常,也可以暂时关闭代理,尝试直接连接中央仓库。
清理Maven缓存并强制更新
有时候本地仓库的缓存文件损坏会导致下载失败,执行以下命令清理缓存并强制更新依赖:mvn clean install -U执行完成后,再重新运行你的Hadoop编译命令:
mvn package -Pdist,native -DskipTests -Dtar
如果以上方法都不行,还可以尝试指定一个干净的本地Maven仓库路径,比如:
mvn package -Pdist,native -DskipTests -Dtar -Dmaven.repo.local=/tmp/maven-repo
用全新的仓库来重新下载所有依赖,避免旧缓存的干扰。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

