2021年大数据Hadoop(九):HDFS的高级使用命令

2021-10-11 15:20:45 浏览数 (1)


HDFS的高级使用命令

HDFS的安全模式

安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。

假设我们设置的副本数(即参数dfs.replication)是3,那么在datanode上就应该有3个副本存在,假设只存在2个副本,那么比例就是2/3=0.666。hdfs默认的副本率0.999。我们的副本率0.666明显小于0.999,因此系统会自动的复制副本到其他dataNode,使得副本率不小于0.999。如果系统中有5个副本,超过我们设定的3个副本,那么系统也会删除多于的2个副本。

在安全模式状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在当整个系统达到安全标准时,HDFS自动离开安全模式。

安全模式操作命令

代码语言:javascript复制
hdfs  dfsadmin -safemode  get #查看安全模式状态

hdfs  dfsadmin -safemode  enter #进入安全模式

hdfs  dfsadmin -safemode  leave #离开安全模式

HDFS基准测试

实际生产环境当中,hadoop的环境搭建完成之后,第一件事情就是进行压力测试,测试我们的集群的读取和写入速度,测试我们的网络带宽是否足够等一些基准测试

测试写入速度

向HDFS文件系统中写入数据,10个文件,每个文件10MB,文件存放到/benchmarks/TestDFSIO中

代码语言:javascript复制
hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar  TestDFSIO -write -nrFiles 10  -fileSize 10MB 

完成之后查看写入速度结果

代码语言:javascript复制
hadoop fs -text /benchmarks/TestDFSIO/io_write/part-00000

测试hdfs的读取文件性能测试读取速度

在HDFS文件系统中读入10个文件,每个文件10M

代码语言:javascript复制
hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar  TestDFSIO -read -nrFiles 10 -fileSize 10MB

查看读取果

代码语言:javascript复制
hadoop fs -text /benchmarks/TestDFSIO/io_read/part-00000

清除测试数据

代码语言:javascript复制
hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.5.jar   TestDFSIO -clean