Hadoop基本操作

HDFS操作

1 HDFS文件上传

 

2 HDFS文件下载

 

3 定位文件读取

 

 

4 HDFS写数据流程

  1. 客户端向NameNode请求上传文件(test.txt)    
  2. NameNone向客户端响应可以上传文件
  3. 客户端请求上传第一个Block(0-128m),请返回DataNode
  4. NameNone给客户端返回dataNode2, dataNode2节点,表示采用节点存储数据
  5. 客户端请求每一个dataNode节点建立Block传输通道
  6. 每一个dataNode节点回应客户端成功
  7. 客户端向每一个节点传输数据Packet 按顺序传输
  8. 最后客户端向NameNode传输数据完成

5 HDFS读数据流程

  1. 客户端向NameNode请求下载文件
  2. NameNode向客户端返回目标文件的元数据
  3. 客户端请求读取第一个dataNode1的数据
  4. dataNode1传数据给客户端
  5. 客户端请求读取第一个dataNode2的数据
  6. dataNode2传数据给客户端
  7. 客户端请求读取第一个dataNode3的数据
  8. dataNode3传数据给客户端

 

5.1 查看fsimage文件

   1.查看位置/usr/local/hadoop-2.7.6/data/dfs/name/current

 

   2.找到你需要查看的文件

  3.转换成xml文件

  4.查看文件内容

5.2 查看edits文件

转换成xml文件

查看文件内容

5.3 模拟namenode故障,并采用任一方法,恢复namenode数据

  1. 先启动集群,然后杀死namenode
  2. 删除namenode数据
  3. 然后启动namenode节点
  4. 刚访问时会发现处于安全模式,安全模式关闭再访问就可以

 

5.4 集群安全模式操作1

    (1)hdfs dfsadmin -safemode get (功能描述:查看安全模式状态)
    (2)hdfs dfsadmin -safemode enter (功能描述:进入安全模式状态)
    (3)hdfs dfsadmin -safemode leave (功能描述:离开安全模式状态)
    (4)hdfs dfsadmin -safemode wait (功能描述:等待安全模式状态)

6.1 DataNode工作机制

   1. DataNode启动后向namenode注册

2. namenode回应DataNode1注册成功

3. DataNode1通过后,周期性(1小时)的向namenode上报所有的块信息。

4. 每 3 秒一次返回结果带有 namenode 给该 datanode 的命令如复制块数据到另一台机器,或删除某个数据块。 如果超过 10 分钟没有收到某个 datanode 的返回结果,则认为该节点不可用。

6.5 服役新数据节点

  1.创建文件 dfs.hosts,添加主机

  

  2. 在 namenode 的 hdfs-site.xml 配置文件中增加 dfs.hosts 属性

     

  3. 刷新 namenode

 

4.刷新resourcemanager 节点

5. 用jps检查

6.6 退役旧数据节点

  1.创建目录添加节点

  2. hdfs-site.xml 配置文件中增加 dfs.hosts.exclude 属性

  3. 刷新 namenode、刷新 resourcemanager

  4. 检查 web 浏览器,退役节点的状态为 decommission in progress(退役中),说明数据节点正在复制块到其他节点。

    

6 NameNode&Secondary NameNode工作机制

NadmeNode工作机制:

负责客户端请求的响应,元数据的管理(查询,修改)

是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。

secondary namenode的工作流程

1、secondary通知namenode切换edits文件

2、secondary从namenode获得fsimage和edits(通过http)

3、secondary将fsimage载入内存,然后开始合并edits

4、secondary将新的fsimage发回给namenode

5、namenode用新的fsimage替换旧的fsimage

Secondary NameNode:

从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换旧的fsimage

7 .NameNode故障了怎么办

  1. kill -9 namenode进程

 

  (2)删除namenode存储的数据(/usr/local/hadoop-2.7.6/data/dfs/name)

       rm -rf /usr/local/hadoop-2.7.6/data /dfs/name/*

  (3)拷贝SecondaryNameNode中数据到原namenode存储数据目录

scp-rhadoop:/usr/local/hadoop-2.7.6/data/dfs/namesecondary/*/usr/local/hadoop-2.7.6/data/dfs/name

  (4)重新启动 namenode

       hadoop-daemon.sh start namenode

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值