格式化报错
权限问题
出现cannot creat directory或cannot creat file类型
cannot create directory Permission denied
如果使用的是 user 用户,多数情况下是因为文件权限问题,hadoop3.3.1、big_data(存数据)、log_hadoop(存日志) 文件都要将权限给 user。
主机名问题
java.net.UnknownHostException: hadoop102: hadoop102
java.net.InetAddress.getLocalHost(InetAddress.java:1475)
解决方案:检查 etc/hosts
文件配置和主机名称,不要起一些奇怪的主机名。
运行模块进程不全
未格式化
如果集群是第一次启动,需要在 hadoop102 节点格式化 NameNode
hdfs namenode -format
DN和NN进程同时只能工作一个。
如果不是第一次格式化,则需要先停掉 namenode 和 datanode 进程,再删除所有机器上的 big_data(存数据) 和 log_hadoop(存日志) 文件夹,然后重新创建 big_data 和 log_hadoop 文件夹,将权限全部给到 user,再进行格式化。(如果没有配置这些,默认路径在 /tmp
目录下)
因为格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。
Hadoop103,Hadoop104无进程
jps无法使用
原因:如果不是用 rpm 安装需要去 /etc/profile
文件下配置环境变量。rpm 安装默认在 /usr/java/default
不需要配置环境变量。
jps无进程,但是启动集群显示正在运行
原因:是在 Linux 的根目录下 /tmp
目录中存在启动的进程临时文件,将集群相关进程删除掉,再重新启动集群。
Web端打开不了
systemctl stop firewalld.service
systemctl disable firewalld.service
vim /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 hadoop102
测试中文件上传和计算问题
INFO mapreduce.JobSubmitter: Cleaning up the staging area /tmp/hadoop-yarn/staging/root/.staging/job_1510302622448_0003
出错原因:单机读取的是本地的文件,分布式环境下需要从hdfs 上读取文件。
解决方案:将本地的文件上传到 hdfs 上,然后再运行可以成功执行。
报错内容:
Output directory xxx already exists
解决方案:修改输出目录,输出目录需要为空目录,所以在后面随便加上一个目录名,则会在 /output
目录下创建目录,如果是多次计算每次都需要指定不同的目录用于存储结果。
Hadoop文件系统命令参考:FileSystem Shell
下面给出几个常用命令
hadoop dfs -mkdir [-p] <paths>
2 上传本地文件
hadoop fs -put localfile /hadoopdir
hadoop fs -ls /hadoopfile
hadoop fs -ls -e /hadoopdir
4 修改文件夹权限
hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
5 删除文件夹
hadoop fs -rm -r /hadoopdir
原文地址:https://blog.csdn.net/qq_61828116/article/details/134723006
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_41376.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!