linux下安装Hadoopeclipse插件以及编写第一个简单的MapReduce程序

Hadoop

安装eclipse这个不难。网上太多的教程,一找一大把。熟悉了之后也不再需要看教程就可以自己安装成功。注意这里选择eclipse版本也是有讲究的,选择keptler版比较好,在之后的eclipse Hadoop插件的兼容性上表现较好。

这里的难点在于想要在eclipse上面能够运行编写好mapreduce程序之后能够直接通过Hadoop来运行,并且能够实时在eclipse上实时查看HDFS上的资源的情况(对于熟悉了在eclipse上开发的java程序员来说,这真的是一种福音啊),这就难了。

上面的资料详细,我自己跟着一步一步修改,调试。但是也有不足,最后都没有说清楚就没了。自己一直编译都过不去,很是郁闷。到后来又是一直查资料的过程,很累。最后又回到了Github源代码的出处上来了。有很多下载了的人都会讨论遇到的问题,而源代码的贡献者也直接回复这些问题,本质上源码需要修改的部分也不是很多,这里就可以找到很多你的疑惑相关的解决方案。我自己终于醒悟:万事还是要从源头找答案才可以,这样做才是根本。学习是这样,生活也是这样。

最后都没有编译成功。下载的源码当中是有直接编译好的插件的,但是版本和我正在使用的版本不同,分别是2.2、2.4、2.6,由于我的是2.5.2,所以一开始没有去尝试直接运行这些插件,而是先自己编译。这样做的原因是想要通过自己努力得到最符合自己的,另一个原因是网上说不同版本之间的兼容性并不是那么好,不够稳定。

但是编译不成功也是没有办法,只有试试这些已经编译好的插件了,我选择了2.6,结果发现竟然可行。真的是惊喜。不过这里我自己并不清楚怎样是可行,怎样是不可行的。这个认知上的欠缺让我费了不少时间,应该是我第一次尝试使用2.6插件的时候就成功了的,但是我自己以为还不成功,于是又去折腾2.4 ,2.4不行了之后再试2.6,唉,真的是笨啊。

现在就来说说怎样的才是可行的插件,其实不难。不过要自己意识到不是那么容易。把下载下来的源码中有一个release文件夹,将该文件夹下的文件 复制到你安装的eclipse文件夹的plugins文件夹下面。

我算是比较幸运的,这个2.6.0版本竟然可以直接在我的Hadoop2.5.2上面直接使用,感觉还是很爽的。希望你也有这样的运气。在进行接下来的步骤以前,先开启HDFS,使用指令start-dfs.sh

即可。这样做的原因是,验证下面的location连接是否成功的前提是你必须先把HDFS开启。

重启eclipse,这个时候点击window -> show view -> other -> 输入map之后就直接会出来这个淘气的小象啦:

点击它,然后OK。这样子就有了这个画面:

点击右下角的蓝色小象,会出现配置的画面:

这里的配置其实也是挺纠结的。location name这个没有难度,Host这里只需要填写你的主机的ip就可以,Use M/R Master host:前面的勾上(因为我们的NameNode和JobTracker都在一个机器上)。难点在于Port怎么填。DFS Master的Port可以参照配置文件core-site.xml里面的fs.defaultFS的值来写。而Map/Reduce Master里的这个Port,网上有人说依照hdfs-site.xml里面的配置来写,可惜的是我的hdfs-site.xml里面没有配置相应的值。想到的是某些值如果没有人工配置的话,是有默认值的,去找了一下Hadoop文件夹下的一个hdfs-default.xml文件,找到了里面的默认参数,经过确定之后填写了50020。点击确定。会有下面的画面出现:

这个时候就已经有了成功的征兆了。

那么,怎样才算是真的成功了呢?点击DFS Locations,会出现这个:

这里的DFS Locations就是Hadoop文件系统存储的目录树。值得注意的是这里的1是因为我自己添加了文件进去才有1,如果在第一次得到这个图像的时候,应该是0.(我之前看别人博客上显示的都是1,我以为自己出现的0就是没有连接上,哭死。。)

但是,如果出现了下面这个图:

说明你的HDFS没有打开或者没有连接成功,需要打开HDFS再试试。

你可以对着这个文件夹,右击,有各种选项,可以增加文件夹,可以从本地上传文件到Hadoop文件系统里。在增加文件夹或者从本地上传文件之后,右击该文件夹,选择“刷新”选项,如果能够出来你希望的文件夹或文件,那么就表示成功配置好了。就这么简单。

很高兴啊。折腾了这么久终于得到了想要的结果~~~

我的另一个疑问又来了,这个HDFS locations在文件中具体在文件夹的哪里呢?我怎么知道怎样获取这些文件呢?如果不是界面,而是命令行,我该怎样通过指令来获取HDFS上的文件呢?

其实啊,刚刚讲了这个HDFS locations其实是一颗目录树,那么这个根就是htfs://192.168.137.80:9100(当然,因人而异啊,不过想要表达的意思你懂得)。那么我们在填写的时候想要上图的001.txt文件,那么就是需要写上htfs://192.168.137.80:9100/WordCount/input/001.txt就可以了。

如果你非要问这个文件到底在内存的什么地方,我只能告诉你,在配置文件的时候,你有配置过datanode文件所在的文件位置,那么它就在相应位置的current文件夹里,里面的信息似乎还不是最终的文件位置。你可以找到配置信息然后去目录中找找。不过由于HDFS是分块存放,所以实际上它放在哪里我也不敢确定。

wordCount程序编写的注意事项:

1.程序到处都有,这里自己去找啊~

2.我不仅仅要运行wordCount程序,还希望它在Hadoop上运行,输入文件和输出文件都是在HDFS上的,这个时候的设置是这样的:

具体参数为:hdfs://192.168.137.80:9100/WordCount/input/001.txt hdfs://192.168.137.80:9100/WordCount/output/wordCount

然后你就可以点击运行了。如果不出意外,在HDFS locations对应的output文件夹里面会有两个文件,就是你要的结果啦~~

linux hadoop eclipse 安装,linux下安装Hadoopeclipse插件以及编写第一个简单的MapReduce程序...相关推荐

  1. 直角三角形面积Java_利用Eclipse编写第一个简单的Java程序,实现如下功能。 键盘输入:直角三角形两直角边a, b,根据勾股定理计算斜边的平方值。并输出。 例如:运行效果如下...

    kruskal算法对稠密图较为适合 朗读下列城市名字,并与其特色连接起来. C3和C4植物在叶片的解剖构造上由明显的区别,C4植物的维管束鞘有 ,形成 . 感应式电能表的起动电流小于电子式电能表. 美 ...

  2. opencv python安装 centos_centos下安装opencv

    根据项目需要,安装opencv并提供给开发使用,并且使用opencv提供python3的API接口.虽然不知道是个啥,还是简单了解下. opencv是什么? OpenCV的全称是Open Source ...

  3. Linux集群部署系列(六):Hadoop 在window系统下安装方法

    Hadoop-Windows安装 1.安装前的准备工作 1.下载JDK 网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  4. Python安装(Windows下安装/Linux下安装)

    1.准备工作 1.1.运行环境 课程中:Windows下的运行环境 1.2.Python是什么 (1)Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1 ...

  5. ubuntu14.04安装linux公社,Ubuntu 14.04下安装IT++

    Ubuntu 14.04 下安装 IT++(itpp)(官方二进制包安装版) 温馨提示:虽然没有尝试,不过直接运行最后一步应该也可以成功. 另外,既然有简单的方法,不到破不得以还是不要尝试麻烦的方法了 ...

  6. linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp

    在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...

  7. Linux(RHEL7.0)下安装nginx-1.10.2

    查看当前系统版本是否支持 当前,nginx发布包支持以下Linux操作系统版本: RHEL/CentOS: Version Supported Platforms 5.x x86_64, i386 6 ...

  8. linux上离线安装mysql_Linux下安装mysql(离线安装和在线安装)

    一:在线安装mysql 1.首先检测一下,mysql之前有没有被安装 命令:rpm -qa | grep mysql 2.删除mysql的命令: rpm -e --nodeps `rpm -qa | ...

  9. linux 无外网情况下安装 mysql

    由于工作需要,需要在一台装有 CentOS 系统的测试服务器上安装 MySQL ,由于该服务器上存有其他比较重要的测试数据,所以不能连接外网.由于之前安装 MySQL 一直都是使用 yum 命令一键搞 ...

最新文章

  1. python威氏符号秩次检验(Wilcoxon Signed-Rank Test)
  2. 不能使用 '';文件已在使用中。
  3. php环行队列实现,java数组实现队列及环形队列实现过程解析
  4. Kafka-consumer(消费者)
  5. Nginx 的 Echo 模块 —— echo-nginx-module(转)
  6. Paint的方法总结(一):基本常用Api
  7. 菜鸟安装Linux的问题记录
  8. python 装机配置_Python如何实现自动装机功能 Python实现自动装机功能代码实例
  9. 使用RMAN备份时应如何处置归档日志文件
  10. Linux必会100个命令(三十八)halt
  11. (附源码)spring boot中小学餐饮配送系统 毕业设计645661
  12. serial port not selected
  13. bilibili手机视频下载目录整理脚本
  14. 关于open_cursors和session_cached_cursors的参数值
  15. 静电浪涌防护:TVS
  16. 短视频游戏主播如何变现,教你快速找到属于自己的赚钱方式丨国仁网络
  17. MT8516源码编译问题mDNSResponder-320.10.80 fetcher failure
  18. 基于JSP 旅游网站在线旅游信息网站(Java旅游系统旅游网站)旅游管理系统jsp旅游景区旅游网站
  19. 计算机专业要求逻辑推,离散数学考试大纲
  20. 后台网站排版设计与分析

热门文章

  1. 【Go】time 包
  2. 网易游戏2011 10 15校园招聘会笔试题
  3. 超赞随机点名系统(抽奖系统),快来看看是不是你想要的(附完整源码)
  4. Android自定义View 自定义组合控件
  5. 在Rabbitmq管理台发送消息
  6. 这30个Python自学网站,再也不用到处找资料啦~
  7. java设置列宽_javaexcel如何设置指定列宽
  8. c语言编译运行程序,用visual c++ 运行C语言程序的过程
  9. 安装server2008后,提示“Windows无法验证此文件的数字签名”
  10. 得墨忒耳法则(迪米特法则)