HDFS基本命令及上传文件API

本文档详细介绍了HDFS的基本命令行操作,包括修改SecondaryNameNode位置、设置副本数和块大小,以及一系列文件管理命令。此外,还提供了一个简单的Java API示例用于上传文件到HDFS。
摘要由CSDN通过智能技术生成

一、HDFS基本命令行操作:

1.HDFS集群修改SecondaryNameNode位置到hd09-21)修改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();
    }
}

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值