【Hadoop】-HDFS的Shell操作[3]

目录

前言

一、HDFS集群启停命令

1.一键启停脚本可用

2.独立进程启停可用

 二、文件系统操作命令

1、创建文件夹

2、查看指定目录下内容

3、上传文件到HDFS指定目录下 

4、查看HDFS文件内容

5、下载HDFS文件

6、拷贝HDFS文件

7、追加数据到HDFS文件中

8、HDFS数据移动操作

9、HDFS数据删除

!  HDFS WEB浏览

补充:修改权限

三、HDFS客户端 - jetbrians产品插件

1.Big Data Tools插件

2、配置Windows

3、配置Big Data Tools插件

四、HDFS客户端 - NFS

4.1使用NFS网关功能将HDFS挂载到本地系统

4.1.1、HDFS NFS Gateway

4.1.2、配置NFS

1.在core-site.xml内新增如下两项

2、在hdfs-site.xml中新增如下项

4.1.3、启用NFS功能 

4.1.4、检查NFS是否正常

4.1.5、在windows挂载HDFS文件系统


前言

Hadoop Distributed File System (HDFS) 是一个分布式文件系统,用于存储和处理大规模数据集。HDFS具有高可扩展性、高容错性和高吞吐量的特点,是Apache Hadoop框架的核心组件之一。

HDFS提供了一个命令行界面(Shell),用于管理和操作文件系统中的文件和目录。使用HDFS的Shell,用户可以执行各种文件系统操作,如创建目录、上传文件、下载文件、删除文件等。

HDFS的Shell操作类似于Linux的命令行操作,用户可以使用一系列命令来完成各种操作。Shell命令包括一些基本的文件系统操作命令,如ls(列出文件和目录)、mkdir(创建目录)、put(上传文件)、get(下载文件)、rm(删除文件)等。此外,HDFS的Shell还提供了一些其他有用的命令,如chown(修改文件所有者)、chgrp(修改文件所属组)、chmod(修改文件权限)等。

用户可以通过在终端中输入hdfs命令来启动HDFS的Shell。在Shell中,用户可以使用上述命令来管理和操作HDFS文件系统中的文件和目录。通过简单的命令,用户可以轻松地完成HDFS文件系统的常见操作。

HDFS的Shell操作简单方便,适用于对文件进行基本的管理和操作。对于更复杂的操作,如数据分析和处理,用户通常会使用其他工具,如Hadoop MapReduce或Spark等。但对于一些简单的文件系统操作,HDFS的Shell是十分有用的。

一、HDFS集群启停命令

1.一键启停脚本可用

  • $HADOOP_HOME/sbin/strat-dfs.sh
  • $HADOOP_HOME/sbin/stop.sh

由于在前置设置中已经配置好了环境,所以只需要执行红色代码即可。

2.独立进程启停可用

  • $HADOOP_HOME/sbin/hadoop-deamon.sh
  • $HADOOP_HOME/sbin/hdfs  --daemon

 二、文件系统操作命令

关于HDFS文件系统的操作命令,Hadoop提供了2套命令体系

  • hadoop命令(老版本用法),用法:hadoop  fs  [generic  options]
  • hdfs命令(新版本用法),用法:hdfs  dfs  [generic options]

1、创建文件夹

  • hadoop  fs  -mkdir  [-p]  <path> .......
  • hdfs  dfs  -mkdir  [-p]  <path>......

path为待创建的目录

-p选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录

2、查看指定目录下内容

  • hadoop  fs -ls  [-h] [-R]  <path> .......
  • hdfs  dfs  -ls  [-h]  [-R]  <path>......

-h人性化显示文件size

-R递归查看指定目录及其子目录

可以查看到我们之前所创建的文件夹。

3、上传文件到HDFS指定目录下 

  • hadoop  fs -put  [-f] [-p]  <localsrc>  .......  <dst>
  • hdfs  dfs -put  [-f] [-p]  <localsrc>  .......  <dst>

-f  覆盖目标文件(已存在下)

-p  保留访问和修改时间,所有权和权限

localsrc  本地文件系统(客户端所在机器)

dst  目标文件系统(HDFS)

4、查看HDFS文件内容

读取指定文件全部内容,显示在标准输出控制台。

  • hadoop  fs  -cat  <src>  .......
  • hdfs  dfs  -cat  <src>  .......

读取大文件可以使用管道符配合more

  • hadoop  fs  -cat  <src>  |  more
  • hdfs  dfs  -cat  <src>  |  more

5、下载HDFS文件

下载文件到本地文件系统指定目录,localdst必须是目录

  • hadoop  fs  -get  [-f]  [-p]  <src>  .......  <localdst>
  • hdfs  dfs  -get  [-f]  [-p]  <src>  .......  <localdst>

-f  覆盖目标文件(已存在下)

-p  保留访问和修改时间,所有权和权限

6、拷贝HDFS文件

  • hadoop  fs  -cp  [-f]  <src>  .......  <dst>
  • hdfs  dfs  -cp  [-f]  <src>  .......  <dst>

将文件test.txt复制到/home目录下。

7、追加数据到HDFS文件中

  • hadoop  fs  -appendToFile  <localsrc>  .......  <dst>
  • hdfs  dfs  -appendToFile  <localsrc>  .......  <dst>

将所有给定本地文件的内容追加到给定dst文件。

dst如果文件不存在,将创建该文件。

如果<localSrc>为-,则输入为从标准输入中读取。

8、HDFS数据移动操作

  • hadoop  fs  -mv  <src>  .......  <dst>
  • hdfs  dfs  -mv  <src>  .......  <dst>

移动文件到指定文件夹下

可以使用该命令移动数据,重命名文件的名称。

9、HDFS数据删除

  • hadoop  fs  -rm  -r  [-skipTrash]  URI  [URI  ......]
  • hdfs  dfs  -rm  -r  [-skipTrash]  URI  [URI  ......]

删除指定路径的文件或文件夹

-skipTrash  跳过回收站,直接删除。

<property><name>fs.trash.interval</name><value>1440</value>
</property>
<property><name>fs.trash.checkpoint.interval</name><value>120</value>
</property>

!  HDFS WEB浏览

除了使用命令操作HDFS文件系统外,在HDFS的WEB UI 上也可以查看到HDFS系统的内容。

http://node1:9870

使用WEB浏览操作文件系统,一般会遇到权限问题

这是因为WEB浏览器中是以用户(dr,who)登录的,其只有只读权限,多数操作是做不了的。如果需要以特权用户在浏览器中进行操作,需要配置core-site.xml并重启集群,但是,不推荐这样做。

补充:修改权限

在HDFS中,可以使用和Linux一样的授权语句,即chown和chmod

  • 修改所属用户和组:

root:用户                supergroup:组

hadoop  fs  -chown  [-R]  root:supergroup  /xxx.txt

hdfs  dfs  -chown  [-R]  root:root  /xxx.txt

  • 修改权限:

hadoop  fs  -chown  [-R]  777  /xxx.txt

hdfs  dfs  -chown  [-R]  777  /xxx.txt

三、HDFS客户端 - jetbrians产品插件

1.Big Data Tools插件

在jetbrains的产品中,均可以安装插件,其中:Big Data Tools插件可以帮助我们方便的操作HDFS,比如:

  • Intellij IDEA(java IDE)
  • pyCharm(Python IDE)
  • DataGrip(SQL IDE)

均可以支持Bigdata Tools插件

设置-> plugins(插件)-> Marketplace(市场),搜索Big Data Tools

2、配置Windows

需要对Windows系统做一些基础设置,配合插件使用

  • 解压Hadoop安装包到Windows系统,如解压到:D:\hadoop-3.0.0
  • 设置$HADOOP-HOME环境变量指向:D:\hadoop-3.0.0
  • 下载
    • hadoop.dll(https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/bin/hadoop.dll)
    • winutils.exe(https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/bin/winutils.exe)
  • 将hadoop.dll和winutils.exe放入$HADOOP_HOME/bin中

 

3、配置Big Data Tools插件

打开插件

点击🆗,连接成功,如果hdfs里没有文件会在连接的时候一直转圈圈,可以先在hdfs里创建一个文件。

可以从磁盘上传文件到hdfs

如果上述方法连接不成功,可以使用以下方法。

需要在虚拟机上打包配置好的Hadoop配置文件,将Windows中hadoop配置环境中的/etc目录下全部换成打包好的文件。

 cd /export/server/hadoop/etc/hadooptar -zcvf etc.tar.gz *sz etc.tar.gz

 

 此方法就是去找到配置好了的core-site.xml文件,将主机ip修改为要连接的ip即可,因为在前置配置中已经在hosts文件上,配置好了主机映射,所以此处用node1代替

四、HDFS客户端 - NFS

4.1使用NFS网关功能将HDFS挂载到本地系统

4.1.1、HDFS NFS Gateway

HDFS提供了基于NFS(Network File System)的插件,可以对外提供NFS网关,供其他系统挂载使用。NFS网关支持NFSv3,并允许将HDFS作为客户机本地文件的一部分挂载,现在支持:

  • 上传、下载、删除、追加内容。

4.1.2、配置NFS

配置HDFS需要配置如下内容:

  • core-site.xml,新增配置项以及hdfs-site.xml,新增配置项
  • 开启portmap、nfs3两个新进程

node1进行如下操作:在/export/server/hadoop/etc/hadoop/下

1.在core-site.xml内新增如下两项

  <property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property>
  • 项目:hadoop.proxyuser.hadoop.groups        值:*

允许hadoop用户代理任何其他用户组

  • 项目:hadoop.proxyuser.hadoop.hosts        值:*

允许代理任何服务器的请求

2、在hdfs-site.xml中新增如下项
  <property><name>nfs.superuser</name><value>hadoop</value></property><property><name>nfs.dump.dir</name><value>/tmp/.hdfs-nfs</value></property><property><name>nfs.exports.allowed.hosts</name><value>192.168.88.1 rw</value></property>
  • nfs.suerpser:NFS操作HDFS系统,所使用的超级用户(hdfs的启动用户为超级用户)
  • nfs.dump.dir:NFS接收数据上传时使用的临时目录
  • nfs.export.allowed.hosts:NFS允许连接的客户端IP和权限,rw表示只读,IP整体或部分可以以*代替。

4.1.3、启用NFS功能 

1、将配置好将配置好的core-site.xml和hdfs-site.xml分发到node2和node3.

2、重启Hadoop HDFS集群(先stop-dfs.sh,后start-dfs.sh)

3、停止系统的NFS相关进程,(必须以root执行):
a).systemctlstop nfs;    systemctldisable nfs   关闭系统nfs并关闭其开机自启

b).yum remove-yrpcbind 卸载系统自带rpcbind(因为要使用hdfs自带的rpcbind功能)

4、启动portmap(HDFS自带的rpcbind功能)(必须以root执行):

hdfs --daemon start portmap

 

5、启动nfs(HDFS自带的nfs功能)(必须以hadoop用户执行):

hdfs--daemon start nfs3

4.1.4、检查NFS是否正常

以下操作在node2或node3执行(因为node1卸载了rpcbind,缺少了必要的2个命令)

  • 执行:rpcinfo -p node1,正常输出如下:有mountd和nfs出现

  • 执行:showmount -e node1,可以看到 /192.168.88.1

4.1.5、在windows挂载HDFS文件系统

1、开启Windows的NFS功能

此功能需要专业版,如果是家庭版windows需要升级为专业版

2、在Windows命令提示符(CMD)内输入:net use X:\\192.168.88.101\!

3、完成后即可在文件管理器中看到盘符为X的网络位置

4、点击右键客户断开连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪吒汽车把最后的翻身筹码,全压在了这辆新车上

正如比亚迪王传福所说&#xff0c;新能源车市场已进入惨烈淘汰赛环节。 近几年国内新能源车销量增长势头迅猛&#xff0c;仅过去的 2023 年产销便分别达 958.7 万辆和 949.5 万辆&#xff0c;同比增长 35.8% 和 37.9%。 销量高速增长背后自然也带来了越来越激烈的竞争。 过去…

Footprint Analytics 与 GalaChain 达成战略合作

​ Footprint Analytics 宣布与 GalaChain 达成战略合作。GalaChain 是 Gala 旗下的 Layer 1 区块链。此次合作标志着双方在游戏&#xff08;包括 Gala Games) 、娱乐和金融等多个行业的区块链生态系统革新方面迈出了重要的一步。 GalaChain 致力于满足企业级项目的广泛需求&…

算法-栈操作

1047. 删除字符串中的所有相邻重复项 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string removeDuplicates(string s) {string stack;for(char& ch:s){if(stack.size()>0&&chstack.back()){stack.pop_back();}else{stack.push_back(ch);}…

AI大模型实现软件智能化落地实践

1、什么是大模型 大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff1b;Large Language Models&#xff0c;LLMs)。 大语言模型是一种深度学习模型&#xff0c;特别是属于自然语言处理&#xff08;NLP&#xff09;的领域&#xff0c;一般是指包含数干亿&…

Pandas 模块-操纵数据(11)-二元运算--超级add、sub、mul、div、mod、pow等等

目录 1. DataFrame.add 1.1 DataFrame.add 语法结构 1.2 DataFrame.add 参数说明 1.3 DataFrame.add 用法示例 1.3.1 正常的使用 1.3.2 需要注意类型相符合 2. DataFrame.sub 2.1 DataFrame.sub 语法结构 2.2 DataFrame.sub 参数说明 2.3 DataFrame.sub 用法示例 3.…

传媒论坛编辑部传媒论坛杂志社传媒论坛杂志2024年第7期目录

专题│场景传播研究 场景传播&#xff1a;一场遮盖自我与寻找自我的博弈 胡沈明; 3 基于CiteSpace的中国场景传播研究热点分析 管倩;粟银慧; 4-610《传媒论坛》投稿&#xff1a;cnqikantg126.com 数字世界的美与危&#xff1a;场景传播的失范与应对之举 王依晗;章洁…

分布式-知识体系

分布式系统 本质就是一堆机器的协同&#xff0c;要做的就是用各种手段来让机器的运行达到预期 分布式业务场景 分布式四纵四横说 基于 MSA&#xff08;微服务架构&#xff09;的分布式知识体系 相关概念 – 【摘自网络原文】 节点与网络 节点 传统的节点也就是一台单体的物…

MySQL数据类型:字符串类型详解

MySQL数据类型&#xff1a;字符串类型详解 在MySQL数据库中&#xff0c;字符串数据类型用于存储各种文本信息。这些数据类型主要包括CHAR、VARCHAR、TEXT和BLOB等。 CHAR与VARCHAR CHAR CHAR类型用于存储固定长度的字符串。它的长度在创建表时就已确定&#xff0c;长度范围…

QJ71C24N-R2 三菱Q系列串行通信模块

三菱Q系列串行通信模块是通过串行通信用的RS-232、RS-422/485线路将对方设备与Q系列可编程控制器CPU相连接,以实现如下所示的数据通信的模块。通过使用调制解调器/终端适配器,可以利用公共线路(模拟/数字)实现与远程设备间的数据通信。 QJ71C24N-R2参数说明&#xff1a;串行RS-…

为什么36KbRAM会配置为32K×1,少的那4Kb去哪了?

首先我们需要了解BRAM的相关知识&#xff0c;可以参考下面两篇文章&#xff1a; Xinlinx FPGA内的存储器BRAM全解-CSDN博客 为何有时简单双口RAM是真双口RAM资源的一半-CSDN博客 本问题的背景是&#xff1a; 每个36Kb块RAM也可以配置成深度宽度为64K 1(当与相邻的36KB块RA…

淘宝新店没有流量和访客怎么办

淘宝新店没有流量和访客时&#xff0c;可以采取以下措施来提升店铺的流量和吸引更多的访客&#xff1a; 3an推客是给商家提供的营销工具&#xff0c;3an推客CPS推广模式由商家自主设置佣金比例&#xff0c;以及设置商品优惠券&#xff0c;激励推广者去帮助商家推广商品链接&…

SVG 绘制微信订阅号icon

效果 代码 <!DOCTYPE html> <html> <body><svg xmlns"http://www.w3.org/2000/svg" version"1.1" width"600" height"600"><rect x"0" y"0" rx"0" ry"0" width&…

JavaEE 初阶篇-深入了解 UDP 通信与 TCP 通信(综合案例:实现 TCP 通信群聊)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 UDP 通信 1.1 DatagramSocket 类 1.2 DatagramPacket 类 1.3 实现 UDP 通信&#xff08;一发一收&#xff09; 1.3.1 客户端的开发 1.3.2 服务端的开发 1.4 实现 …

Arm功耗管理精讲与实战

安全之安全(security)博客目录导读 思考 1、为什么要功耗管理&#xff1f;SOC架构中功耗管理示例&#xff1f;功耗管理挑战&#xff1f; 2、从单核->多核->big.LITTLE->DynamIQ&#xff0c;功耗管理架构演进? 3、什么是电压域&#xff1f;什么是电源域&#xff1f…

C++高级特性:异常概念与处理机制(十四)

1、异常的基本概念 异常&#xff1a;是指在程序运行的过程中发生的一些异常事件&#xff08;如&#xff1a;除数为0&#xff0c;数组下标越界&#xff0c;栈溢出&#xff0c;访问非法内存等&#xff09; C的异常机制相比C语言的异常处理&#xff1a; 函数的返回值可以忽略&…

《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-01-软件架构演化概述

文章目录 1. 演化的重要性2. 架构演化示例 教材中&#xff0c;本节名为&#xff1a;“软件架构演化和定义的关系” 1. 演化的重要性 演化目的&#xff1a;维持软件架构自身的有用性 为什么说&#xff0c;软件架构是演化来的&#xff0c;而不是设计来的&#xff1f; 软件架构的…

【LAMMPS学习】八、基础知识(4.3)TIP3P水模型

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

Python 基础 (Pandas):Pandas 入门

1. 官方文档 API reference — pandas 2.2.2 documentation 2. 准备知识&#xff1a;Pandas 数据结构 Series & DataFrame 2.1 Series 2.1.1 创建 Series 类型数据 一个 Series 对象包含两部分&#xff1a;值序列、标识符序列。可通过 .values (返回 NumPy ndarry 类型…

Fisher 准则分类

目录 一、什么是Fisher 准则 二、具体实例 三、代码实现 四、结果 一、什么是Fisher 准则 Fisher准则&#xff0c;即Fisher判别准则&#xff08;Fisher Discriminant Criterion&#xff09;&#xff0c;是统计学和机器学习中常用的一种分类方法&#xff0c;由统计学家罗纳…

C语言指针进阶:各类型指针变量详解

目录 1. 字符指针变量2. 数组指针变量2.1 什么是数组指针变量2.2 数组指针变量的初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 代码分析4.3.1 typedef 关键字 5. 函数指针数组6. 转移表 正文开始。 1. 字符指针变量 我们可以…