一、eclipse配置hadoop
1、配置hadoop并启动
2、复制hadoop安装目录/contrib/eclipse-plugin/hadoop-0.******-eclipse-plugin.jar到 eclipse安装目录/plugins/ 下。较新版本的hadoop安装目录下没有hadoop-***-eclipse- plugin.jar文件,在src目录下有源代码,可以自行编译。
3、重启eclipse,配置hadoop installation directory。
如果安装插件成功,打开Window-->Preferens,你会发现HadoopMap/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。
4、配置Map/Reduce Locations。
在Window-->Show View中打开Map/Reduce Locations。
在Map/Reduce Locations中新建一个HadoopLocation。在这个View中,右键-->New HadoopLocation。在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFSMaster。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。
5、配置完后退出。点击DFSLocations-->Hadoop,显示文件夹(1)
二、eclipse运行hadoop wordcount项目
1、新建项目
File-->New-->Other-->Map/ReduceProject,项目名可以随便取,如WordCount。复制hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。
2、上传模拟数据文件夹。
为了运行程序,我们需要一个输入的文件夹,和输出的文件夹。在本地新建word.txt
java c++ python c
java c++ javascript
helloworld hadoop
mapreduce java hadoop hbase
通过hadoop的命令在HDFS上创建/tmp/workcount目录,命令如下:bin/hadoop fs -mkdir/tmp/wordcount
通过copyFromLocal命令把本地的word.txt复制到HDFS上,命令如下:bin/hadoop fs-copyFromLocal /home/grid/word.txt
在新建的项目Hadoop,点击WordCount.java,右键-->RunAs-->Run Configurations
在弹出的Run Configurations对话框中,点JavaApplication,右键-->New,这时会新建一个application名为WordCount
配置运行参数,点Arguments,在Programarguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:
dfs://centos1:9000/tmp/wordcount/word.txt hdfs://centos1:9000/tmp/wordcount/out
三、错误集锦
1、设置ssh免密码登录
开始时按照网上的ssh-keygen -t rsa(生成id_rsa、id_rsa.pub) cp id_rsa.pub authorized_keys ,相关文件都出现了,可是还是让我输入密码,后来发现需要
chmod 600 authroized_keys --给密钥赋权限,很关键,否则还是需要输入密码
2、如果有如下提示:Address 192.168.0.1 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
可以把 sshd_config 中的 GSSAPIAuthentication 改为GSSAPIAuthentication no\
然后重启ssh:
sudo service sshd restart
四、参考文档:
[1] http://blog.sina.com.cn/s/blog_a20c252301013os8.html
[2] http://blogs.gaixie.org/tommy/