如何在ubuntu 12.10 eclipse juno上运行map-redude程序

来源:互联网 发布:华安股票交易软件 编辑:程序博客网 时间:2024/05/01 11:28

重新编辑一下之前的笔记,简单在eclipse中运行mr程序,unbuntu单机运行。抛砖引玉,希望能帮助解决一些问题~

eclipse 运行map-reduce程序步骤:

1 首先切换到hadoop用户。打开eclipse,见还没连接dfs,error:

Call to localhost/127.0.0.1:9000 failed on connection exce

此时,可以如下操作:
开启命令行,
用jps发现NameNode进程没有正确运行,

停止服务,重新格式化namenode,hadoop namenode -format

start-all.sh,

NameNode进程已运行。

用jps查看可以看到各结点。

对dfs服务刷新,可看到分级目录

有时报org.apache.hadoop.security.AccessControlException: Permission denied: user=DrWho, access=READ_EXECUTE, inode="system":hadoop:supergroup:rwx-wx-wx错误,解决方法:

     在hdfs-site.xml 中取消权限校验,即加入以下配置:

<property>
    <name>dfs.permissions</name>
    <value>false</value>
    <description>
       If "true", enable permission checking in HDFS.
       If "false", permission checking is turned off,
       but all other behavior is unchanged.
       Switching from one parameter value to the other does not change the mode,
       owner or group of files or directories.
    </description>
 </property>


2 新建map-reduce项目

注意包的导入(即你程序中用到的hadoop的一些jar包,根据需要导入),map和reduce类的编写,可以参照hadoop自带的example包里的wordcount程序。


3 导入数据

在hadoop安装目录或其它地方新建input文件夹,放入数据文件,如test

将文件传上dfs文件系统,bin/hadoop fs -put input/test input01/02...

查看input01文件夹的数据文件,bin/hadoop fs -ls


4运行map-reduce程序

run configuration,在里面配置参数

hdfs://localhost:9000/user/hadoop/input01 hdfs://localhost:9000/user/hadoop/output01


然后run,报错,这时可能是权限问题,可以通过hadoop用户对/user/hadoop修改权限

bin/hadoop fs -chmod 777 /user/hadoop

然后再运行,可以直接run on hadoop


5 查看结果

bin/hadoop fs -cat output02/*


目前还没深入mr编程研究,有经验的大神请多分享!


原创粉丝点击