实训笔记7.13

这篇具有很好参考价值的文章主要介绍了实训笔记7.13。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

7.13

一、座右铭

我的故事你说,我的文字我落,我值几两你定,我去何方我挑。

二、Hadoop的安装配置

九个核心文件的修改

三、Hadoop的HDFS的基本操作

3.1 HDFS的组成

NameNode

DataNode

SecondaryNameNode

3.2 HDFS的命令行操作方式

hdfs dfs -xxxx xxxxx

3.3 HDFS的JavaAPI操作方式

FileSystem类文章来源地址https://www.toymoban.com/news/detail-565493.html

四、代码示例

package com.sxuek;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * HDFS查看某个路径下的所有文件和文件夹的信息
 */
public class Demo {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.68.101:9000"), conf, "root");
        /**
         *
         */
        FileStatus[] fileStatuses = fs.listStatus(new Path("/"));
        for (FileStatus fileStatus : fileStatuses) {
            System.out.println(fileStatus.getPath());
            System.out.println(fileStatus.getBlockSize());
            System.out.println(fileStatus.getPermission());
            System.out.println(fileStatus.getOwner());
            System.out.println(fileStatus.getGroup());
        }

    }
}

package com.sxuek;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * HDFS的相关判断类型的JavaAPI操作
 */
public class Demo01 {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.68.101:9000"), conf, "root");
        boolean b = fs.isDirectory(new Path("/demo"));
        System.out.println(b);
        boolean b1 = fs.isFile(new Path("/demo"));
        System.out.println(b1);

        boolean exists = fs.exists(new Path("/a"));
        System.out.println(exists);
    }
}

package com.sxuek;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * HDFS的创建相关的JavaAPI
 */
public class Demo02 {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.68.101:9000"), conf, "root");
        boolean mkdirs = fs.mkdirs(new Path("/a/b"));
        System.out.println(mkdirs);

        boolean newFile = fs.createNewFile(new Path("/a/a.txt"));
        System.out.println(newFile);

    }
}

package com.sxuek;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * HDFS提供了一个可以借助JavaIO流读取数据的方法
 */
public class Demo03 {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.68.101:9000"), conf, "root");

        FSDataInputStream inputStream = fs.open(new Path("/jdk-8u371-linux-x64.tar.gz"));
        inputStream.seek(128*1024*1024);
        FileOutputStream fos = new FileOutputStream("c:/users/lenovo/desktop/block2");
        int read = 0;
        while ((read = inputStream.read()) != -1){
            fos.write(read);
        }
        System.out.println("第二个数据块读取完成");
    }
}

log4j.rootLogger=INFO,Console

# Console - 将日志打印到控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

到了这里,关于实训笔记7.13的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实训笔记9.4

    git官网 1.1 建立仓库 git init 1.2 添加到暂存区 git add 文件名称 git add . 1.3 提交到历史区 git commit -m \\\"提交信息\\\" 1.4 查看 1.4.1 查看当前版本库状态 git status 1.4.2 查看版本日志信息 git log git log --oneline 单行模式 git log --oneline --graph ——单行带图形 1.4.3 查看版本的变更历史 git reflog

    2024年02月09日
    浏览(25)
  • 实训笔记7.7

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 使用ssh远程连接协议进行连接 2.2 ssh使用有两种方式 使用命令来连接 ssh 用户名@ip 使用一些软件来连接 xshell finalshell 3.1 查看当前工作目录 pwd 3.2 切换工作目录的命令 cd 路径(绝对路径/相对路径) Linux的目录

    2024年02月13日
    浏览(31)
  • 实训笔记8.25

    将海量的数据通过某种技术采集到大数据环境中进行存储和管理,为后期的大数据处理分析做准备 常见的数据:网站/软件的运行日志、记录的日志,软件的结构化数据、爬虫数据、传感器采集数据… Flume是apache开源的顶尖项目,专门是采集和聚合海量的日志数据。但是随着

    2024年02月11日
    浏览(28)
  • 实训笔记6.21

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 JavaIO流 2.1.1 从三个角度分为六类 输入流和输出流 字节流和字符流 节点流和功能流 2.1.2 IO流的四大抽象基类 四大抽象基类 InputStream OutputStream Reader Writer InputStream、OutputStream: 所有格式的数据 Reader、Writer:

    2024年02月10日
    浏览(26)
  • 实训笔记8.29

    1.1 项目的预备知识 1.1.1 电商平台 1.1.2 用户行为数据 访客的用户信息 访客的终端信息 请求网址信息 请求来源信息 请求的产品信息 1.1.3 常见的软件/网站的组成和技术实现 前端 后端 数据库 1.1.4 大数据中数据计算场景 离线计算 实时计算 图计算 算法挖掘推荐等等 1.2 项目的

    2024年02月10日
    浏览(28)
  • 实训笔记6.5

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 Java基本语法 1、Java的安装和环境变量的配置 JDK、JRE、JVM的区别 环境变量的配置 2、Java的标识符、和保留字 包名:纯小写 类名:大驼峰命名法 方法名和属性名:小驼峰命名法 static final 修饰的属性名:全

    2024年02月08日
    浏览(37)
  • 华为实训课笔记

    ping 基于ICMP协议,用来进行可达性测试 ping +目的IP地址/设备域名(主机名) 如果能收到 reply 回复,则表示双方可以正常通信。一次正常的数据通信必须是有去有回。 Huawei 用户视图,只能做查询和一些简单的资源调用,还有配置保存 Huaweisystem-view 进入系统视图 [Huawei] 系统视

    2024年02月04日
    浏览(26)
  • 粤嵌实训笔记二

    1、在Linux下,使用 gcc 来编译 gcc xxx.c -- 默认生成的可执行文件 名为 a.out gcc xxx.c -o xx -- 生成指定名字的可执行文件 xx 2、交叉编译 :在一个环境下编译生成 适用于 另一个环境下的可执行文件 3、为交叉编译工具创建软连接 sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-

    2024年02月03日
    浏览(35)
  • 实训笔记6.26

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 Java多线程 2.1.1 一些概念知识 程序、进程、线程 单核CPU和多核CPU 并行和并发 2.1.2 多线程的创建方式 继承Thread类,重写run方法 实现Runnable接口,重写run方法 实现Callable接口,重写call方法 使用线程池 缓存线程

    2024年02月11日
    浏览(26)
  • 实训笔记7.19

    我的故事你说,我的文字我落,我值几两你定,我去何方我挑。 2.1 HDFS上传数据的流程 2.2 HDFS下载数据的流程 2.1~2.2:客户端Client 主节点NameNode 从节点DataNode 2.3 HDFS中NameNode和SecondaryNameNode工作机制(涉及到HDFS的元数据管理操作) 一个概念和两个文件:元数据、edits编辑日志文

    2024年02月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包