# 查看版本信息 hadoop version # 在hdfs中创建目录 hadoop fs -mkdir /data # 查看HDFS中的文件或目录 hadoop fs -ls hdfs://10.1.2.3:8020/tmp/ # 查看文件或目录的详细信息 hadoop fs -ls -R / # 上传文件或目录到HDFS hadoop fs -put <localsrc> <dest> hadoop fs -put application_1692151523262_41763.log cosn://hadoop-1/emr-access-log/ # 从HDFS下载文件或目录到本地 hadoop fs -get <src> <localdest> hadoop fs -get hdfs://10.1.2.3:8020/tmp/dnf # 复制HDFS文件到本地 hadoop fs -copyToLocal <hdfs source> <localdst> # 复制本地文件到HDFS hdfs dfs -copyFromLocal <local source> <hdfs dst> # 将本地文件移动到HDFS hadoop fs -moveFromLocal <localsrc> <dest> # 将HDFS文件移动到本地 hadoop fs -moveToLocal <src> <localdest> # 查看HDFS文件内容 hadoop fs -cat /path_to_file_in_hdfs hadoop fs -cat hdfs://HDFS8001234/tmp/application/output/failed/* # 重命名HDFS中的文件或目录 hadoop fs -mv <旧HDFS路径> <新HDFS路径> # 复制HDFS中的文件或目录 hadoop fs -cp <src> <dest> # 显示HDFS中文件的末尾内容 hadoop fs -tail [-f] <file> # 更改HDFS中文件或目录的所有者 hadoop fs -chown [-R] [owner] [:[group]] <path> # 更改HDFS文件或目录的所属组 hadoop fs -chgrp <group> <path> # 更改 HDFS 中文件的副本数量 hadoop fs -setrep <rep> <path> # 显示HDFS中文件或目录的大小信息,包括其大小和子目录的大小总和 hadoop fs -du -s <path> # 以人类可读的格式显示HDFS中文件和目录的大小 hadoop fs -du -h <path> hadoop fs -du -h hdfs://10.1.2.3:8020/user/hive/warehouse/ # 显示HDFS磁盘空间使用情况,-h选项表示以人类可读的格式显示磁盘空间大小 hadoop fs -df [-h] <path> # 检查HDFS文件系统的健康状态。它可以列出文件系统中的损坏文件和丢失的数据块。此命令还可以执行一些修复操作,比如移动或删除损坏的文件 hadoop fsck <path> [ -move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] # 删除HDFS中的文件或目录 hadoop fs -rm <path> hadoop fs -rm -r hdfs://hadoop-xxx/user/anzhihe/test # 删除HDFS中的文件或目录,直接干掉不放回收站 hadoop fs -rm -r -skipTrash hdfs://hadoop-xxx/user/anzhihe/ # 清除HDFS中的所有Trash,Trash中的所有文件将被永久删除,无法恢复。这个命令对于释放存储空间非常有用,但请谨慎使用,因为一旦执行,Trash中的文件将被永久清除 hadoop fs -expunge # Hadoop DistCp是一个用于大规模集群内/集群间复制的工具。它使用MapReduce来实现数据的分发、错误处理、恢复和报告。它将文件和目录列表扩展为输入到map任务中,每个任务将复制源列表中指定的文件的一个分区 hadoop distcp /src/xxx /dst/xxx hadoop distcp hdfs://10.1.2.3:8020/user/anzhihe/datax/ hdfs://HDFS8002345/user/anzhihe/datax/ # 保证源目录和目标目录文件的一致性,将源目录中没有而目标目录中有的文件删除,小文件有丢失的风险 hadoop distcp -skipcrccheck -pugpb -update -delete <srcpath> <dstpath> hadoop distcp -skipcrccheck -pugpb -update -delete hdfs://10.1.2.3:8020/anzhihe/dt=20230821/ cosn://hadoop-1/anzhihe/dt=20230821/ # 使用腾讯cos-distcp迁移warehouse到cos存储 # 全量备份到cos export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dhadoop.root.logger=INFO,console"; nohup hadoop jar cos-distcp-1.13-2.8.5.jar -libjars /usr/local/service/hadoop/share/hadoop/tools/lib/cos_api-bundle-5.6.137.2.jar,/usr/local/service/hadoop/share/hadoop/tools/lib/hadoop-cos-2.8.5-8.3.1.jar -Dfs.cosn.bucket.region=ap-beijing -Dfs.cosn.impl=org.apache.hadoop.fs.CosFileSystem -Dfs.AbstractFileSystem.cosn.impl=org.apache.hadoop.fs.CosN --src hdfs://10.1.2.3:8020/user/hive/warehouse/ --dest cosn://hadoop-1/user/hive/warehouse/ --cosChecksumType=CRC64 --skipMode=length-checksum --checkMode=length-checksum --taskNumber=50 --bandWidth 256 --ignoreSrcMiss --jobName hive_warehouse_data_transfer_062 >> hive_warehouse_data_transfer_20230621.log 2>&1 & # 增量备份到cos export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dhadoop.root.logger=INFO,console"; nohup hadoop jar cos-distcp-1.13-2.8.5.jar -libjars /usr/local/service/hadoop/share/hadoop/tools/lib/cos_api-bundle-5.6.137.2.jar,/usr/local/service/hadoop/share/hadoop/tools/lib/hadoop-cos-2.8.5-8.3.1.jar -Dfs.cosn.bucket.region=ap-beijing -Dfs.cosn.impl=org.apache.hadoop.fs.CosFileSystem -Dfs.AbstractFileSystem.cosn.impl=org.apache.hadoop.fs.CosN --src hdfs://10.1.2.3:8020/user/hive/warehouse/ --dest cosn://hadoop-1/user/hive/warehouse/ --cosChecksumType=CRC64 --skipMode=length --checkMode=length --taskNumber=50 --bandWidth 256 --ignoreSrcMiss --jobName warehouse_transfer_`date +%Y%m%d%H%M` >> ~/warehouse_transfer_`date +%Y%m%d%H%M`.log 2>&1 & # 获取应用程序的ID列表 yarn application -list # 杀死指定的YARN应用程序。这将终止正在运行的应用程序并释放其占用的资源 yarn application -kill application_1692071841361 # 查看正在运行的 YARN 应用程序的日志 yarn logs -applicationId application_1693277215052_116397 # 执行存储在文件中的Hive脚本 hive -v -f /path/to/data.sql # 在命令行中执行Hive查询语句 hive -e "msck repair table oper.xx_oper_marketing_log_hi;"
参考: