`

[转] hadoop使用中的几个小细节(二)

阅读更多

[转] hadoop使用中的几个小细节(二)

 

转自:http://rdc.taobao.com/blog/dw/archives/245

 

十二月 07, 2008 By: 竹庄 Category: hadoop, 所有

1 某次正常运行mapreduce实例时,抛出错误

java.io.IOException: All datanodes xxx.xxx.xxx.xxx:xxx are bad. Aborting…

at org.apache.hadoop.dfs.DFSClient$DFSOutputStream.processDatanodeError(DFSClient.java:2158)

at org.apache.hadoop.dfs.DFSClient$DFSOutputStream.access$1400(DFSClient.java:1735)

at org.apache.hadoop.dfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:1889)

java.io.IOException: Could not get block locations. Aborting…

at org.apache.hadoop.dfs.DFSClient$DFSOutputStream.processDatanodeError(DFSClient.java:2143)

at org.apache.hadoop.dfs.DFSClient$DFSOutputStream.access$1400(DFSClient.java:1735)

at org.apache.hadoop.dfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:1889)

经查明,问题原因是linux机器打开了过多的文件导致。用命令ulimit -n可以发现linux默认的文件打开数目为1024,修改/ect/security/limit.conf,增加hadoop soft 65535

再重新运行程序(最好所有的datanode都修改),问题解决

P.S:据说hadoop dfs不能管理总数超过100M个文件,有待查证

2 运行一段时间后hadoop不能stop-all.sh的问题,显示报错

no tasktracker to stop ,no datanode to stop

问题的原因是hadoop在stop的时候依据的是datanode上的mapred和dfs进程号。而默认的进程号保存在/tmp下,linux默认会每隔一段时间(一般是一个月或者7天左右)去删除这个目录下的文件。因此删掉hadoop-hadoop-jobtracker.pid和hadoop-hadoop-namenode.pid两个文件后,namenode自然就找不到datanode上的这两个进程了。

在配置文件中的export HADOOP_PID_DIR可以解决这个问题

分享到:
评论

相关推荐

    实战hadoop中的源码

    深入学习Hadoop源码,我们可以探讨以下几个关键知识点: 1. **Hadoop架构**:理解Hadoop的分布式文件系统(HDFS)和MapReduce计算模型,以及YARN资源调度器的工作原理。 2. **HDFS**:研究HDFS的数据块、副本策略...

    Hadoop 高清完整中文PDF下载

    Hadoop是一个由Apache基金会开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed ...

    hadoop介绍

    Hadoop主要由以下几个部分组成: 1. **Hadoop Common**:这是Hadoop的核心部分,包括文件系统(HDFS)和远程过程调用(RPC)等基础服务。 2. **HDFS (Hadoop Distributed File System)**:提供了一个高吞吐量的可靠...

    大数据安全-kerberos技术-hadoop安装包,hadoop版本:hadoop-3.3.4.tar.gz

    在大数据领域,安全是至关重要的一个环节,尤其是在...在实际操作中,管理员需要深入了解Kerberos的工作原理和Hadoop的配置细节,以确保系统的稳定性和安全性。同时,定期维护和更新安全策略,以应对新的威胁和挑战。

    Hadoop_2.7.2安装包.rar

    在安装Hadoop之前,我们需要了解以下几个核心概念: 1. **HDFS(Hadoop Distributed File System)**:Hadoop的核心组件之一,是一个分布式文件系统,能够将大量数据分布在多台服务器上,提供高容错性和高可用性。 ...

    hadoop权威指南4和源码

    在深入探讨Hadoop的知识点时,我们可以从以下几个方面进行: 1. **Hadoop概述**:Hadoop是一个开源的分布式计算框架,由Apache软件基金会维护。它允许在廉价硬件上处理和存储大量数据,主要由两个核心组件构成:...

    hadoop中RPC协议的小测试例子(吴超老师)

    整个过程涉及以下几个关键步骤: 1. **协议定义**:首先,客户端和服务端需要有一个共同的协议定义,包括调用的函数名、参数类型和返回值类型。这通常通过接口(如Java的Interface)来实现。 2. **序列化和反序列...

    hadoop入门

    Hadoop具有以下几个重要的组件和概念: 1. Hadoop分布式文件系统(HDFS):HDFS是Hadoop的一个核心组件,它是一个分布式文件存储系统,能够存储非常大量的数据。HDFS的设计考虑到了高容错性,能够为数据保存多个...

    Hadoop源码分析 第一章 Hadoop脚本

    Hadoop脚本通常涉及以下几个关键环节: 1. **配置文件**:如`core-site.xml`, `hdfs-site.xml`, `mapred-site.xml`等,这些配置文件定义了Hadoop集群的参数,包括数据块大小、NameNode地址、JobTracker设置等,是...

    hadoop 运行原理分析

    从程序员的角度来看,使用Hadoop进行开发需要遵循以下几个步骤: 1. 定义Mapper类和Reducer类,分别处理输入数据和进行数据归约。 2. 定义Job,即整个MapReduce任务,包括输入输出格式、Mapper类、Reducer类以及...

    Hive及Hadoop作业调优

    具体来说,调优策略大致可以分为以下几个方面: 1. 配置参数调优:合理配置Hadoop和Hive的参数是调优的一个重要步骤。这包括了控制Map任务的数量、合理设置Reduce任务的数量、压缩中间数据以及减少磁盘IO。配置参数...

    大数据--Hadoop HDFS

    Hadoop选择使用商用硬件而不是超级计算机或高端服务器,主要有以下几个原因: - **成本效益**:商用硬件虽然单机性能较低,但价格便宜,通过集群的方式可以有效降低成本。 - **容错机制**:由于单个节点的可靠性较...

    Hadoop mapreduce 实现MR_DesicionTreeBuilder 决策树

    在 Hadoop MapReduce 中实现决策树,通常分为以下几个步骤: - **预处理**:清洗和转换数据,将其转化为适合 MapReduce 模型的格式。 - **Map 阶段**:每个 Map 任务处理一部分数据,计算每个特征在当前子集上的...

    hadoop实现聚类算法

    原始的K-Means算法包括以下几个步骤: 1. **初始化**:随机选择K个数据点作为初始质心。 2. **分配数据点**:将每个数据点分配给最近的质心所在的簇。 3. **更新质心**:对于每个簇,计算所有数据点的平均值作为新...

    Hadoop入门学习文档

    #### 二、Hadoop框架 ##### 2.1 Hadoop简介 - **定义**:Hadoop是由Apache基金会开发的分布式系统基础架构,用于处理大规模数据集。 - **目标**:解决海量数据的存储和分析计算问题。 - **生态体系**:广义上的...

    Hadoop平台性能优化

    本文将从以下几个关键点详细解读Hadoop平台性能优化的知识点。 首先,了解Hadoop平台的性能依赖于基于MapReduce模型的应用程序。MapReduce模型将复杂的分布式任务简化为两个主要操作:Map(映射)和Reduce(归约)...

    Hadoop源代码分析

    这本书涵盖了以下几个关键知识点: 1. **MapReduce架构**:MapReduce由Map阶段和Reduce阶段组成,中间通过Shuffle和Sort过程连接。Map阶段将输入数据拆分成键值对,应用用户定义的函数进行处理。Reduce阶段则聚合...

    Hadoop搭建的源代码.doc

    在提供的配置中,有以下几个关键属性: 1. `fs.defaultFS`: 这个属性定义了默认的文件系统,即HDFS的名称节点(NameNode)地址。在这个例子中,设置为`hdfs://node:9000/`,意味着NameNode运行在名为`node`的主机上...

Global site tag (gtag.js) - Google Analytics