hadoop - 使用 RPC 库在 Fedora 28 上构建 Hadoop 3.0.3 问题

标签 hadoop rpc fedora-28

我正在尝试在 Fedora 28 上构建 Hadoop 3.0.3。
当构建开始构建 Apache Hadoop Pipes 时,构建停止并出现错误:

[WARNING] /home/hadoop/tool/hadoop-3.0.3-src/hadoop-tools/hadoop-pipes/src/main/native/utils/impl/SerialUtils.cc:22:10: fatal error: rpc/types.h: No such file or directory

我知道 Fedora 28 删除了 Sun RPC 并被 libtirpc 取代。

我尝试使用以下命令指示 maven gcc 使用 libtirrpc 进行构建:

1) 指定 CFLAGS
$ export CFLAGS=-I/usr/include/tirpc
$ mvn package -Pdist,native -DskipTests -Dtar -Drequire.isal

2) 使用 container-executor.additional_cflags
$ mvn package -Pdist,native -DskipTests -Dtar -Drequire.isal -Dcontainer-executor.additional_cflags="-I/usr/include/tirpc"

不幸的是,我总是遇到同样的错误。

我究竟做错了什么?
对于如何解决此问题的任何建议,我将不胜感激。

亲切的问候

最佳答案

我遇到了同样的问题,并通过将 tirpc 添加到所需的库以及 CMakefiles 的包含路径来解决它。

抱歉,我不知道为什么您的方法不起作用,但可以在这里找到一个可行的“补丁”:
https://issues.apache.org/jira/browse/HADOOP-15685

p.s.:一个正确的解决方法应该是检查 rpc 路径并有条件地添加 tirpc 路径,如 https://github.com/gnudatalanguage/gdl/pull/338/commits/86837a0038be8c72d5b7b9691f1deff5c6691744
和一个更 hadoop 风格的解决方法可以引用其他 hadoop 模块 CMakefiles

关于hadoop - 使用 RPC 库在 Fedora 28 上构建 Hadoop 3.0.3 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51479299/

相关文章:

go - net/rpc .Call 与 .Go 之间有什么区别?

callback - Protobuf RPC 回调

python - grpc Deadline Exceeded错误如何解决?

mysqld 服务无法启动

sql - 高基数字段的 Hive 查询性能

hadoop - 自定义分区程序 : N number of keys to N different files for word count

hadoop - 资源管理器和节点管理器可以在同一个节点中吗? [ map R]

hadoop - Yarn 给现有的 map reduce 带来了什么额外的好处?