1.HDFS运维
1.1 HDFS集群操作命令
#HDFS集群启停
start-dfs.sh
stop-dfs.sh
#获取HDFS集群信息
hdfs dfsadmin -report
#namenode和datanode启动停止命令
hdfs --daemon stop datanode
hdfs --daemon stop namenode
hdfs --daemon start namenode
hdfs --daemon start datanode
#hdfs扩缩容后运行如下命令:
hdfs dfsadmin -refreshNodes
1.2 日常操作命令
Bash
#hdfs命令帮助键
hdfs dfs -help count
hdfs dfs -help
#查看hdfs中文件后10行
hdfs dfs -cat /tmp/logs | tail -10
#查看hdfs中存储的gzip压缩文件
hdfs dfs -cat /tmp/log.1667385034122.gz | zcat
hadoop fs -text /tmp/log.1667385034122.gz | head -20
#查看hdfs中存储的orc文件
hive --orcfiledump /temp/889e28a956e
#查看hdfs中存储的orc文件输出到本地
hive --orcfiledump -d /temp/889e28a956e > /data/myfile.txt
#hdfs复制命令
hadoop fs -cp /tmp/logs /origin_data
#hdfs移动命令
hadoop fs -mv /tmp/logs /origin_data/
#hdfs删除命令(带文件夹)
hadoop fs -rm -r /tmp/logs
#hdfs删除命令
hadoop fs -rm /tmp/logs
#hdfs列举
hadoop fs -ls /tmp/logs | grep tmp
hdfs dfs -ls /tmp/logs | awk '{print $NF}' | grep -w '.*/chk-.*' | sort -r | head -n 1
hdfs dfs -ls /tmp/logs | sort -r -k6,7 | awk '{print $6}' | head -n 1
# 统计hdfs对应路径下的目录个数,文件个数,文件总计大小
hadoop fs -count /tmp/logs
hadoop fs -count /tmp/logs| awk '{print $3}'
# 查看hdfs中是否存在某个文件
hadoop fs -test -e /tmp/logs
#查看hdfs文件的行数
hadoop fs -cat /文件* | wc -l
hadoop fs -ls /tmp/logs | wc -l
#hdfs查询并删除命令
hadoop fs -find /tmp/logs -name
hadoop fs -find /tmp/logs -name log.txt
hadoop fs -find /tmp/logs -name *tmp | hadoop fs -rm
#hdfs下载上传命令
hdfs dfs -get /tmp/logs/g2d.gz /data
hadoop fs -put /data/g2d.gz /tmp/logs
#hdfs文件夹重命名
hadoop fs -mv /tmp/logs /tmp/temp
#hdfs创建文件夹
hdfs dfs -mkdir /user/largemodule
#修改文件的所有者
hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
hadoop fs -mkdir -p /user/test
hadoop fs -chown -R hadoop:hadoop /user
1.3 hadoop配置hdfs的磁盘限额
<!-- 修改hdfs块大小为256m -->
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<!-- 配置hdfs的磁盘限额预留1.4T -->
<property>
<name>dfs.datanode.du.reserved</name>
<!-- cluster variant -->
<value>2638827906660</value>
<description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
</description>
</property>
1.4 新建用户使用hdfs和yarn:
- 首先要开通hdfs账户:
hdfs dfs -mkdir /user/username
hdfs dfs -chown username:supergroup /user/username
- 之后使用spark引擎,需要将spark资源和yarn临时目录资源设置为均可操作
#yarn日志存放位置
hdfs dfs -chmod -R 777 /tmp/hadoop-yarn
#jar包存放位置
hdfs dfs -chmod -R 777 /spark-jars
#spark操作历史记录存放位置
hdfs dfs -chmod 777 /spark-history
1.5 集群间数据均衡
#查看帮助命令
hdfs balancer --help
#运行均衡器若不带任何参数的balancer命令,则使用默认阈值(10%)
hdfs balancer
#数据均衡阈值设置(5%)。
hdfs balancer -threshold 5
#jobs命令可以查看到后台任务
jobs
#完整使用
nohup hdfs balancer -threshold 5 > /data/logs/ballancer-stdout.log 2> /data/logs/ballancer-stderr.log &
2.yarn运维
2.1 yarn集群操作命令
#yarn集群启停
start-yarn.sh
stop-yarn.sh
#nodemanager和resourcemanager启停
yarn --daemon stop nodemanager
yarn --daemon start nodemanager
yarn --daemon start resourcemanager
yarn --daemon stop resourcemanager
#容量调度器调整后,刷新队列的:
yarn rmadmin -refreshQueues
#yarn扩容命令
yarn rmadmin -updateNodeResource hadoop1:port memory-mb=98304M,vcores=24
#查看yarn各节点高可用状态,rm1为配置中自己的命名
yarn rmadmin -getServiceState rm1
yarn rmadmin -getServiceState rm2
2.2 日常操作命令
yarn一般在网页端查看,命令用的比较少
#查看各种命令
yarn help
#yarn node 查看节点状态
yarn node -list -all
#查看日志
#查看Application 日志
yarn logs -applicationId <application ID>
#查询Container 日志
yarn logs -applicationId <application ID> -clusterId <Cluster ID>
#查看尝试运行的任务
#列出所有 Application 尝试的列表
yarn applicationattempt -list <Application ID>
#打印 ApplicationAttemp 状态
yarn applicationattempt -status <Application ID>
#yarn 命令行查看资源状态
yarn top
3.历史服务器
#历史服务器启停
mapred --daemon start historyserver
mapred --daemon stop historyserver