• HDFS基本命令行操作及上传文件的简单API


    一、HDFS基本命令行操作:

    1.HDFS集群修改SecondaryNameNode位置到hd09-2
        (1)修改hdfs-site.xml
            <configuration>
                //配置元数据存储位置
                <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>/root/hd/dfs/name</value>
                </property>
                //配置数据存储位置
                <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>/root/hd/dfs/data</value>
                </property>
                
                <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>hd09-2:50090</value>
                </property>    
            </configuration>
            
            注意上面的第三个<property>不是
                <property>
                    <name>dfs.namenode.secondary.https-address</name>
                    <value>hd09-2:50090</value>
                </property>    
            
        (2)分发hdfs-site.xml到其他服务器
            cd /root/hd/hadoop-2.8.4/etc/hadoop
            
            scp hdfs-site.xml hd09-2:$PWD
            scp hdfs-site.xml hd09-3:$PWD
        
        (3)hdfs启动命令
            start-dfs.sh
        
        (4)hdfs停止命令
            stop-dfs.sh
    
    2.HDFS集群修改replication(副本数)
            修改hdfs-site.xml 在<configuration>中加入
                <property>
                    <name>dfs.replication</name>
                    <value>3</value>
                </property>
            其中<value>中的值就是副本数
    
    3.HDFS集群修改blocksize(块大小)                
            修改hdfs-site.xml 在<configuration>中加入
                <property>
                    <name>dfs.blocksize</name>
                    <value>134217728</value>
                </property>
            其中<value>中的值就是块大小,单位是字节(byte)
            
    4.hdfs命令行
        (1)查看帮助
            hdfs dfs -help 
            
        (2)查看当前目录信息
            hdfs dfs -ls /
            
        (3)上传文件
            hdfs dfs -put /本地路径 /hdfs路径
            
        (4)剪切文件
            hdfs dfs -moveFromLocal a.txt /aa.txt
            
        (5)下载文件到本地
            hdfs dfs -get /hdfs路径 /本地路径
            
        (6)合并下载
            hdfs dfs -getmerge /hdfs路径文件夹 /合并后的文件
            
        (7)创建文件夹
            hdfs dfs -mkdir /hello
            
        (8)创建多级文件夹
            hdfs dfs -mkdir -p /hello/world
            
        (9)移动hdfs文件
            hdfs dfs -mv /hdfs路径 /hdfs路径
            
        (10)复制hdfs文件
            hdfs dfs -cp /hdfs路径 /hdfs路径
            
        (11)删除hdfs文件
            hdfs dfs -rm /aa.txt
            
        (12)删除hdfs文件夹
            hdfs dfs -rm -r /hello
            
        (13)查看hdfs中的文件
            hdfs dfs -cat /文件
            hdfs dfs -tail -f /文件
            
        (14)查看文件夹中有多少个文件
            hdfs dfs -count /文件夹
            
        (15)查看hdfs的总空间
            hdfs dfs -df /
            hdfs dfs -df -h /
            
        (16)修改副本数    
            hdfs dfs -setrep 1 /a.txt
        

    二、上传文件的简单API:

     
    package com.css.hdfs01;
    
    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    public class HdfsClientDemo01 {
        public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException {
            //1.客户端加载配置文件
            Configuration conf = new Configuration();
            
            //2.指定配置(设置成2个副本数)
            conf.set("dfs.replication", "2");
            
            //3.指定块大小
            conf.set("dfs.blocksize", "64m");
            
            //4.构造客户端
            FileSystem fs = FileSystem.get(new URI("hdfs://192.168.146.132:9000"), conf, "root");
            
            //5.上传文件
            fs.copyFromLocalFile(new Path("c:/words.txt"), new Path("/words.txt"));
            
            //6.关闭资源
            fs.close();
        }
    }
     
  • 相关阅读:
    IEnumerable和IQueryable的区别
    最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂去吃翔
    JSON遍历方法
    将Sublime Text 2搭建成一个好用的IDE
    Linux入门教程
    apache如何配置默认的根目录
    Web移动端Fixed布局的解决方案
    node-创建模块
    关于文字内容溢出用点点点(…)省略号表示
    JavaScript设计模式与开发实践 | this、call和apply
  • 原文地址:https://www.cnblogs.com/sandea/p/11982292.html
Copyright © 2020-2023  润新知