多日无暇学习使用Hadoop了,今天在练习安装使用Hive的时候发现文件无法从本地拷贝到hadoop集群系统,老是报错,错误内容为:
java.io.IOException: File … could only be replicated to 0 nodes, instead of 1。查找namenode的日志,也是报这个错,而且非常多,即便在启动的时候也是报类似的错误。这个学习环境为单namenode+2个datanode,使用dfsadmin -report报无数据节点,如下:
[hadoop@namenode hadoop]$ hadoop dfsadmin -report
Configured Capacity: 0 (0 KB) Present Capacity: 0 (0 KB) DFS Remaining: 0 (0 KB) DFS Used: 0 (0 KB) DFS Used%: ?% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0
————————————————- Datanodes available: 0 (0 total, 0 dead)
|
重新格式化namenode,并重新启动,故障依旧,清除历史日志,从datanode节点的日志发现了错误“Incompatible namespaceIDs “,删除了datanode的dfs.data.dir目录,并重建,然后重新格式化namenode、启动,发现dfsadmin -report还是没有数据节点加入。再查日志,发现错误不同了:All directories in dfs.data.dir are invalid。没有生成目录结构,正纳闷呢,发现日志中前面有警告:
Invalid directory in dfs.data.dir: Incorrect permissio
n for /hadoop/hadoop-data, expected: rwxr-xr-x, while actual: rwxrwxr-x。
根据警告内容,分别在两个datanode上修改该目录权限:
[hadoop@namenode logs]$ ssh datanode01.hadoop Last login: Wed Mar 14 01:58:39 2012 from namenode.hadoop [hadoop@datanode01 ~]$ chmod g-w /hadoop/hadoop-data/ [hadoop@datanode01 ~]$ exit
[hadoop@namenode logs]$ ssh datanode02.hadoop Last login: Wed Mar 14 01:59:00 2012 from datanode01.hadoop [hadoop@datanode02 ~]$ chmod g-w /hadoop/hadoop-data/ [hadoop@datanode02 ~]$ exit
|
启动后,故障解除:
[hadoop@namenode hadoop]$ hadoop dfsadmin -report Configured Capacity: 158030774272 (147.18 GB) Present Capacity: 141718949918 (131.99 GB) DFS Remaining: 141718892544 (131.99 GB) DFS Used: 57374 (56.03 KB) DFS Used%: 0% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0
————————————————- Datanodes available: 2 (2 total, 0 dead)
Name: 172.21.126.102:50010 Decommission Status : Normal Configured Capacity: 79015387136 (73.59 GB) DFS Used: 28687 (28.01 KB) Non DFS Used: 8155709425 (7.6 GB) DFS Remaining: 70859649024(65.99 GB) DFS Used%: 0% DFS Remaining%: 89.68% Last contact: Wed Mar 14 01:40:41 CST 2012
Name: 172.21.126.103:50010 Decommission Status : Normal Configured Capacity: 79015387136 (73.59 GB) DFS Used: 28687 (28.01 KB) Non DFS Used: 8156114929 (7.6 GB) DFS Remaining: 70859243520(65.99 GB) DFS Used%: 0% DFS Remaining%: 89.68% Last contact: Wed Mar 14 01:40:41 CST 2012
|
运行hive测试,也能正常使用了:
hive> create table dummy(value STRING); OK Time taken: 10.642 seconds hive> load data local inpath ‘/tmp/dummy.txt’ overwrite into table dummy; Copying data from file:/tmp/dummy.txt Copying file: file:/tmp/dummy.txt Loading data to table default.dummy Deleted hdfs://namenode.hadoop/user/hive/warehouse/dummy OK Time taken: 0.439 seconds hive> select * from dummy; OK X Time taken: 0.254 seconds hive>
|
没想到数据目录的权限检查如此严格,多了用户组的写权限能造成集群系统的无法启动,在这记录,以备查。
就是hadoop文件权限多增加了写的权限,造成datanode无法启动,去掉写的权限就可以了!
分享到:
相关推荐
在部署Hadoop集群的过程中,用户可能会遇到Datanode启动失败的情况。这一问题通常表现为,在尝试启动Hadoop集群时,Datanode无法正常启动,并且在访问NameNode的Web界面时发现缺少Datanode的相关信息。这种情况会...
Hadoop datanode重新加载失败无法启动解决 本文将详细讲解Hadoop datanode重新加载失败无法启动解决的知识点,主要包括datanode加载失败的原因、解决方法和步骤。 知识点1: datanode加载失败的原因 datanode加载...
Hadoop 作为一个大数据处理框架,其核心组件之一是分布式文件系统(HDFS),而 DataNode 是 HDFS 中的重要组件之一。DataNode 负责存储和管理数据块,提供数据访问服务。本文将对 DataNode 的源码进行解析,了解其...
启动Hadoop后 没有DataNode进程 的解决方法。 一篇文章带你快速了解!
问题描述:在hadoop安装目录/bin/hadoop中有一段shell代码导致Hadoop启动datanode时出现Unrecognized option: -jvm和Could not create the Java virtual machine错误。 解决方法: 1. 修改hadoop安装目录/bin/...
大数据之Hadoop伪分布模式启动 Hadoop伪分布模式是一种特殊的Hadoop集群模式,在这种模式下,所有Hadoop服务都运行在同一个节点上,模拟一个完整的Hadoop集群环境。这种模式非常适合开发、测试和学习Hadoop。 格式...
Hadoop 分布式集群初次启动是大数据处理中的重要步骤,本文将指导用户如何在虚拟机中搭建 Hadoop 分布式集群,并对其进行初次启动。 1. SSH 免密登录 在 Hadoop 分布式集群中,各个节点之间需要配置 SSH 免密登录...
- 在生产环境中,通常不推荐使用伪分布模式,因为它无法展示真正的容错性和扩展性。 - 在运行Hadoop之前,请确保配置文件(如`core-site.xml`, `hdfs-site.xml`, `yarn-site.xml`等)已根据你的环境进行了适当设置...
在这个部署中,我们将使用 Hadoop 2.0 在两个 Ubuntu 服务器上部署双 Namenode 双 Datanode 集群。 Namenode 的作用 Namenode 是 Hadoop 集群中的主节点,负责管理文件系统的命名空间和数据块的分布。它维护着...
"hadoop启动日志"这个主题涉及到的是Hadoop集群启动过程中的日志记录,这对于系统管理员进行故障排查、性能优化以及理解Hadoop运行状态至关重要。日志文件通常包含了丰富的信息,如服务启动时间、初始化步骤、依赖...
| hadoop-node7 | *.*.83.7 | Hadoop Datanode/HBase HRegionServer/ZooKeeper | | hadoop-node8 | *.*.83.8 | Hadoop Secondary Namenode/HBase HMaster/ZooKeeper | 三、硬件环境 在本文中,我们使用8台曙光...
* Datanode未启动:检查 Datanode 配置文件,检查 Datanode 进程状态 * JobTracker未启动:检查 JobTracker 配置文件,检查 JobTracker 进程状态 * TaskTracker未启动:检查 TaskTracker 配置文件,检查 TaskTracker...
通过本文的详细介绍,我们不仅了解了Hadoop分布式集群初次启动所需的准备工作,包括SSH免密登录的设置以及HDFS格式化等步骤,还掌握了如何通过不同的命令来启动Hadoop集群中的HDFS与YARN模块。这对于Hadoop初学者来...
4. **Secondary NameNode的作用**:Secondary NameNode并非用于缩短Hadoop集群启动时间,而是辅助NameNode合并编辑日志,减少NameNode的重启时间。 5. **Hadoop的硬件需求与可靠性**:Hadoop设计允许在普通硬件上...
7. 启动Hadoop服务,如NameNode、DataNode、ResourceManager和NodeManager。 注意,虽然Hadoop可以在Windows上运行,但实际生产环境中更推荐使用Linux,因为Linux与Hadoop的兼容性更好,且性能更优。此外,Windows...
启动 datanode 失败是 Hadoop 中的常见问题,主要是由于 NameNode 和 DataNode 的配置不正确。解决方法是删除 NameNode 和 DataNode 的文件系统路径,然后重新格式化分布式文件系统。 java.io.IOException: Could ...
在压缩包`hadooponwindows`中,很可能包含了用于简化上述步骤的脚本或工具,帮助用户快速在Windows上部署和启动Hadoop。如果你遇到任何问题,务必仔细阅读文档,或者查阅在线资源和社区讨论,以便找到解决方案。记住...
- **配置slaves**:列出所有DataNode的主机名,便于Hadoop启动DataNode进程。 5. **格式化NameNode** 在初次安装后,需要对NameNode进行格式化,初始化HDFS的元数据。 6. **启动Hadoop服务** 启动Hadoop的各个...
7. **启动Hadoop**:使用`start-dfs.cmd`和`start-yarn.cmd`命令启动Hadoop的DataNode、NameNode以及ResourceManager和NodeManager。 8. **测试Hadoop**:最后,你可以通过运行`hadoop fs -ls /`命令来检查HDFS是否...