美文网首页
hadoop学习笔记(三)

hadoop学习笔记(三)

作者: 桐间纱路 | 来源:发表于2018-03-06 17:15 被阅读0次

    环境搭建好之后我们就要用java操作hdfs了

    首先我们新建个maven项目,并引入如下依赖:

        <dependency>
    
            <groupId>org.apache.hadoop</groupId>
    
            <artifactId>hadoop-common</artifactId>
    
            <version>2.7.5</version>
    
        </dependency>
    
        <dependency>
    
            <groupId>org.apache.hadoop</groupId>
    
            <artifactId>hadoop-hdfs</artifactId>
    
            <version>2.7.5</version>
    
        </dependency>
    

    因为我的hadoop是2.7.5版本,因此我导入2.7.5版本jar包。

    我们新建一个Demo类。然后通过FileSystem fs = FileSystem.get(conf);创建一个实例,该类在org.apache.hadoop.fs.FileSystem中,不要引错。FileSystem.get()方法要求传入一个org.apache.hadoop.conf.Configuration类型的参数。我们直接new一个Configuration,它会自动读取src目录下的配置文件,因此,我们需要从我们的集群中copy出core-site.xml和hdfs-site.xml放入src目录下,由于我们搭建集群时配置了hostname映射,因此我们要修改一下我们client的hosts映射,如果不修改,需要将我们copy的配置文件中node1等节点名改为节点对应的ip。

    好了,现在我们可以开始尝试了。我们调用fs的mkdirs()方法。创建一个文件夹,该方法需要传入一个org.apache.hadoop.fs.Path类型的参数,我们new一个Path,Path path =new Path("/tmp");

    fs.mkdirs(path); 当然,最后不要忘记fs.close();运行一下,看看我们的tmp文件是不是创建成功了。

    如果发现报错,可能是因为我们client的用户名和namenode的用户名不对应,因为hdfs的安全策略必须保证用户名相同,我们只要修改client的用户名就可以了。修改方法如下:

    电脑桌面→开始→运行,快捷键win+R
    
    输入netplwiz,点击确定
    
    选中当前用户名,点击属性
    
    对用户名进行更改,并应用确定
    
    重启计算机,使之生效
    

    当然FileSystem还有许多api在此不一一赘述。

    相关文章

      网友评论

          本文标题:hadoop学习笔记(三)

          本文链接:https://www.haomeiwen.com/subject/ejjrfftx.html