tencentyun / hadoop-cos

hadoop-cos(CosN文件系统)为Apache Hadoop、Spark以及Tez等大数据计算框架集成提供支持,可以像访问HDFS一样读写存储在腾讯云COS上的数据。同时也支持作为Druid等查询与分析引擎的Deep Storage
https://cloud.tencent.com/document/product/436/6884?!preview=true&lang=zh
MIT License
82 stars 50 forks source link

hadoop-cos are support hadoop-3.0.0 ? #8

Closed allenzhg closed 4 years ago

allenzhg commented 4 years ago

run < mvn package > for build jar package has issue. help me please!!!

allenzhg commented 4 years ago

图片

yuyang733 commented 4 years ago

这里面引用了一个打印MD5的包,这个跟Hadoop 3.X可能不兼容。

这里可以通过注释掉CosNativeFileSystemStore中的以下两段代码:

// import org.apache.directory.api.util.Hex;
...
    @Override
    public void storeFile(String key, InputStream inputStream, byte[] md5Hash
            , long contentLength) throws IOException {
      //  LOG.info("Store the file input stream md5 hash: {}, content length: {}.", Hex.encodeHex(md5Hash),  contentLength);

...
yuyang733 commented 4 years ago

@allenzhg

allenzhg commented 4 years ago

@yuyang733 你好,按照你说注释掉这两行可以编译通过。但跑mapreduce 任务时会失败。 在 mapred-site.xml 里面已经配置过这些参数也是一样的。 图片

yuyang733 commented 4 years ago

这里看起来像是yarn找不到hadoop相关的jar包。

应该配置提示中的configuration。

allenzhg commented 4 years ago

@yuyang733 上面这个报错是yarn.application.classpath 这个configuration 我添加cos jar path覆盖了,环境变量换个位置就好了,但问题是,mapreduce 使用 hdfs 可以正常跑,使用cos 还是有问题;如图日志报错: 图片

yuyang733 commented 4 years ago

嗯,想问一下你用的Hadoop是CDH还是HDP的套件? 还是官方开源版本?

yuyang733 commented 4 years ago

上面那个错误是因为没有找到hadoop-cos的jar包,所以这里想了解一下是CDH/HDP这种套件,还是官方开源版本。 CDH/HDP套件的配置方式跟官方开源有一些出入。

allenzhg commented 4 years ago

@yuyang733 我用的是CDH6.2.1 版本hadoop 版本是3.0.0; 我编译也是按这个版本编译的。

allenzhg commented 4 years ago

@yuyang733 cdh 套件这个配置方式是怎样的呢?有文档吗?

yuyang733 commented 4 years ago

CDH/HDP暂时还未有官方文档出来。

我们的社区里面有一篇早期发的HDP的适配文档:https://cloud.tencent.com/developer/article/1394261

可以参考一下,CDH可以借鉴一下?

allenzhg commented 4 years ago

@yuyang733 这种方式试过多次没能成功还是报这个错。

ghost commented 4 years ago

@allenzhg 我也遇到了同样的问题. 请问, 最后解决了吗?

dingmy002 commented 4 years ago

@allenzhg 请问这个最后解决了吗,我这边也存在这个问题

dingmy002 commented 4 years ago

已解决. 在mapreduce.application.classpath里添加cos jar路径就OK了