Hadoop(二)Hdfs基本操作
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基本操作的更多相关文章
- hadoop(二):hdfs HA原理及安装
早期的hadoop版本,NN是HDFS集群的单点故障点,每一个集群只有一个NN,如果这个机器或进程不可用,整个集群就无法使用.为了解决这个问题,出现了一堆针对HDFS HA的解决方案(如:Linux ...
- Hadoop集群(二) HDFS搭建
HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS展开的.所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始. 安装Hadoop集群,首先需要有Zookeeper ...
- Hadoop之HDFS文件操作常有两种方式(转载)
摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件 命令行 Java API HD ...
- Hadoop入门--HDFS(单节点)配置和部署 (一)
一 配置SSH 下载ssh服务端和客户端 sudo apt-get install openssh-server openssh-client 验证是否安装成功 ssh username@192.16 ...
- hdfs基本操作
hdfs基本操作 1.查询命令 hadoop dfs -ls / 查询/目录下的所有文件和文件夹 hadoop dfs -ls -R 以递归的方式查询/目录下的所有文件 2.创建文件夹 hadoo ...
- Hadoop基础-HDFS的API常见操作
Hadoop基础-HDFS的API常见操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习HDFS时的一些琐碎的学习笔记, 方便自己以后查看.在调用API ...
- Hadoop基础-HDFS安全管家之Kerberos实战篇
Hadoop基础-HDFS安全管家之Kerberos实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道hadoop有很多不同的发行版,比如:Apache Hadoop ...
- Hadoop基础-Hdfs各个组件的运行原理介绍
Hadoop基础-Hdfs各个组件的运行原理介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode工作原理(默认端口号:50070) 1>.什么是NameN ...
- Hadoop基础-HDFS的读取与写入过程剖析
Hadoop基础-HDFS的读取与写入过程剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简要介绍hadoop的写入过程,并不会设计到源码,我会用图和文字来描述hdf ...
- 深入理解Hadoop之HDFS架构
Hadoop分布式文件系统(HDFS)是一种分布式文件系统.它与现有的分布式文件系统有许多相似之处.但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成本硬件上 ...
随机推荐
- 如果一个 linux 新手想要知道当前系统支持的所有命令的列表,他需要怎么做?
使用命令 compgen -c,可以打印出所有支持的命令列表. [root@localhost ~]$ compgen -cl.lllswhichifthen elseelifficaseesacfo ...
- 什么是 Spring Cloud?
Spring cloud 流应用程序启动器是 于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生命周期短暂的微服务框架,用于快 ...
- @Qualifier 注解有什么用?
当您创建多个相同类型的 bean 并希望仅使用属性装配其中一个 bean 时,您可 以使用@Qualifier 注解和 @Autowired 通过指定应该装配哪个确切的 bean 来消除歧义. 例如, ...
- Java 中 WeakReference 与 SoftReference 的区别?
虽然 WeakReference 与 SoftReference 都有利于提高 GC 和 内存的效率, 但是 WeakReference ,一旦失去最后一个强引用,就会被 GC 回收,而软引用 虽然不 ...
- 简单的多选框选择功能js代码
最近没事写了个特别基础的多选框功能代码,代码如下:js部分: //获取所有class为checkbox的多选按钮(需要以下功能需要先写出对应功能的元素). var checkBoxList = doc ...
- 前端网络安全——Cookies
一.Cookies特性 1.前端数据存储 2.后端通过http头设置 3.请求时通过http头传给后端 4.前端可读写 5.遵守同源策略 二.Cookies内容 1.域名 2.有效期,删除cookie ...
- myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小 java.lang.OutOfMemoryError: PermGen space及其解决方法
Window->Preferences->MyEclipse->Servers->Tomcat x.x->JDK->Optional Java VM argumen ...
- Java Web项目与Java项目的区别
一.以下是我对Java Web项目和Java项目这两者的理解以及区别: 1.Java Web项目是基于Java EE类的:而Java项目是基于Java应用程序的. 2.Java Web项目是网页的编码 ...
- java多线程的状态转换以及基本操作
1. 新建线程 一个java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上java程序天生就是一个多线程程序,包含了:(1)分发处理发送给给JVM信号的线程 ...
- vuecli中配置webpack加快打包速度
webpack4中webpack 的DllPlugin插件可以将常见的库文件作为dll文件来,每次打包的时候就不用再次打包库文件了. 但是游鱼西在vuecli中已经去除这个选项,意识到带来的打包速度提 ...