`
guoyunsky
  • 浏览: 854265 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:206243
Group-logo
SQL的MapReduce...
浏览量:0
社区版块
存档分类
最新评论

Hadoop Pipes运行ant -Dcompile.c++=yes examples报错解决

 
阅读更多

 

       开始C++在Hadoop上的开发,之前一直Java.发现也要废点周折。网上的一些资料也比较少,可能台简单了吧。这里记录下。或许也有像我一样的同学,需要Java,C++兼顾.

     按照网上的示例开始运行word count.按照步骤通过命令ant -Dcompile.c++=yes examples编译pipes examles时发现如下报错:

    [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:428: undefined reference to `HMAC_Final'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:429: undefined reference to `HMAC_CTX_cleanup'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:435: undefined reference to `BIO_f_base64'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:435: undefined reference to `BIO_new'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:436: undefined reference to `BIO_s_mem'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:436: undefined reference to `BIO_new'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:437: undefined reference to `BIO_push'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:438: undefined reference to `BIO_write'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:439: undefined reference to `BIO_ctrl'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:440: undefined reference to `BIO_ctrl'
     [exec] /home/guoyun/workspace/hadoop-0.20.2-cdh3u0/src/c++/pipes/impl/HadoopPipes.cc:445: undefined reference to `BIO_free_all'
     [exec] collect2: ld returned 1 exit status
     [exec] make: *** [wordcount-simple] Error 1

 

     

         搜了一圈没搜到什么,大多是一般的C++语法问题,编译的时候加个参数-lcrypto。但怎么应用到hadoop中呢?兜了下,还是找到了方案。只要在$HADOOP_HOME/src/examples/pipes/Makefile.in中修改

LDADD = -L$(HADOOP_UTILS_PREFIX)/lib -L$(HADOOP_PIPES_PREFIX)/lib \
      -lhadooppipes -lhadooputils

 

  为:

 

LDADD = -L$(HADOOP_UTILS_PREFIX)/lib -L$(HADOOP_PIPES_PREFIX)/lib \
      -lhadooppipes -lhadooputils -lcrypto

 

    即可.之后再重新运行ant -Dcompile.c++=yes examples即可编译通过。

 

更多技术文章、感悟、分享、勾搭,请用微信扫描:

0
2
分享到:
评论

相关推荐

    hadoop最新版本3.1.1全量jar包

    hadoop-annotations-3.1.1.jar hadoop-common-3.1.1.jar hadoop-mapreduce-client-core-3.1.1.jar hadoop-yarn-api-3.1.1.jar hadoop-auth-3.1.1.jar hadoop-hdfs-3.1.1.jar hadoop-mapreduce-client-hs-3.1.1.jar ...

    hadoop-mapreduce-examples-2.7.1.jar

    hadoop-mapreduce-examples-2.7.1.jar

    flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar.tar.gz

    为解决这个问题,Flink社区提供了"flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-5.6.5-9.0.jar"这样的兼容包,这是一个"uber jar",也称为fat jar,它包含了Flink对Hadoop 3.x的依赖,并进行了重打包处理,以避免类...

    hadoop2.6-common-bin.zip

    这个压缩包主要针对Windows用户,旨在解决在该操作系统上运行Hadoop时可能遇到的"Could not locate executable"错误。这个错误通常由于Hadoop在Windows环境下缺少必要的依赖或配置不正确导致。 描述中提到的“解决...

    hadoop-lzo-0.4.20.jar

    hadoop2 lzo 文件 ,编译好的64位 hadoop-lzo-0.4.20.jar 文件 ,在mac 系统下编译的,用法:解压后把hadoop-lzo-0.4.20.jar 放到你的hadoop 安装路径下的lib 下,把里面lib/Mac_OS_X-x86_64-64 下的所有文件 拷到 ...

    hadoop-3.1.1.3.1.4.0-315.tar.gz

    ambari-2.7.5 编译过程中四个大包下载很慢,所以需要提前下载,包含:hbase-2.0.2.3.1.4.0-315-bin.tar.gz ,hadoop-3.1.1.3.1.4.0-315.tar.gz , grafana-6.4.2.linux-amd64.tar.gz ,phoenix-5.0.0.3.1.4.0-315....

    hadoop-mapreduce-examples-2.6.5.jar

    hadoop-mapreduce-examples-2.6.5.jar 官方案例源码

    eclipse运行mr插件hadoop-eclipse-plugin-2.6.0.jar

    在本例中,`hadoop-eclipse-plugin-2.6.0.jar`就是这样的一个插件,它允许开发人员在Eclipse中直接创建、管理和运行Hadoop MapReduce项目,无需离开IDE,极大地提高了开发效率。 安装此插件的过程如下: 1. **下载...

    hadoop插件apache-hadoop-3.1.0-winutils-master.zip

    标题中的"apache-hadoop-3.1.0-winutils-master.zip"是一个针对Windows用户的Hadoop工具包,它包含了运行Hadoop所需的特定于Windows的工具和配置。`winutils.exe`是这个工具包的关键组件,它是Hadoop在Windows上的一...

    flink-shaded-hadoop-2-uber-2.7.5-10.0.jar.zip

    这个压缩包中的 `flink-shaded-hadoop-2-uber-2.7.5-10.0.jar` 文件,是 Flink 针对 Hadoop 2.7.5 版本的“Uber JAR”,它是将多个依赖库打包在一起的单一 JAR 文件,旨在简化部署和运行流程。 首先,我们来理解...

    hadoop-eclipse-plugin-2.10.0.jar

    Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并适应Eclipse加载,所以参数里有hadoop和eclipse的目录. 必须注意对于不同的hadoop版本,` HADDOP_INSTALL_PATH/share/hadoop/common/lib`下的jar包...

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

    这个压缩包 "sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz" 包含了 Sqoop 的 1.4.6 版本,它已针对 Hadoop 2.0.4-alpha 版本进行了优化。让我们深入了解一下 Sqoop 的核心功能、工作原理以及如何在 Hadoop 环境中...

    hadoop-eclipse-plugin-2.7.2.jar插件

    hadoop-eclipse-plugin-2.7.2.jar,编译环境win10-64,ant-1.9.6,eclipse-4.5.2(4.5.0可用,其他未测),hadoop-2.7.2

    hadoop-3.1.3.tar.gz

    下载后,使用`tar -zxvf hadoop-3.1.3.tar.gz`命令进行解压,解压后的目录结构包含Hadoop的各种组件和配置文件。 三、配置Hadoop环境 为了方便使用Hadoop,我们需要设置环境变量。在用户的.bashrc文件中添加以下...

    hadoop-2.7.1.tar.gz.zip

    这个名为“hadoop-2.7.1.tar.gz.zip”的文件包含了Hadoop的2.7.1版本,这是一个非常重要的里程碑,因为它包含了对Hadoop生态系统的许多改进和修复。 首先,我们要明白文件的结构。这是一个压缩文件,最外层是.zip...

    hadoop-eclipse-plugin-3.1.1.tar.gz

    Hadoop-Eclipse-Plugin支持创建、调试和运行MapReduce程序,简化了开发过程。 4. **Hadoop-Eclipse-Plugin功能**: - **项目集成**:允许在Eclipse中创建Hadoop项目,自动配置项目的构建路径和依赖项。 - **资源...

    hadoop-eclipse-plugin-1.1.2.jar

    <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli...

    hadoop-eclipse-plugin-3.3.1.jar

    Ubuntu虚拟机HADOOP集群搭建eclipse环境 hadoop-eclipse-plugin-3.3.1.jar

    hadoop-2.6.0.tar.gz.mds

    hadoop-2.6.0.tar.gz.mds,hadoop的安装包,版本为2.6.0,适应操作系统为Linux。

Global site tag (gtag.js) - Google Analytics