【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.hqwc.cn/news/637832.html

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

相关文章

【Python性能优化】list、array与set

list、array与set 详述测试代码 详述 本文对比 list 与 set 在插入和取值时的性能差异&#xff0c;以提供一条什么时候该选择什么数据类型的建议。先上结果&#xff1a; array 与 list 的不同&#xff1a; 内存方面 array 是 C array 的包装&#xff0c;它直接存储数据&#xf…

Sulley入门教学——简介、安装(Win7、VMware)

1、简介 Sulley 是由 Pedram Amini 和 Aaron Portnoy 开发的开源工具。它以 Python 编写&#xff0c;可以轻松地在不同平台上部署和使用。Sulley 提供了一个灵活且功能强大的框架&#xff0c;允许用户定义协议消息的结构、字段类型、边界条件和模糊测试策略。用户可以使用 Sul…

打破国外垄断|暴雨发布纯血国产电脑

要说现在国产手机这边已然进入纯自研模式&#xff0c;但电脑这边却还是仍未打破国外技术垄断。但就在刚刚&#xff0c;暴雨发布自研架构台式机open Station X &#xff0c;这是纯血鸿蒙系统之后国产又一款纯血产品发布&#xff01;标志的我们已经彻底打破西方在硬件及软件方面的…

每天五分钟机器学习:神经网络模型参数的选择

本文重点 在深度学习和人工智能的浪潮中,神经网络作为其中的核心力量,发挥着举足轻重的作用。然而,神经网络的性能并非一蹴而就,而是需要经过精心的参数选择和调优。 神经网络由大量的神经元组成,每个神经元之间通过权重进行连接。这些权重,以及神经元的偏置、激活函数…

Linux——进程基本概念中篇

Linux——进程基本概念中篇 文章目录 Linux——进程基本概念中篇一、通过系统调用创建进程——fork1.1 fork的理解1.2 fork的返回值 二、进程状态2.1 运行状态2.2 睡眠状态和休眠状态2.3 停止状态和死亡状态2.4 僵尸进程2.5 孤儿进程2.6 前台和后台进程 三、进程优先级3.1 查看…

基于单片机的羽毛球计分器(含proteus仿真和程序)

目录 完整文本及仿真、程序可私信我获取 前言 第一章 设计任务及方案 1.1 设计任务 1.2 总体设计分析 1.3 功能模块方案设计 1.4 方案确定 第二章、硬件设计 2.1 AT89C51 单片机芯片介绍 2.1.1 主要特性 2.1.2 管脚说明 2.1.3 元件清单 2.2 电路介绍 2…

伪分布Hadoop下安装Hive

一、下载并安装Mysql &#xff08;1&#xff09;下载mysql安装包&#xff08;mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar&#xff09; 下载官网&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ &…

java-单列集合List详解

一、List概述 ​​​​​​​List 接口继承自 Collection 接口。这意味着所有 List 类型的对象都是 Collection 类型的对象&#xff0c;它们共享 Collection 接口中定义的所有方法。 List集合的特点&#xff1a; 1、有序&#xff1a;存和取得元素顺序一致 2、有索引&#xf…

9.Eureka服务发现+Ribbon+RestTemplate服务调用

order-service服务通过服务名称来代替 ip:port的方式访问user-service服务的接口。 原来的请求代码&#xff1a; Service public class OrderServiceImpl implements OrderService {Autowiredprivate OrderMapper orderMapper;Autowiredprivate RestTemplate restTemplate;Ov…

基于Hadoop的电商用户行为分析系统设计与实现的系统架构设计

采集层&#xff1a;利用Flume采集电商服务器端用户行为数据&#xff0c;把数据处理后发送至HDFS。 存储层&#xff1a;用户行为数据采集上传至HDFS存储&#xff0c; 导入到数据仓库Hive进行计算处理&#xff0c;分析结果保存至MySql数据库中。 计算层&#xff1a;根据分析需求建…

MacOS 文件系统种类及介绍

MacOS 文件系统种类 详细介绍 详细介绍 从图片中我们可以看到一个文件系统选择器的界面&#xff0c;列出了多种不同的文件系统选项。这些文件系统各有其特点和用途&#xff0c;以下是它们之间的主要区别&#xff1a; APFS&#xff1a;Apple File System&#xff0c;是苹果公司为…

AtCoder Beginner Contest 350

A - Past ABCs 简单的枚举判断即可 #include "bits/stdc.h" using namespace std;#define int long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0); #define all(x) x.begin(),x.end() #define pi pair<int,int> #define vi vecto…