记录自己在学习、安装、启动hadoop过程中遇到的一些问题。
一、安装单机版hdfs:
参考文章:1.centos7 hadoop 单机模式安装配置_centos7安装hadoop单机_董可伦的博客-CSDN博客
启动hdfs:
需要格式化dfs
- cd /xxx/hadoop
- ./bin/hdfs namenode -format
启动:
./sbin start-dfs.sh
停止:
./sbin stop-dfs.sh
验证,浏览器输入:http://192.xxx.xxx.xx:50070
启动yarn
./sbin/start-yarn.sh
停止
./sbin/stop-yarn.sh
浏览器查看:http://192.xxx.xxx.xx:8088
jps查看进程:
二、Hadoop简单操作指令:
参考文章:HDFS文件查看与创建_hdfs中怎么创建目录了在哪儿查_骑码找马的博客-CSDN博客
从0.21.0版本以后,hadoop 命令换成了hdfs命令。
- 查询指令:hdfs dfs -ls
- 递归差选hdfs dfs -ls R
- 创建文件夹:hdfs dfs -mkdir /test1
- 创建空的文件:hdfs dfs -touchz /test1/a.txt
- 把本地文件c.txt,增加文件到test(复制效果,同-copyFromLocal,剪切效果,-moveFromLocal): hdfs dfs -put c.txt /test
- 查看文件内容:hdfs dfs -cat /test1/a.txt
- 复制文件到当前目录(也可以指定目录):hdfs dfs -copyToLocal /test/c.txt
- 删除文件或者文件夹:hdfs dfs -rm -r /test/c.txt
- 重命名文件:hdfs dfs -mv /test/myfile.txt /test/c.txt
- 将源目录的所有文件排序合并到一个本地文件:hdfs dfs -getmerge /test1 local-file
上传文件是遇到报错:
put: File /test/d.txt.COPYING could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.
排查:查看datanode日志,发现是namenode和datanode不一致导致,可能跟我多次重启,多次格式化有关。
解决:
- 把datanode的 clusterID修改成与namenode的cluster ID一样,文件地址在日志中有打印。
datanode的版本地址:/opt/hadoop/tmp/dfs/data/current
namenode的版本地址:/opt/hadoop/tmp/dfs/name/current
- 重新启动:执行 ./sbin/start-dfs.sh 和 ./sbin/start-yarn.sh,切记不要格式化了
- jps 查看进程,datanode已正常