zoukankan      html  css  js  c++  java
  • Linux中的MyEclipse配置Hadoop

    一.所需软件

      注意:安装MyEclipse后,我再已安装软件里找不到MyEclipse,所以我在root权限下用命令行启动MyEclipse,貌似避免了很多权限问题。

    sudo su
    输入密码
    cd usr/myeclipse
    ./myeclipse
    

    二.步骤

      1.先把hadoop-eclipse-plugin-1.2.1.jar复制到ubuntu桌面(我的不能直接复制到MyEclipse的dropins目录下,我同学的能,真是奇怪啊),然后在进入桌面。

    还是先进入root
    cd 
    cd ..//回到根目录
    cd home/hxsyl/DeskTop//找到真正的桌面
    //移动文件需要在该文件的目录下
    //放在dropins目录下,并不是plugins目录下,原来我以为没有plugins目录呢,才放在dropins,并不是这样
    sudo mv hadoop-eclipse-plugin-1.2.1.jar /usr/myeclipse/dropins
    

      注意:左面有两个文件夹下的Places下直接有个桌面,但是却找不到刚复制过来的hadoop-eclipse-plugin-1.2.1.jar,Devices下有computer,然后home,然后DeskTop看到了插件,记住这个路径吧,以后少不了还要复制东西。

      2.进入与dropins同目录下的configuration,删除org.eclipse.update(这是个文件夹,不过我并没删除)。

      3. 重启MyEclipse4. 添加Mapreduce视图“windows”-> "open perspective" -> "other",会看到一只小象map/reduce,如无,请勾上“show all”,就可以打开该视图(普通工程在Java视图下,该步骤就是多打开一个试图,方面写代码)。此时,MyEclipse的左侧的工程浏览器里会显示DFS Locations,下面有个MyHadoopServer(我的Hadoop服务器名字),这样就想咱平时jsp的服务器。

      4. 配置Hadoop服务器“widows” -> "show views" ->"mapReduce tool" -> "Map/Reduce locations",打开后,(在下面Console附近有Map/Reduce locations),空白处右键,选择新建服务“New Hadoop Location,进入General选项卡。

      1) “location name” : 填入新hadoop服务名,我写的是MyHadoopServer
      2) "Map/Reduce Master":这个对应hadoop服务器的jobtracker
        A) Host:对用hadoop的jobtracker所在的IP,单机就是localhost,可更改
        B) Port:对应jobtracker的端口,在mapred-site.xml配置的端口,一般为9001,默认的是50400
      3) “DFS Master”: 这个对应hdfs的端口,对应在core-site.xml
        A) Host: 对用hadoop的hdfs所在的IP,就是localhost,这个不可更改
        B) Port: 对应hdfs的端口,在mapred-site.xml配置的端口,一般为9000,默认的是50400

      注意:下边还有个用户名,默认root我没改动。

      注意:open  perspective打开的东西,在MyEclipse右边,算是编辑视图;show views打开的东西在MyEclipse下边,和Console在一起。

      5.打开和General选项卡同级的Advanced Parameters选项卡,找到hadoop.tmp.dir(很好找,按字典序排序的),然后在core-site.xml找到对应的内容,我的是home/hxsyl/tmp。

      6.此时可以看到左侧的工程浏览器下的DFS Locations下的MyHadoopServer的两个文件夹,一个叫home/hxsyl/tmp,这个就是第5步配置的那个文件夹;另一个是user/root/In和Out。

      这个root应该是第4步下的那个用户名,In和Out分别是赞运行WordCount的输入输出文件,运行WordCount需要命令行传参数,具体就是邮件run-as、run configurations、parameters,然后输入(注意:必须先运行WordCount.java,然后提示少参数的错误,然后再run-as、run configurations、parameters,直接的话不显示parameters,这是奇怪)

    hdfs://localhost:9000/user/root/In 
    hdfs://localhost:9000/user/root/Out
    

      注意:需要先把In文件上传到hdfs上,具体就是:我在根目录(和usr同级)贱了testHadoop文件夹

    sudo mkdir testHadoop
    

      然后进入到该文件夹

    //test1和2会自动在testHadoop文件夹下生成
    echo “hello world” >test1
    echo "hello hadoop" >test2
    

      然后把文件上传到hdfs

    //此时在testHadoop所在文件夹,不过咱需要进入到Hadoop文件夹,主要是要用到hadoop这个命令
    //不过不需要cd,切不可进入hadoop文件夹,因为上传那个文件就要在那个文件的目录下
    //因为咱直接./testHadoop,没写绝对路径(自己理解的)。
    usr/hadoop1.2.1file/hadoop-1.2.1/bin/hadoop fs -put ./testHadoop In
    //注意:./testHadoop,如果按tab只能生成./testHadoop的话 ,他后面会多个/,一定要删除,In就是上传到的hdfs上对应的文件夹
    //想查看In内容,两种方法,一种是用下面的命令
    usr/hadoop1.2.1file/hadoop-1.2.1/bin/hadoop fs -ls ./testHadoop 
    //另一种方法是(此时已经上传了hdfs),运行代码*(不管有没有错误都行,个人理解就是简历和hdfs的链接,然后就看到hdfs里的内容了),刷新DFS Locations,在user/root/In下会看到
    

      7.配置好后,运行,结果就在DFS Locations 的 user/root/Out下part-r-0000文件下,结果如下。

    hadoop	1
    hello	2
    world	1
    

      注意:如果在命令行下运行WordCount需要(此时已上传到hdfs),需要先进入hadoop

    cd usr/hadoop1.2.1file/hadoop-1.2.1
    

      然后运行代码如下

    //没试过WordCount,莫非命令行不区分大小写
    bin/hadoop jar hadoop-examples-1.2.1.jar wordcount In Out
    

      注意:此处的问题是,必须不能进入bin目录,我试过,进入的话就运行不了了,真是奇怪了。

    然后查看运行结果。

    bin/hadoop fs -cat ./Out/part-r-00000
    

    三.结束语及遗留问题

    3.1 遗留问题

      1.如何直接从win复制到linux对应的文件夹,不用先复制到左面,在mv

      2.xml类文件,有时候可以直接打开,编辑,保存,但有时后这样的话,那个save不可用,真是奇怪了,必须

    //这个是jdk的环境变量
    sudo gedit /etc/profile
    

      莫非是因为命令行终端不是root,应该不是这个问题,我每次进入ubuntu,就先打开终端,然后进入root。

    3.2 结束语

      对照命令行和DFS Locations,这样理解很方便。

    3.3 CodeForFuture

      CodeForFuture,DotaForFun......本群专注于互联网、电子商务及数据挖掘, 群内成员来自各大高校的研究生和本科生(比如清华大学、北京大学、中山大学 、北京联合大学、华南理工大学、中科院计算所、上冻理工、山东大学、平顶山学院、南阳理工,上海大学、网络研究所......不再一一列举)以及各大公司的员工(比如百度、新浪、金山、乐逗游戏等等),还有猎头偶......期待您的加入,让我们一起从优秀走向卓越......

      群号:163354117,左侧可以直接少苗二维码加群。

  • 相关阅读:
    工作中常用git命令总结
    工作中,实用map给数组去重的详解
    关于OC中的block自己的一些理解(一)
    存储过程专题(Oracle)
    ORACLE事物隔离级别和脏读、幻读、不可重复读区别
    C#客户端Json转DataTable
    C# Newtonsoft.Json JObject常用方法
    C#中的内部函数(子函数)
    C# Dev GridView当前行
    C#从数据库中加载照片的
  • 原文地址:https://www.cnblogs.com/hxsyl/p/4580377.html
Copyright © 2011-2022 走看看