大数据HDFS生产中常用操作命令

# 查看版本信息
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;"


参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5884.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注