hadoop日记2.2:hdfs编程实践

本文介绍了Hadoop分布式文件系统(HDFS)的Shell命令使用方法,包括文件操作指令、管理命令和文件系统检查等内容。读者可以通过这些命令实现文件的上传、下载、查看、删除等操作,同时了解如何管理HDFS集群及检查文件系统的健康状况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hdfs shell接口
一、 Hdfs编程实践
1. Hadoop提供了关于HDFS在Linux操作系统上进行文件操作的常用Shell命令以及Java API。同时还可以利用Web界面查看和管理Hadoop文件系统
2. Hadoop安装成功后,已经包含HDFS和MapReduce,不需要额外安装。而HBase等其他组件,则需要另外下载安装。
3. 在学习HDFS编程实践前,我们需要启动Hadoop。执行如下命令:
start-all.sh
二、 Hdfs shell常用指令
1. HDFS有很多shell命令,利用该命令可以查看HDFS文件系统的目录结构、上传和下载数据、创建文件等。
2. Hadoop中有三种Shell命令方式:
hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
hadoop dfs只能适用于HDFS文件系统
hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统
3. 命令的用法为:
hdfs dfs [genericOptions] [commandOptions]
hadoop fs [genericOptions] [commandOptions
三、 Hdfs shell 接口—文件操作指令
1. 显示指定目录下文件的详细信息
hdfs dfs -ls /
2. 创建目录
hdfs dfs -mkdir /music
3. 上传文件
hdfs dfs -put test.txt /music
hdfs dfs -copyFromLocal /data/aaa.mp3 /music/b.mp3
4. 下载文件
hdfs dfs -copyToLocal /music/b.mp3 /data/bbb.mp3
5. 查看文件内容
hdfs dfs -cat /music/test.txt
6. 追加内容
hdfs dfs -appendToFile README.txt /music/test.txt
7. 复制文件
hdfs dfs -cp /music/test.txt /music/ljs.txt
8. 重命名文件
hdfs dfs -mv /user/hadoop/ljs.txt /music/neu.txt
9. 删除文件
hdfs dfs -rm /music/neu.txt
四、 Hdfs shell接口—管理命令
dfsadmin 命令用来管理HDFS集群,这些命令只有HDFS的管理员才能使用
1. 显示集群状态信息
hdfs dfsadmin -report
2. 将集群置于安全模式
hdfs dfsadmin -safemode enter
3. 设置每个数据节点在HDFS块平衡时的网络带宽
hdfs dfsadmin -setBalancerBandwidth 1000
4. 显示拓扑
hdfs dfsadmin -printTopology
五、 Hdfs shell接口—文件系统检查
1. Hadoop提供一个fsck工具来检查HDFS中文件的健康情况。该工具将查找所有数据节点中丢失的块;副本不足或者副本过多的块;查看一个文件的所有数据块位置;删除损坏的数据块。
2. hdfs fsck /
3. hdfs fsck /music/README.txt –locations
六、 动态新增节点
1. clone 一份 slave2 作为新增的节点 slave3,修改静态 IP ,同时修改 master 、slave1 和 slave2 的 /etc/hosts 文件
2. 修改 master 的 etc/hadoop/slaves 文件,添加新增的节点 slave3,并将其更新到各个节点。
3. 在新增的 slave3 节点执行命令启动 datanode
./sbin/hadoop-daemon.sh start datanode
4. 在新增的 slave3 节点执行命令启动 nodemanager
./sbin/yarn-daemon.sh start nodemanager
七、 动态删除节点
1. 在etc/hadoop/ 目录下添加 excludes 文件,配置需要删除的节点
2. 修改 etc/hadoop/hdfs-site.xml

dfs.hosts.exclude
/home/hadoop/hadoop-2.7.2/etc/hadoop/excludes

3. 修改 mapred-site.xml

mapred.hosts.exclude
/home/hadoop/hadoop-2.7.2/etc/hadoop/excludes
true

4. 对节点进行强制刷新
hdfs dfsadmin –refreshNodes
5. 查看节点状态,该节点的状态为Decommissioned (退役)
6. 在 slave3 节点上关闭 datanode 和 nodemanager 进程
hadoop-daemon.sh stop datanode
yarn-daemon.sh stop nodemanager
7. 运行start-balancer.sh均衡 block
8. start-balancer.sh
hdfs自带的WEB接口
• HDFS自带的WEB接口主要面向HDFS管理员
• 页面的信息主要包括HDFS系统级别统计信息和文件系统
• hdfs管理界面: http://NameNodeIP:50070/
hdfs java编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值