• 【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]  .......
    • hdfs  dfs  -mkdir  [-p]  ......

    path为待创建的目录

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

    2、查看指定目录下内容

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

    -h人性化显示文件size

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

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

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

    • hadoop  fs -put  [-f] [-p]    ....... 
    • hdfs  dfs -put  [-f] [-p]    ....... 

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

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

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

    dst  目标文件系统(HDFS)

    4、查看HDFS文件内容

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

    • hadoop  fs  -cat    .......
    • hdfs  dfs  -cat    .......

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

    • hadoop  fs  -cat    |  more
    • hdfs  dfs  -cat    |  more

    5、下载HDFS文件

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

    • hadoop  fs  -get  [-f]  [-p]    ....... 
    • hdfs  dfs  -get  [-f]  [-p]    ....... 

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

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

    6、拷贝HDFS文件

    • hadoop  fs  -cp  [-f]    ....... 
    • hdfs  dfs  -cp  [-f]    ....... 

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

    7、追加数据到HDFS文件中

    • hadoop  fs  -appendToFile    ....... 
    • hdfs  dfs  -appendToFile    ....... 

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

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

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

    8、HDFS数据移动操作

    • hadoop  fs  -mv    ....... 
    • hdfs  dfs  -mv    ....... 

    移动文件到指定文件夹下

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

    9、HDFS数据删除

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

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

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

    1. <property>
    2. <name>fs.trash.interval</name>
    3. <value>1440</value>
    4. </property>
    5. <property>
    6. <name>fs.trash.checkpoint.interval</name>
    7. <value>120</value>
    8. </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目录下全部换成打包好的文件。

    1. cd /export/server/hadoop/etc/hadoop
    2. tar -zcvf etc.tar.gz *
    3. 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内新增如下两项

    1. <property>
    2. <name>hadoop.proxyuser.hadoop.groups</name>
    3. <value>*</value>
    4. </property>
    5. <property>
    6. <name>hadoop.proxyuser.hadoop.hosts</name>
    7. <value>*</value>
    8. </property>
    • 项目:hadoop.proxyuser.hadoop.groups        值:*

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

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

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

    2、在hdfs-site.xml中新增如下项
    1. <property>
    2. <name>nfs.superuser</name>
    3. <value>hadoop</value>
    4. </property>
    5. <property>
    6. <name>nfs.dump.dir</name>
    7. <value>/tmp/.hdfs-nfs</value>
    8. </property>
    9. <property>
    10. <name>nfs.exports.allowed.hosts</name>
    11. <value>192.168.88.1 rw</value>
    12. </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、点击右键客户断开连接

  • 相关阅读:
    Vue的项目准备
    学生体育铅球网页设计作品静态HTML网页模板源码 大学生体育铅球网站制作 简单校园体育网页设计成品
    第二十五章 源代码文件 REST API 参考(七)
    vue.js毕业设计,基于vue.js前后端分离在线考试系统(H5移动项目) 开题报告
    maven与tomcat
    去除upload的抖动效果
    拷贝加密U盘文件
    Java项目:鞋子商城系统(java+SSM+JSP+layui+bootstrap+echarts+Mysql)
    SQLite数据库的安装和使用
    前端性能优化之控制请求并发数
  • 原文地址:https://blog.csdn.net/weixin_63106307/article/details/137744270