gpt4 book ai didi

hadoop - hadoop管道的编译问题

转载 作者:可可西里 更新时间:2023-11-01 16:17:35 26 4
gpt4 key购买 nike

我遇到过两种使用 Hadoop 管道为 Hadoop 1.2.0 编译 C++ 程序的方法,但都没有成功。

方法一:

我发现了以下链接:

http://cs.smith.edu/dftwiki/index.php/Hadoop_Tutorial_2.2_--_Running_C%2B%2B_Programs_on_Hadoop

并制作了如下的Makefile

CC = g++
HADOOP_INSTALL = /home/hduser/hadoop
PLATFORM = Linux-amd64-64
CPPFLAGS = -m64 -I$(HADOOP_INSTALL)/c++/$(PLATFORM)/include
wordcount: wordcount.cpp
$(CC) $(CPPFLAGS) $< -Wall -L$(HADOOP_INSTALL)/c++/$(PLATFORM)/lib -lhadooppipes -lhadooputils -lpthread -g -O2 -o $@

然后我得到一大堆 undefined reference

/home/hduser/hadoop/c++/Linux-amd64-64/lib/libhadooppipes.a(HadoopPipes.o): In function `HadoopPipes::BinaryProtocol::createDigest(std::string&, std::string&)':
HadoopPipes.cc:(.text._ZN11HadoopPipes14BinaryProtocol12createDigestERSsS1_[_ZN11HadoopPipes14BinaryProtocol12createDigestERSsS1_]+0x31): undefined reference to `EVP_sha1'
HadoopPipes.cc:(.text._ZN11HadoopPipes14BinaryProtocol12createDigestERSsS1_[_ZN11HadoopPipes14BinaryProtocol12createDigestERSsS1_]+0x6d): undefined reference to `HMAC_Init'
HadoopPipes.cc:(.text._ZN11HadoopPipes14BinaryProtocol12createDigestERSsS1_[_ZN11HadoopPipes14BinaryProtocol12createDigestERSsS1_]+0xa6): undefined reference to `HMAC_Update'

方法二:

我遇到了这个教程

http://wiki.apache.org/hadoop/C%2B%2BWordCount

我运行了以下命令

ant -Dcompile.c++=yes examples

并得到如下错误

Buildfile: build.xml does not exist!
Build failed

我不知道从哪里可以获得这个 build.xml 文件。我在 hadoop 的安装文件夹中找到了一个,但我认为那不是正确的。

如果有人对这些方法中的任何一种感到幸运,我们将不胜感激您的评论。

最佳答案

我只能帮助您采用第二种方法:

您应该执行的构建文件是 hadoop 发行版根目录中的 build.xml,以及 LICENSE 和 README 文本文件。导航到您的 hadoop-x.y.z 目录并按照说明输入命令。

这只有在您下载源代码分发版而不是二进制分发版时才有效,二进制分发版不包含示例源代码。 c++示例源代码位于src/examples/pipes/impl

关于hadoop - hadoop管道的编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com