Hadoop——分布式存储HDFS

HDFS集群环境部署

VMware虚拟机中部署

一、https://hadoop.apache.org中下载安装包
在这里插入图片描述
二、环境分配
在这里插入图片描述
三、上传、解压

确认服务器创建、固定IP、防火墙关闭、Hadoop用户创建、SSH免密、JDK部署等
在这里插入图片描述
在这里插入图片描述

四、修改配置文件
在这里插入图片描述
在这里插入图片描述

hdfs-site.xml
①、dfs.datanode.data.dir.perm 700
hdfs文件系统,默认权限700,rwx------

②、dfs.namenode.name.dir /data/nn
NameNode元数据的存储位置 在node1节点的/data/nn目录下
需要在node1节点:mkdir -p /data/nn mkdir data/dn 创建两个文件夹目录

③、dfs.namenode.hosts
NameNode允许哪几个节点的DataNode连接(即允许加入集群)
node1/node2/node3这三台服务器被授权

④、dfs.blocksize
默认块大小

⑤、dfs.namenode.handler.count
namenode处理的并发线程数 100 表示以100个并行度处理文件系统的管理任务

⑥、dfs.datanode.data.dir
从节点dataNode的数据存储目录
/data/dn,即数据存放在node1,node2,node3三台机器的/data/dn内
mkdir -p /data/dn 需要在node2,node3各创建一个文件夹目录
在这里插入图片描述

五、从node1将hadoop安装目录文件夹远程复制到node2\node3,并且配置环境变量
在这里插入图片描述
在这里插入图片描述

六、授权hadoop用户

为了确保安全,hadoop系统不以root用户启动,将以普通的hadoop来启动整个hadoop服务
所以需要对文件权限进行授权(前提需要创建好hadoop用户,并配置好了hadoop用户之间免密登录)
在这里插入图片描述

七、对整个文件系统执行初始化
在这里插入图片描述
通过jsp命令查看,三台节点的运行程序
在这里插入图片描述
八、浏览器查看

在这里插入图片描述

关闭hadoop系统之后,然后init 0,关闭虚拟机,进行快照操作
在这里插入图片描述

云服务器中部署

在这里插入图片描述

以上步骤和虚拟机一样。

三、云服务是通过内网互通
在这里插入图片描述

通过浏览器访问需要公网IP
在这里插入图片描述

四、云服务中操作镜像
在这里插入图片描述

在这里插入图片描述

集群部署常见问题
在这里插入图片描述

一、权限被拒绝
在这里插入图片描述
需要对hadoop用户授权
在这里插入图片描述

二、command not found
在这里插入图片描述

三、worker文件
在这里插入图片描述

四、未格式化
在这里插入图片描述
排查日志
在这里插入图片描述
在这里插入图片描述

======================================================================================

HDFS的Shell操作

进程启停管理

①、一键启停脚本
在这里插入图片描述

②、独立进程启停(只对所在机器有效)
在这里插入图片描述

文件系统操作命令

协议头file:/// 或hdfs://node1:8020/ 可以省略

  • 需要提供Linux路径的参数会自动识别为file://
  • 需要提供HDFS路径的参数会自动识别为hdfs://

在这里插入图片描述
在这里插入图片描述

①、创建文件夹

# path 为待创建的目录
# -p选项的行为与Linux mkdir -p一致,沿着路径创建父目录
hadoop fs -mkdir -p /michael/bigdata 
hadoop fs -mkdir -p hdfs://node1:8020/michael/bigdata  #带上协议头
hdfs fs -mkdir -p /michael/hadoop

# 如果添加协议头(在Linux创建)
hadoop fs -mkdir -p file:///home/hodoop/test

②、查看指定目录下的内容

# path 指定目录路径
# -h 人性化显示文件size  kb
# -R 递归查看指定目录以及子目录
hadoop fs -ls /  # hadoop根目录下
hdfs dfs -ls -R /

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

# -f 覆盖目标文件
# -p 保留访问和修改时间,所有权和权限
# localsrc 本地文件系统(客户端所在机器)
# dst 目标文件系统(HDFS)
hadoop fs -put word.txt /michael
hdfs dfs -put file:///etc/prifile hdfs://node1:8020/michael

④、查看HDFS文件内容

hadoop fs -cat /test.txt

# 对于大文件,可以使用管道符配合more   按下空格进行翻页查看
hdfs dfs -cat /test.txt | more

⑤、下载HDFS文件

# -f 覆盖目标文件
# -p 保留访问和修改时间,所有权和权限
# HDFS->Linux下载
hadoop fs -get /test.txt .    # .表示当前目录

⑥、拷贝HDFS文件

# HDFS->HDFS
hadoop fs -cp /test.txt /home/

# 也可以添加-p强制覆盖,并改名
hadoop fs -cp /test.txt /home/abc.txt

⑦、追加数据到HDFS文件中

echo 1 >> 1.txt
echo 2 >> 2.txt
echo 3 >> 3.txt

hadoop fs -put 1.txt /
hadoop fs -cat /1.txt

# 本地内容追加到hdfs
hadoop fs -appendToFile 2.txt 3.txt /1.txt
hadoop fs -cat /1.txt

⑧、移动

hadoop fs -mv /test.txt /michael

hadoop fs -mv /test.txt /michael/abx.txt #移动之后还可以改名

⑨、删除

hadoop fs -rm -f /home  # 删除home文件夹目录

hadoop fs -rm /michael/test.txt # 删除文件,不需要添加-r

在这里插入图片描述
如果开启了回收站之后,删除文件是需要通过指定参数跳过回收站

hadoop fs -rm -r -skipTrash /michael

除了以上通过命令的方式查看文件,可以通过浏览器进行查看
在这里插入图片描述
但没有权限去操作,只能查看。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

HDFS客户端-Jetbrians产品插件
在这里插入图片描述

①、以DataGrip工具为例,安装Big Data Tools插件
在这里插入图片描述

②、配置Window,然后重启DataGrip工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

③、配置Big Data Tools插件
在这里插入图片描述

或者

(需要重新打包配置文件等进行替换)
在这里插入图片描述

④、配置成功之后,可以操作上传文件
在这里插入图片描述

HDFS客户端-NFS
在这里插入图片描述

①、在node1节点上进行如下操作:

进入cd /export/server/hadoop/etc/hadoop目录下配置如下文件

core-site.xml内新增如下两项
在这里插入图片描述

hdfs-site.xml新增如下:
在这里插入图片描述

②、将以上node1配置好的节点复制到node2和node3中

在这里插入图片描述
在这里插入图片描述
停止系统NFS相关进程需要回退到root用户的权限
在这里插入图片描述
在这里插入图片描述

启动集群:start -dfs.sh

③、检查NFS是否正常
在这里插入图片描述

④、在Window挂载HDFS文件系统
在这里插入图片描述
在这里插入图片描述

HDFS的存储原理

block块
在这里插入图片描述
在这里插入图片描述
副本要放在不同的服务器,可以设置配置文件决定副本存储,还可以通过命令临时设置

①、配置文件设置
在这里插入图片描述

②、临时命令设置
在这里插入图片描述

fsck命令
在这里插入图片描述

NameNode元数据

NameNode基于一批edits和一个fsimage文件的配合完成对整个文件系统的管理和维护。

  • edits文件,是一个流水账文件,记录hdfs中的每一次操作,以及本次操作的文件其对应的block,为了保证检索功能会存在多个edits文件,确保不会出现过大的edits文件
    在这里插入图片描述

  • FSImage文件,全部的edits文件合并为最终结果,即得到一个FSImage文件
    在这里插入图片描述

①、整个文件系统的管理流程:
在这里插入图片描述
在这里插入图片描述

②、元数据合并控制参数
在这里插入图片描述
在这里插入图片描述

HDFS数据的读写流程

一、数据写入流程
在这里插入图片描述
在这里插入图片描述

二、数据读取流程

在这里插入图片描述

相关推荐

  1. HadoopHDFS分布式文件系统

    2023-12-07 14:02:03       4 阅读
  2. Hadoop集成对象存储HDFS磁盘文件存储

    2023-12-07 14:02:03       43 阅读
  3. Hadoop HDFS:海量数据的存储解决方案

    2023-12-07 14:02:03       13 阅读
  4. Hadoop-HDFS-S3】HDFS存储对象 S3 的对比

    2023-12-07 14:02:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 14:02:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 14:02:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 14:02:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 14:02:03       18 阅读

热门阅读

  1. 3D建模基础教程:模型UV讲解

    2023-12-07 14:02:03       40 阅读
  2. Eureka的使用说明

    2023-12-07 14:02:03       41 阅读
  3. LeetCode --- 2000. Reverse Prefix of Word 解题报告

    2023-12-07 14:02:03       41 阅读
  4. 【CTA认证】Android去掉系统应用开机默认使用定位

    2023-12-07 14:02:03       34 阅读
  5. 每日OJ题_算法_双指针②_力扣1089. 复写零

    2023-12-07 14:02:03       41 阅读