hadoop dfs下文件的操作

上传,下载文件

 Configuration conf=new Configuration();
        FileSystem hdfs=FileSystem.get(conf);
        //本地文件
        Path src =new Path("F:\\abc.txt");
        //HDFS为止
        Path dst =new Path("/");
        hdfs.copyFromLocalFile(src, dst);
   //下载为
   //hdfs.copyToLocalFile(dst,src);

        System.out.println("Upload to"+conf.get("fs.default.name"));

       

        FileStatus files[]=hdfs.listStatus(dst);

        for(FileStatus file:files){

            System.out.println(file.getPath());

        }

删除

Configuration conf=new Configuration();
        FileSystem hdfs=FileSystem.get(conf);
        Path delef=new Path("/TestDir");
        boolean isDeleted=hdfs.delete(delef,false);

        //递归删除

        //boolean isDeleted=hdfs.delete(delef,true);

        System.out.println("Delete?"+isDeleted);

    }

创建文件 文件夹

 Configuration conf=new Configuration();
        FileSystem hdfs=FileSystem.get(conf);

        Path dfs=new Path("/TestDir");

       

        hdfs.mkdirs(dfs);

 Configuration conf=new Configuration();

        FileSystem hdfs=FileSystem.get(conf);

       

        byte[] buff="hello hadoop world!\n".getBytes();

       

        Path dfs=new Path("/test");

       

        FSDataOutputStream outputStream=hdfs.create(dfs);

        outputStream.write(buff,0,buff.length);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.a1 192.168.9.1 (master) a2 192.168.9.2 (slave1) a3 192.168.9.3 (slave2) 修改/etc/hosts 2.3台机器 创建hadoop 用户 hadoop 密码:123 3.安装JDK (3台都安装) [root@a1 ~]# chmod 777 jdk-6u38-ea-bin-b04-linux-i586-31_oct_2012-rpm.bin [root@a1 ~]# ./jdk-6u38-ea-bin-b04-linux-i586-31_oct_2012-rpm.bin [root@a1 ~]# cd /usr/java/jdk1.6.0_38/ [root@a1 jdk]# vi /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_25 export JAVA_BIN=/usr/java/jdk1.7.0_25/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH 重启你的系统 或 source /etc/profile [root@a1 ~]# /usr/java/jdk1.6.0_38/bin/java -version java version "1.6.0_38-ea" Java(TM) SE Runtime Environment (build 1.6.0_38-ea-b04) Java HotSpot(TM) Client VM (build 20.13-b02, mixed mode, sharing) 4.安装hadoop (3台都安) [root@a1 ~]# tar zxvf hadoop-0.20.2-cdh3u5.tar.gz -C /usr/local 编辑hadoop 配置文件 [root@a1 ~]# cd /usr/local/hadoop-0.20.2-cdh3u5/conf/ [root@a1 conf]# vi hadoop-env.sh 添加 export JAVA_HOME=/usr/java/jdk1.7.0_25 设置namenode启动端口 [root@a1 conf]# vi core-site.xml 添加 <configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop1:9000</value> </property> </configuration> 设置datanode节点数为2 [root@a1 conf]# vi hdfs-site.xml 添加 <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration> 设置jobtracker端口 [root@a1 conf]# vim mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>hadoop1:9001</value> </property> </configuration> [root@a1 conf]# vi masters 改为 a1(主机名) [root@a1 conf]# vi slaves 改为 a2 a3 拷贝到其他两个节点 [root@a1 conf]# cd /usr/local/ [root@a1 local]# scp -r ./hadoop-0.20.2-cdh3u5/ a2:/usr/local/ [root@a1 local]# scp -r ./hadoop-0.20.2-cdh3u5/ a3:/usr/local/ 在所有节点上执行以下操作,把/usr/local/hadoop-0.20.2-cdh3u5的所有者,所有者组改为hadoop并su成该用户 [root@a1 ~]# chown hadoop.hadoop /usr/local/hadoop-0.20.2-cdh3u5/ -R [root@a2 ~]# chown hadoop.hadoop /usr/local/hadoop-0.20.2-cdh3u5/ -R [root@a3 ~]# chown hadoop.hadoop /usr/local/hadoop-0.20.2-cdh3u5/ -R [root@a1 ~]# su - hadoop [root@a2 ~]# su - hadoop [root@a3 ~]# su - hadoop 所有节点上创建密钥 [hadoop@a1 ~]$ ssh-keygen -t rsa [hadoop@a2 ~]$ ssh-keygen -t rsa [hadoop@a3 ~]$ ssh-keygen -t rsa [hadoop@a1 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a1 [hadoop@a1 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a2 [hadoop@a1 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a3 [hadoop@a2 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a1 [hadoop@a2 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a2 [hadoop@a2 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a3 [hadoop@a3 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a1 [hadoop@a3 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a2 [hadoop@a3 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a3 格式化 namenode [hadoop@a1 ~]$ cd /usr/local/hadoop-0.20.2-cdh3u5/ [hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/hadoop namenode -format 开启 [hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/start-all.sh 在所有节点查看进程状态验证启动 [hadoop@a1 hadoop-0.20.2-cdh3u5]$ jps 8602 JobTracker 8364 NameNode 8527 SecondaryNameNode 8673 Jps [hadoop@a2 hadoop-0.20.2-cdh3u5]$ jps 10806 Jps 10719 TaskTracker 10610 DataNode [hadoop@a3 hadoop-0.20.2-cdh3u5]$ jps 7605 Jps 7515 TaskTracker 7405 DataNode [hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/hadoop dfsadmin -report

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值