HDFS

HDFS由大量服务器组成存储集群,将数据进行分片与副本,实现高容错。

而分片最小的单位就是块。默认块的大小是64M。

HDFS Cli操作

官网https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/FileSystemShell.html

启动命令

sbin/start-dfs.sh 

停止命令

sbin/stop-dfs.sh

创建目录

hadoop fs -mkdir /chesterdata

查看是否创建成功

hadoop fs -ls /

上传文件

hadoop fs -put test.txt /chesterdata

查看文件

hadoop fs -ls /chesterdata

验证块是不是64M,上传一个130M的文件

hadoop fs -put /usr/local/golang1181/go1.18.1.linux-amd64.tar.gz /chesterdata

查看此文件的块信息,hdfs的命令https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html

hdfs fsck /chesterdata/go1.18.1.linux-amd64.tar.gz -files -blocks

编程语言操作HDFS

在Github上搜hdfs可以看到哪些语言支持hdfs的操作

我们选择golang来演示操作

引入github.com/colinmarc/hdfs,官网https://pkg.go.dev/github.com/colinmarc/hdfs#section-readme

package main

import "github.com/colinmarc/hdfs"

通过go mod tidy安装

[root@localhost hdfsdemo]# go mod tidy
go: finding module for package github.com/colinmarc/hdfs
go: downloading github.com/colinmarc/hdfs v1.1.3
go: found github.com/colinmarc/hdfs in github.com/colinmarc/hdfs v1.1.3
go: finding module for package github.com/golang/protobuf/proto

创建hdfsclient,并尝试删除hdfs中的/chesterdata/go1.18.1.linux-amd64.tar.gz

package main

import (
"fmt" "github.com/colinmarc/hdfs"
) func main() {
client, _ := hdfs.New("localhost:9000") err := client.Remove("/chesterdata/go1.18.1.linux-amd64.tar.gz")
fmt.Println(err)
}

通过go run .运行

[root@localhost hdfsdemo]# go run .
<nil>

通过cli检查是否真正删除

[root@localhost hadoop-3.2.3]# hadoop fs -ls /chesterdata

根据ui来查看文件

Hadoop(二)Hdfs基本操作的更多相关文章

  1. hadoop(二):hdfs HA原理及安装

    早期的hadoop版本,NN是HDFS集群的单点故障点,每一个集群只有一个NN,如果这个机器或进程不可用,整个集群就无法使用.为了解决这个问题,出现了一堆针对HDFS HA的解决方案(如:Linux ...

  2. Hadoop集群(二) HDFS搭建

    HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS展开的.所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始. 安装Hadoop集群,首先需要有Zookeeper ...

  3. Hadoop之HDFS文件操作常有两种方式(转载)

    摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HD ...

  4. Hadoop入门--HDFS(单节点)配置和部署 (一)

    一 配置SSH 下载ssh服务端和客户端 sudo apt-get install openssh-server openssh-client 验证是否安装成功 ssh username@192.16 ...

  5. hdfs基本操作

    hdfs基本操作 1.查询命令 hadoop dfs -ls /   查询/目录下的所有文件和文件夹 hadoop dfs -ls -R 以递归的方式查询/目录下的所有文件 2.创建文件夹 hadoo ...

  6. Hadoop基础-HDFS的API常见操作

    Hadoop基础-HDFS的API常见操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习HDFS时的一些琐碎的学习笔记, 方便自己以后查看.在调用API ...

  7. Hadoop基础-HDFS安全管家之Kerberos实战篇

    Hadoop基础-HDFS安全管家之Kerberos实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道hadoop有很多不同的发行版,比如:Apache Hadoop ...

  8. Hadoop基础-Hdfs各个组件的运行原理介绍

    Hadoop基础-Hdfs各个组件的运行原理介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode工作原理(默认端口号:50070) 1>.什么是NameN ...

  9. Hadoop基础-HDFS的读取与写入过程剖析

    Hadoop基础-HDFS的读取与写入过程剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简要介绍hadoop的写入过程,并不会设计到源码,我会用图和文字来描述hdf ...

  10. 深入理解Hadoop之HDFS架构

    Hadoop分布式文件系统(HDFS)是一种分布式文件系统.它与现有的分布式文件系统有许多相似之处.但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成本硬件上 ...

随机推荐

  1. Spring 框架中的单例 bean 是线程安全的吗?

    不,Spring 框架中的单例 bean 不是线程安全的.

  2. 解释 AOP?

    面向切面的编程,或 AOP, 是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理.

  3. 学习saltstack (五)

    Saltstack介绍 Salt三种运行方式 1.local本地运行2.Master/Minion3.Salt ssh Salt的三大功能 a.远程执行b.配置管理(状态管理)c.云管理:阿里云,aw ...

  4. 开关电源PCB排版,基本要点分析

    1 开关电源PCB排版基本要点 1.1 电容高频滤波特性 图1是电容器基本结构和高频等效模型. 电容的基本公式是 式(1)显示,减小电容器极板之间的距离(d)和增加极板的截面积(A)将增加电容器的电容 ...

  5. 淘宝 rem 机制入门学习

    一 移动设备尺寸多种多样,带来适配难度,有时甚至无从下手.1 移动设备上的Px 像素不等于设备的物理像素.iphone 6 作为开发标准设备不等于设备的物理像素.iPhone 5 物理宽度320iPh ...

  6. 无需Flash录视频——HTML5中级进阶

    前言 HTML5的权限越来越大了,浏览器可以直接调用摄像头.麦克风了,好激动啊.我们要用纯洁的HTML代码造出自己的天地. 视频采集 本篇介绍的栗子 都是在chrome 47 版本以上的,低版本的可能 ...

  7. 结合Vue.js的前端压缩图片方案

    这是一个很简单的方案.嗯,是真的. 为什么要这么做? 在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体 ...

  8. 【VUE】 前端面试题小结

    1,对代码重构的理解: 2,http和https协议有什么区别 3,从输入URL到页面加载全过程 4,前端怎么控制管理路由 5,缓存机制(描述一下 cookies,sessionStorage 和 l ...

  9. Javascript中数组的判断方法

    摘要: 1.数组检测的方法: 1) typeof . 2) instanceof . 3) constructor . 4) Object.prototype.toString. 5) Array.i ...

  10. 使用vue-cli构建工具构建vue项目时候组件的使用

    <template> <div class="contains"> <!-- <div class="main"> & ...