初次使用 Hadoop Streaming 的过程(遇到各种各样的问题)

原创 2015年11月19日 23:54:57

写搜索引擎希望能尝试使用hadoop 来进行分布式查找结果,并顺便学学老早就想学的 hadoop。花了两个晚上的时间倒腾,总算跑出了第一个结果。。虽然很累,还是挺好的。下面陈列一下遇到的问题,希望对自己或者别人都能有些帮助。我自己用的是C++,在 win10 上用 vmware 装了 ubuntu 14.04 的虚拟机,然后装了 hadoop,没有使用 eclipse,因此选择学习的是 hadoop 的 streaming ,出错的时候真是不太好找资料啊。不过还好大部分错都是比较弱智的错误。囧!!

1.在ubuntu 下装单机/伪分布式配置的 hadoop

参考了一个很好的博客,从官网上下载到安装包后,就按照步骤走,花了一个晚上配置好了 hadoop,博客地址:Hadoop安装教程_单机/伪分布式配置


2.写一个简单的wordCount 的C++ 的mapper 和 reducer 的程序:

程序也是直接参考一个比较好的博客:点击打开链接。就取了下面两部分代码:

3.编译过程中遇到的问题

在使用Hadoop 前请先开启 hadoop。在 安装目录/hadoop/sbin中执行:./start_dfs.sh

该源文件我写在我的Ubuntu中的目录为:/home/hadoop/test 的目录下

hadoop 的安装目录为 : /usr/local/hadoop

以下所有指令均在目录 /usr/local/hadoop 下执行

 1)输入文件必须要传到 HDFS 系统中

需要上传的文件位于:/home/hadoop/test/t.txt,

a.先确定是否在文件管理系统中创建了文件夹 /user/hadoop/input。若未创建,则创建指令为:

$bin/hadoop dfs -mkdir /user/hadoop/input

b.上传文件:

$bin/hadoop dfs -put /home/hadoop/test/t.txt /user/hadoop/input

2)运行可执行文件时,千万不要把可执行文件放在 DFS 系统中,保留在原路径下就好,且输出的目录在运行前必须清空

a.清空DFS中输出文件夹

$bin/hadoop dfs -rm -r /user/hadoop/output (若有则删除,若无也没关系)

b.执行以下指令,启动hadoop

$HADOOP_HOME/bin/hadoop jar $streaming -input /user/hadoop/input/t.txt -output /user/hadoop/output -mapper/home/hadoop/test/mapper -reducer /home/hadoop/test/reducer

*上面的 streaming 是一个环境变量,指向hadoop安装目录中的 streaming.jar,大家的版本号可能不同,直接定义为该jar文件即可。也可以输入整个文件的位置

c.从DFS系统中下载output信息,并放在原来的路径下:
$bin/hadoop dfs -get /user/hadoop/output /home/hadoop/test/output




相关文章推荐

Python+Hadoop Streaming实现MapReduce(word count)

1. hadoop本身是用java写的,所以用java写mapreduce是比较合适的,然而hadoop提供了Streaming的方式,让很多语言可以来写mapreduce,下面就介绍如何用pytho...
  • JThink_
  • JThink_
  • 2015年01月15日 19:39
  • 6852

Hadoop streaming mapreduce多文件输入使用方法

写Mapreduce程序时,常常会有同时处理多个输入文件的的需求,那么如何在map程序中方便的知道这一条record到底来自哪个文件呢?如果数据源是可控的,我们尚可以通过字段的个数等来判断,然而这不是...

在hadoop启动的时候,会出现各种各样的问题

在hadoop启动的时候,会出现各种各样的问题,NameNode,JobTracker等各个模块都会有莫名奇妙的问题出现,在这里对hdfs的问题进行一下简单的记录 1:HDFS initialized...

安装node-sass遇到的各种各样的问题及解决

node-sass提示没有安装pythongyp verb `which` failed at D:\web\node_modules\which\which.js:90:16 gyp ver...

Hadoop 在使用过程中常遇到的问题

hadoop在使用过程中遇到的问题,总结出来方便以后查看

Hbase+Zookeeper+hadoop使用过程遇到的问题

下载解压zookeeper-3.4.6 在/etc/profile中添加 $export ZOOKEEPER_INSTALL={zookeeper安装路径} $export PA...

hadoop学习过程-2013.08.30.2--初次使用IKAnalyzer来切词--切词试验

代码如下: package test; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import...
  • prg1986
  • prg1986
  • 2013年08月30日 10:56
  • 680

eclispe初次运行Hadoop时,我遇到的问题。

1、运行时,后台显示找不到在hdfs上的文件,但是我在命令行执行时,可以查到文件在hdfs上。 log4j:WARN No appenders could be found for logger (...

经常写VC工程的人都会遇到升级到VS2005时出现的各种各样的问题,下面写一些自己遇到的问题,还有什么不全的请大家补充。希望能给朋友们一些帮助。

今天在将2003建立的工程转换成2005时,发现遇到很多问题,网上搜了一些解决办法:   经常写VC工程的人都会遇到升级到VS2005时出现的各种各样的问题,下面写一些自己遇到的问题,还有...

关于Hadoop-Streaming学习中碰到的问题

Hadoop在分布式计算方面很强大,而Python在文本处理也是相当方便,那么有这两者的结合吗?有,答案就是Hadoop-Streaming。Hadoop-Streaming可以将Hadoop与主流语...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初次使用 Hadoop Streaming 的过程(遇到各种各样的问题)
举报原因:
原因补充:

(最多只允许输入30个字)