(三)HDFS的常用命令

(三)HDFS的常用命令

1、自定义脚本

1.1、一键启动集群脚本
# 注意我这是在/root/bin目录下创建的,因为这个目录在PATH环境变量内,你们也可以自己进行配置
# 查看PATH环境变量使用 echo $PATH
# 1、编辑脚本
vim myhadoop.sh
# 添加以下内容到脚本内
#!/bin/bash
if [ $# -lt 1 ]
then
 echo "No Args Input..."
 exit ;
fi
case $1 in
"start")
        echo " =================== 启动 hadoop 集群 ==================="
        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop101 "/opt/modules/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop102 "/opt/modules/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop101 "/opt/modules/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop 集群 ==================="
        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop101 "/opt/modules/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop102 "/opt/modules/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop101 "/opt/modules/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
 echo "Input Args Error..."
;;
esac

# 2、给脚本赋可执行权限
chmod +x myhadoop.sh
# 3、测试
myhadoop.sh start
myhadoop.sh stop
  • 根据自己的安装目录以及 hostname 进行更改
1.2、查看集群启动情况脚本
# 1、编写脚本,同上面一样,在/root/bin目录下进行
vim jpsall.sh
# 添加以下内容
#!/bin/bash
for host in hadoop101 hadoop102 hadoop103
do
 echo =============== $host ===============
 ssh $host jps
done

# 2、赋值可执行权限
chmod +x jpsall.sh

# 3、测试
jpsall.sh

2、HDFS常用命令

  • mkdir: 创建目录

    # 在hdfs上创建一个input文件夹
    hadoop fs -mkdir /input
    
  • moveFormLocal: 从本地剪切到hdfs

    # 将当前目录下的test.txt文件剪切到hdfs上的/input目录下,源文件没有了
    hadoop fs -moveFromLocal ./test.txt /input
    
  • copyFromLocal:从本地拷贝到hdfs

    # 将当前目录下的test.txt 文件复制到hdfs上的/input目录下,源文件还在
    hadoop fs -copyFromLocal ./test.txt /input
    
  • put: 上传到hdfs

    # 将当前目录下的test.txt 文件上传到hdfs上的/input目录下,源文件还在
    hadoop fs -put ./test.txt /input
    
  • appendToFile: 追加一个文件到一个文件(已存在)末尾

    # 将当前目录下的test1.txt文件的内容追加到hdfs上的/input目录下的test.txt文件末尾
    hadoop fs -copyFromLocal ./test1.txt /input/test.txt
    
  • copyToLocal: 从hdfs复制文件到本地

    # 将hdfs上/input目录下的test.txt下载到当前目录下,并且重命名为test2.txt
    hadoop fs -copyToLocal /input/test.txt ./test2.txt
    
  • get: 下载文件到本地

    # 和copyToLocal一样
    hadoop fs -get /input/test.txt ./test2.txt
    
  • ls: 查看目录信息

    # 查看根目录信息
    hadoop fs -ls /
    
  • cat: 查看文件信息,和linux一样

    # 查看test.txt
    hadoop fs -cat /input/test.txt
    
  • cp: 拷贝文件

    # 将test.txt 拷贝到/input2目录下
    hadoop fs -cp /input/test.txt /input2/
    
  • mv: 移动文件,也可以改名

    # 将test.txt移动到/input2下
    hadoop fs -mv /input/test.txt /input2
    # 将test.txt 重命名为test2.txt
    hadoop fs -mv /input/test.txt /input/test2.txt
    
  • rm: 删除文件或目录

    # 删除test.txt
    hadoop fs -rm /input/test.txt
    # 递归删除
    hadoop fs -rm -r /input
    
  • tail: 查看文件末尾信息和linux一样

    # 查看test.txt
    hadoop fs -tail /input/test.txt
    
  • setrep: 设置副本数量

    # 设置test.txt 副本数量为2
    hadoop fs -setrep 2 /input/test.txt
    
  • du: 统计文件夹大小信息

    # 统计/input大小信息,显示总的
    hadoop fs -du -s -h /input
    # 详细显示
    hadoop fs -du -h /input
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值