Hadoop05【命令操作】

  上篇文章我们成功的搭建了hadoop的集群环境,本文来介绍下hadoop的基本操作

HDFS存储目录

1.存储目录结构

在datanode的hdfsdata目录下查看:

Hadoop05【命令操作】_第1张图片

文件 说明
BP-1867776167-
192.168.88.61-1554050717516
BP-random integer-NameNode-IP address-creation time
finalized/rbw 这两个目录都是用于实际存储HDFS BLOCK的数据,里面包含许多block_xx文件以及相应的.meta文件,.meta文件包含了checksum信息。rbw是“replica being written”的意思,该目录用于存储用户当前正在写入的数据
dncp_block_verification.log.curr 该文件用于追踪每个block最后修改后的checksum值,该文件会定期滚动,滚动后会移到.prev文件
in_use.lock 防止一台机器同时启动多个Datanode进程导致目录数据不一致

2.浏览器快速查看

Hadoop05【命令操作】_第2张图片

Hadoop05【命令操作】_第3张图片

常用命令

1.查看根目录下的所有文件

hadoop fs -ls /

2.上传文件

将a.txt文件上传到hdfs中
在这里插入图片描述
上传命令

hadoop fs -put a.txt /

Hadoop05【命令操作】_第4张图片

浏览器中查看上传的文件

Hadoop05【命令操作】_第5张图片

Hadoop05【命令操作】_第6张图片

hadoop-node03节点存储结构中查看文件

Hadoop05【命令操作】_第7张图片

Hadoop05【命令操作】_第8张图片

3.查看上传文件内容

hadoop fs -cat /a.txt

Hadoop05【命令操作】_第9张图片

4.下载文件

hadoop fs -get /a.txt

Hadoop05【命令操作】_第10张图片

5.删除文件

hadoop fs -rm /a.txt

Hadoop05【命令操作】_第11张图片

Hadoop05【命令操作】_第12张图片

6.创建目录

[root@hadoop-node04 subdir0]# hadoop fs -mkdir /aaa
[root@hadoop-node04 subdir0]# hadoop fs -mkdir -p  /a1/b1/c1

Hadoop05【命令操作】_第13张图片

大文件操作

上传一个超过128M的文件

Hadoop05【命令操作】_第14张图片

Hadoop05【命令操作】_第15张图片

Hadoop05【命令操作】_第16张图片

Hadoop05【命令操作】_第17张图片

文件拼接

  将切割成两块的文件拼接成一个文件,我们看下是否可以解压使用。

[root@hadoop-node04 subdir0]# cat blk_1073741826 >> hadoop.file
[root@hadoop-node04 subdir0]# cat blk_1073741827 >> hadoop.file 

Hadoop05【命令操作】_第18张图片

尝试解压缩

tar -zxvf hadoop.file

Hadoop05【命令操作】_第19张图片

执行基本信息

1.查看HDFS的基本统计信息:

hadoop dfsadmin -report

2. 退出安全模式

  NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何修改。系统显示Name node in safe mode,说明系统正处于安全模式,这时只需要等待十几秒即可,也可通过下面的命令退出安全模式:

hadoop dfsadmin -safemode leave

3.进入安全模式

在必要情况下,可以通过以下命令把HDFS置于安全模式:

hadoop dfsadmin -safemode enter

Hadoop05【命令操作】_第20张图片

常见的错误

  1. 初始化工作目录结构
    hdfs namenode -format 只是初始化了namenode的工作目录,而datanode的工作目录是在datanode启动后自己初始化的
  2. datanode不被namenode识别的问题
    namenode在format初始化的时候会形成两个标识:blockPoolIdclusterId
    新的datanode加入时,会获取这两个标识作为自己工作目录中的标识,一旦namenode重新format后,namenode的身份标识已变,而datanode如果依然持有原来的id,就不会被namenode识别
  3. datanode下线后多久看到效果
    datanode不是一下线就会被namenode认定为下线的,有一个超时时间
  4. 关于副本数量的问题
    副本数由客户端的参数dfs.replication决定(优先级: conf.set > 自定义配置文件 > jar包中的hdfs-default.xml)

你可能感兴趣的:(大数据专栏)