HDFS API 操作--MyEclipse中连接集群Hadoop

安装MyEclipse2014,开启服务:start-all.sh,
我们的目的是:在MyEclipse中连接hadoop集群,之后,从hadoop中的集群获取HDFS
(文件分布式系统)的各种数据信息,首先:要连接到集群Hadoop ! ! !

hdfs API

    1.HDFS : hadoop分布式文件系统 
        两种表现形式:1.hadoop fs shell命令:【hadoop fs -commond】
                        2.java API方式访问:    【DistributedFileSystem】对应的HDFS
    2.搭建IDE
       a. 查找hadoop的依赖jar包
           在{hadoop_home/share}目录下查找<.jar>文件,复制后拷贝至{hadoop_home}/_jar/
   在{hadoop_home}/_jar/目录下查找<sources>文件,剪切后拷贝至{hadoop_home}/_sources/
   在{hadoop_home}/_sources/目录下查找<test>文件,剪切后拷贝至{hadoop_home}/_test/
        
   {hadoop_home}/_jar/目录:hadoop java开发程序所依赖的jar包
   {hadoop_home}/_sources/目录:hadoop java开发程序所依赖的源码包
   {hadoop_home}/_test/目录:hadoop java开发程序所依赖的测试包

       b.集成eclipse环境
           1.将hadoop-eclipse-plugin-2.6.0.jar复制到{myeclipse_home}/plugins下;
   2.重启eclise;
   3.校验安装是否成功:
                    在MyEclipse中查看windows-->perferences-->hadoop Mapreduce(出现)
   4.在【hadoop Mapreduce】视图下,添加hadoop的安装路径:D:\hadoop-2.7.3
   5.创建hadoop的链接:--使得与虚拟机hdfs相连接
       a>.打开Windows-->show Views-->MapReduce Tools-->【Map/Reduce Locations】
                视图,单击,  就会出现一个小象;
                     在空白页面-->右键【新建hadoop Location...】-->弹出编辑窗口(看b)
        
       b>.dfs RPC 协议端口号为:9000       【注:默认为8020】
          mapreduce RPC协议端口号为:9001  【注:默认为8021】
  user name:hyxy     【注:集群名字】
  host     :master  【注:master在windows上映射对应的ip为192.168.207.50】

       c.配置windows Hadoop工具包
                                指的是--D:\ hadoo2.7.3 的 hadoop.dll 和  winutils.exe.zip          1.拷贝hadoop .dll和winutils.exe至{hadoop_home}\bin;
             2.配置环境变量:HADOOP_HOME=D:\hadoop-2.7.3   ;
                 PATH = %HADOOP_HOME%\bin; 
                 需要重启电脑;

       d.创建工程,编写API

 还需要配置的一些地方:
                  1.需要保证MyEclipse使用版本是本机的jdk1.7的版本,
        不是自带的com.sun.java.jdk7.win32.x86_64_1.7.0.u45
        


2.     d.创建工程,编写API 过程中需要配置的一些参数 :--将Hadoop依赖的.jar包导入MyEclipse中
        我创建的工程名:MyHadoop
        1) MyHadoop-->右键-->选择Build Path -->Configure build path-->Libraries-->Add External JARs
            添加之前拷贝的【_jar文件夹】(在hadoop-2.7.3/_jar)

        2)在com包下:paste--log4j.properties  (D:\hadoop-2.7.3\etc\hadoop\log4j.properties )  主要存一些日志信息


        

        

过程中出现的错误:
        1)java.lang.IllegalArgumentException: Wrong FS: hdfs://master:9000/test.txt, expected: file:///
at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:648)
          原因: 默认读取file:///..., 其中的core-site.xml文件,我们没有配置,
                解决:得重新创建core-site.xml【在src/core-site.xml】,从虚拟机的core-site.xml复制 到 Myeclipse/src/core-site.xml
      

   2) org.apache.hadoop.security.AccessControlException: Permission denied: user=Mclusilu, access=WRITE, inode="/mkdir_path":hyxy:supergroup:drwxr-xr-x(当我们创建文件夹的时候会报错)
                原因:权限不够
                解决:在虚拟机:hadoop fs -chmod   -R  a+w   /
                            使得HDFS文件系统下的文件都具有写权限;

        

    

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值