HDFS----配置优化
hdfs的配置优化
1.优化 dfs.replication 文件副本数
①:HDFS 文件副本数设置为 3;修改文件。
进入 /opt/hadoop/etc/hadoop 目录下修改hdfs-site.xml 文件
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
修改 mapreduce-site.xml 文件
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<!-- 配置web端口 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<!-- 配置正在运行中的日志在hdfs上的存放路径 -->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/history/done_intermediate</value>
</property>
<!-- 配置运行过的日志存放在hdfs上的存放路径 -->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/history/done</value>
</property>
<property>
<name>mapreduce.jobhistory.joblist.cache.size</name>
<value>500000</value>
</property>
②:上传文件,并统计所需要的时间
通过 time 命令量测出来该指令执行时所消耗的时间会因为具体的集群性能不同可能会存在差异,但是在相同的条件基础上得到的数据还是有参考价值的。通过浏览器可以查看到上传之后的文件会有 3 个副本,分别存放在 master、slave1、slave2 上。
查看 master 和 slave1 名称节点的状态,若 master 节点状态为 active,则输入网址master:50070(本次启动网址) 点击 utilities 查看各个文件详情,否则网址为 slave1:50070
输入:hdfs dfs -mkdir /input1 集群上创建目录文件夹
创建文件:touch 文件 ; mkdir 文件夹;写入内容:echo > "内容" ***.txt
输入:time hadoop fs -put 664.txt /input1 上传写好的文件
查看 50070:
③:运行mapreduce官方实例
进入 /opt/hadoop/share/hadoop/mapreduce/ 目录下
输入 hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input1 /output1
运行结束后
查看19888:jobhistory
2.设置 dfs.datanode.data.dir 磁盘
①:设置两个data目录
删除原hdfs上的input1 iiput2 与output1 output2文件
hdfs dfs -rm -r -f /input1 /input2 /output1 /output2
新建input1 和input2
hdfs dfs -mkdir /input1 /input2
修改hdfs-site.xml文件:
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/tmp/hdfs/dn,/home/hadoop/data/dfs/data</value>
</property>
这里设置两个目录,分别为:
hadoop 安装目录下:/usr/local/src/hadoop/tmp/hdfs/dn
home 目录下:/home/hadoop/data/dfs/data
由于 home 目录下不存在上面所示文件夹,因此需要在 home 用户目录下创建文件夹: mkdir -p /home/hadoop/data/dfs/data
②:上传文件查看储存情况
输入:hadoop fs -put /opt/664.txt /input1
重启集群
查看50070:
③:查看数据块存储情况
输入:hdfs fsck /input1/664.txt -files -blocks -locations
输出:
The filesystem under path '/input1/664.txt' is HEALTHY
④:查看数据块在两个data目录中的存储情况(存储分布随机)
切换至/opt/hadoop/tmp/hdfs/dn目录下查看
切换至/home/hadoop/data/dfs/data目录下查看
3.设置mapred.local.dir优化IO读写能力
①:设置临时缓存目录
配置:mapred-site.xml文件
②:创建目录
mkdir -p /home/hadoop/data/mapred/local/
启动hadoop(重启hadoop)
删除output1 output2
hdfs dfs -rm -r -f /output1 /output2
③:运行测试的数据
输入:hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input1/664.txt /output1
查看(8088):
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY