hadoop中的参数及指令介绍

1. 参数问题(core-site.xml)
io.file.buffer.size
#用来设置缓存的大小。不论是对硬盘或者是网络操作来讲,较大的缓存都可以提供更高的数据传输,但这也就意味着更大的内存消耗和延迟。这个参数要设置为系统页面大小的倍数,以byte为单位,默认值是4KB,一般情况下,可以设置为64KB(65536byte)在core-site.xml添加如下配置
<property>
   <name>io.file.buffer.size</name>
   <value>65535</value>
</property>
df.block.size
# block的大小一般设置为64M或128M(hadoop3.2.1默认的块大小是128M)如果修改的话在hdfs-site.xml中
<property>
	<name>dfs.block.size</name>
	<value>134217728</value>    #修改为128M
	<description>Block size</description>
</property>
#1.减少硬盘寻道时间
HDFS设计前提是支持大容量的流式数据操作,所以即使是一般的数据读写操作,涉及到的数据量都是比较大的。假如数据块设置过少,那需要读取的数据块就比较多,

由于数据块在硬盘上非连续存储,普通硬盘因为需要移动磁头,所以随机寻址较慢,读越多的数据块就增大了总的硬盘寻道时间。当硬盘寻道时间比io时间还要长的多时,那么硬盘寻道时间就成了系统的一个瓶颈。合适的块大小有助于减少硬盘寻道时间,提高系统吞吐量。

#2.减少Namenode内存消耗

对于HDFS,他只有一个Namenode节点,他的内存相对于Datanode来说,是极其有限的。然而,namenode需要在其内存FSImage文件中中记录在Datanode中的数据块信息,假如数据块大小设置过少,而需要维护的数据块信息就会过多,那Namenode的内存可能就会伤不起了。

为什么不能设置的过大
Map崩溃问题:系统需要重新启动,启动过程需要重新加载数据,数据块越大,数据加载时间越长,系统恢复过程越长

监管时间问题:主节点监管其他节点的情况,每个节点会周期性的把完成的工作和状态的更新报告回来。如果一个节点保持沉默超过一个预设的时间间隔,主节点记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。对于这个“预设的时间间隔”,这是从数据块的角度大概估算的。假如是对于64MB的数据块,我可以假设你10分钟之内无论如何也能解决了吧,超过10分钟也没反应,那就是死了。可对于640MB或是1G以上的数据,我应该要估算个多长的时间内?估算的时间短了,那就误判死亡了,分分钟更坏的情况是所有节点都会被判死亡。估算的时间长了,那等待的时间就过长了。所以对于过大的数据块,这个“预设的时间间隔”不好估算。
NameNode内存配置计算
NameNode 所需大小,与Block大小,HDFS副本数均有关,计算方式如下:
例:bolck为128M,副本为3个,10台机器,每台4TB数据,
Namenode需要的内存为:
10 * 4 * 1024 * 1024 MB / (128MB x 3) 
2. hadoop中的指令
1.在hadoop解压目录的根目录下,查看集群节点
./hdfs dfsadmin -report
文件路径相关操作  #dir表示文件目录
# 创建文件夹 eg:bin/hadoop fs -mkdir /test
bin/hadoop fs -mkdir /dir
# 删除文件夹 eg:bin/hadoop fs -rmr /test
bin/hadoop fs -rmr /dir 
bin/hadoop fs -rm -r /dir
# 查看目录文件信息 eg: bin/hadoop fs -ls /
bin/hadoop fs -ls /dir
# 递归查看文件信息 eg:bin/hadoop fs -ls -R /user
bin/hadoop fs -ls -R /dir
# 查看目录信息 eg:bin/hadoop fs -stat /user
bin/hadoop fs -stat /dir
查看空间大小
# 人性化显示文件大小 eg:bin/hadoop fs -du -h /
bin/hadoop fs -du -h /dir
# 显示目标文件file的大小 eg:bin/hadoop fs -du -/AGFS/YZRCB/ifp/QRCode/190528152839449/shopWithLogo/YZRCB_QR_1559028286687A3H
hdfs dfs -du /dir/path
文件操作
# 创建长度为0的空文件 eg: bin/hadoop fs  -touchz /user/a.txt
bin/hadoop fs  -touchz /dir/file
# 删除文件 eg:bin/hadoop fs -rm /user/a.txt
bin/hadoop fs -rm /dir/file
# 向hadoop中上传文件 eg:bin/hadoop fs -put aaa.txt /user/
bin/hadoop fs -put 本地file /dir/
# 下载文件到本地 eg:  bin/hadoop fs -get /user/aaa.txt .
bin/hadoop fs -get /dir/file  本地目录
# 查看文件 eg:bin/hadoop fs -cat /user/aaa.txt
bin/hadoop fs -cat /dir/file
# 如果文件是文本格式,相当于cat,如果文件是压缩格式,则会先解压,再查看 eg:bin/hadoop fs -text /user/aaa.txt
bin/hadoop fs -text /dir/file
# 从本地拷贝文件到hadoop系统  eg:bin/hadoop fs -copyFromLocal logs/ /user
bin/hadoop fs -copyFromLocal 本地文件 /hadoop目录
# 从hdfs拷贝到本地 eg:bin/hadoop fs -copyToLocal /user/aaa.txt .
bin/hadoop fs -copyToLocal /hadoop文件目录 本地目录
# 移动文件 eg:bin/hadoop fs -mv /user/aaa.txt /test/aaa.txt
bin/hadoop fs -mv 原目录 目标目录
#将hadoop上某个文件重命名 eg:bin/hadoop  fs  –mv  /user/test.txt  /user/ok.txt
bin/hadoop fs  –mv  /dir/oldFile  /dir/newFile
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值