hadoop 3.0.0 上运行pipes c++ 程序

hadoop version: hadoop 3.0.0 alpha1

ubuntu version: 14.04


hadoop的安装可以参考前一篇博客。基本是按照hadoop网站的步骤来。不过要运行pipes,要配置yarn。

因此具体步骤是先完成hadoop的安装,然后配置yarn。

1.配置mapred-site.xml

2.配置yarn-site.xml


这里yarn.nodemanager.vmem-pmem-ratio 配置为2.5是为了避免如下异常出现:

这个异常是说运行我的程序时hadoop尝试使用2.4G虚内存,但系统默认配置只有2.1G虚内存,所以就出错了。把它改到2.5G虚内存就可以跑过了。


3.启动hdfs和yarn

注意要启动historyserver,否则会出现异常

可以用jps命令来查看是否所有进程都启动了,如下图

如果6个进程都看到了,那就OK了。

有时候DataNode没起来,那就需要把hdfs文件系统删除干净再重新格式化一次。


下面是C++程序了,我使用的是网上下的 hadoop权威指南第三版和配套源码 第二章的例子。

编译之后把可执行程序复制到hdfs里。再把数据文件也复制到hdfs里。如下图:


下面就可以运行了:

注意: mapreduce.pipes.isjavarecordreader=true 和 mapreduce.pipes.isjavarecordwriter=true 一定要设,不然你就要在C++里实现。







猜你喜欢

转载自blog.csdn.net/alex_mianmian/article/details/52585426