Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)(2)

简介: Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)

查看目录信息:

做一些测试文件:

image.png



遍历【/data/下的所有文件】


import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.hadoop.fs.permission.FsPermission;
public class Action {
    public static void main(String[] args) {
        Action action = new Action();
        action.init();
        try {
            //查看根目录信息
            RemoteIterator<LocatedFileStatus> listFiles = action.fs.listFiles(new Path("/data/infos/"),true);
            while (listFiles.hasNext()){
                LocatedFileStatus next = listFiles.next();
                Path path = next.getPath();
                long blockSize = next.getBlockSize();
                FsPermission permission = next.getPermission();
                long len = next.getLen();
                System.out.println("Linux路径:"+path);
                System.out.println("磁盘大小"+blockSize);
                System.out.println("权限"+permission);
                System.out.println("大小"+len+"KB");
                System.out.println("-------------------");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    Configuration conf = null;
    FileSystem fs = null;
    public void init() {
        conf = new Configuration();
        try {
            fs = FileSystem.get(conf);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

image.png


遍历文件以及文件夹listStatus:


image.png

编码:


import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.fs.permission.FsPermission;
public class Action {
    public static void main(String[] args) {
        Action action = new Action();
        action.init();
        try {
            //查看根目录信息
            FileStatus[] fileStatuses = action.fs.listStatus(new Path("/data/infos/"));
            for (FileStatus file:fileStatuses) {
                if(file.isFile()){
                    System.out.println("文件"+file.getPath().getName());
                }else{
                    System.out.println("文件夹"+file.getPath().getName());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    Configuration conf = null;
    FileSystem fs = null;
    public void init() {
        conf = new Configuration();
        try {
            fs = FileSystem.get(conf);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

效果:

image.png



获取所有节点信息(win系统上看不到)

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.hdfs.DistributedFileSystem;
import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
public class Action {
    public static void main(String[] args) {
        Action action = new Action();
        action.init();
        try {
            DistributedFileSystem distributedFileSystem =
                    (DistributedFileSystem) action.fs;
            DatanodeInfo[] datanodeInfos = distributedFileSystem.getDataNodeStats();
            for (DatanodeInfo datanodeInfo : datanodeInfos) {
                System.out.println(datanodeInfo.getHostName());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    Configuration conf = null;
    FileSystem fs = null;
    public void init() {
        conf = new Configuration();
        try {
            fs = FileSystem.get(conf);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


HDFS 的设计特点

能够存储超大文件

流式数据访问

商用硬件

不能处理低时间延迟的数据访问

不能存放大量小文件

无法高效实现多用户写入或者任意修改文件


相关文章
|
3月前
|
分布式计算 Ubuntu Hadoop
百度搜索:蓝易云【Ubuntu搭建全分布式Hadoop】
请注意,以上只是概述,并不包含详细的步骤和指令。搭建全分布式Hadoop是一个复杂的过程,需要对Hadoop的架构和配置有深入的理解,并熟悉Linux系统管理。建议在搭建全分布式Hadoop之前,先学习相关知识并查阅官方文档和教程,以确保正确搭建和配置Hadoop集群。
27 0
|
2月前
|
分布式计算 Hadoop Java
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
65 0
|
14天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
2天前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
8天前
|
分布式计算 负载均衡 Hadoop
Hadoop集群节点添加
Hadoop集群节点添加
|
12天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03+04】【Hadoop集群资源管理器yarn】(图片来源于网络)(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第5天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
41 9
|
13天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)
【4月更文挑战第4天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)
23 4
|
16天前
|
存储 分布式计算 Hadoop
【Hadoop】Hadoop的三种集群模式
【4月更文挑战第9天】【Hadoop】Hadoop的三种集群模式
|
17天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
17 0
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop集群基本测试
Hadoop集群基本测试
26 0

热门文章

最新文章