下面按**“从零开始、日常最常用”**的思路,系统讲一下 Linux 下 Hadoop 脚本的使用方法。以 Hadoop 3.x(最主流) 为例,命令路径以 $HADOOP_HOME/bin 和 $HADOOP_HOME/sbin 为主。
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
验证:
hadoop version
start-dfs.sh # 启动 HDFS
start-yarn.sh # 启动 YARN
或一次启动全部:
start-all.sh
⚠️
start-all.sh已不推荐,但依然可用
stop-dfs.sh
stop-yarn.sh
或:
stop-all.sh
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
hdfs dfsadmin -report
hadoop fs -ls /
hadoop fs -mkdir /test
hadoop fs -put file.txt /test/
hadoop fs -get /test/file.txt ./
hadoop fs -cat /test/file.txt
hadoop fs -rm /test/file.txt
hadoop fs -rm -r /test
✅ 推荐新写法(等价):
hdfs dfs -ls /
hdfs dfsadmin -safemode get
hdfs dfsadmin -safemode leave
yarn jar wordcount.jar com.xxx.WordCount /input /output
yarn application -list
yarn application -kill application_123456_0001
yarn logs -applicationId application_123456_0001
hdfs namenode -format
⚠️ 会清空 HDFS 数据,慎用
hdfs balancer
hdfs fsck /
# 1. 启动
start-dfs.sh
start-yarn.sh
# 2. 上传数据
hadoop fs -mkdir /input
hadoop fs -put data.txt /input
# 3. 提交任务
yarn jar mr.jar WordCount /input /output
# 4. 查看结果
hadoop fs -cat /output/part-r-00000
# 5. 停止
stop-yarn.sh
stop-dfs.sh
| 问题 | 解决 |
|---|---|
| command not found | 检查 PATH / HADOOP_HOME |
| NameNode 不启动 | 查看 logs,是否未格式化 |
| 端口占用 | 检查 50070 / 8088 |
| 权限拒绝 | 使用 hdfs dfs -chmod |
如果你愿意,我可以:
你现在是 学习 / 面试 / 生产环境 哪种场景?