Hadoop集群中使用Hive查询报错

今天在使用Hive查询某分析数据最大值的时候,出现了一定的问题,hive中现象如下:

Caused by: java.io.FileNotFoundException://http://slave1:50060/tasklog?attemptid=attempt_201501050454_0006_m_00001_1

然后查看一下jobtracker的日志:

2015-01-05 21:43:23,724 INFO org.apache.hadoop.mapred.JobInProgress: job_201501052137_0004: nMaps=1 nReduces=1 max=-1
2015-01-05 21:43:23,724 INFO org.apache.hadoop.mapred.JobTracker: Job job_201501052137_0004 added successfully for user 'hadoop' to queue 'default'
2015-01-05 21:43:23,724 INFO org.apache.hadoop.mapred.AuditLogger: USER=hadoop  IP=192.168.1.193        OPERATION=SUBMIT_JOB    TARGET=job_201501052137_0004    RESULT=SUCCESS
2015-01-05 21:43:23,732 INFO org.apache.hadoop.mapred.JobTracker: Initializing job_201501052137_0004
2015-01-05 21:43:23,732 INFO org.apache.hadoop.mapred.JobInProgress: Initializing job_201501052137_0004
2015-01-05 21:43:23,817 INFO org.apache.hadoop.mapred.JobInProgress: jobToken generated and stored with users keys in /opt/hadoop-1.0.1/tmp/mapred/system/job_201501052137_0004/jobToken
2015-01-05 21:43:23,822 INFO org.apache.hadoop.mapred.JobInProgress: Input size for job job_201501052137_0004 = 41. Number of splits = 1
2015-01-05 21:43:23,822 INFO org.apache.hadoop.mapred.JobInProgress: tip:task_201501052137_0004_m_000000 has split on node:/default-rack/slave1
2015-01-05 21:43:23,822 INFO org.apache.hadoop.mapred.JobInProgress: job_201501052137_0004 LOCALITY_WAIT_FACTOR=0.5
2015-01-05 21:43:23,822 INFO org.apache.hadoop.mapred.JobInProgress: Job job_201501052137_0004 initialized successfully with 1 map tasks and 1 reduce tasks.
2015-01-05 21:43:26,140 INFO org.apache.hadoop.mapred.JobTracker: Adding task (JOB_SETUP) 'attempt_201501052137_0004_m_000002_0' to tip task_201501052137_0004_m_000002, for tracker 'tracker_slave2:127.0.0.1/127.0.0.1:380
2015-01-05 21:43:29,144 INFO org.apache.hadoop.mapred.TaskInProgress: Error from attempt_201501052137_0004_m_000002_0: Error initializing attempt_201501052137_0004_m_000002_0:
java.io.IOException: Exception reading file:/opt/hadoop-1.0.1/tmp/mapred/local/ttprivate/taskTracker/hadoop/jobcache/job_201501052137_0004/jobToken
        at org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:135)
        at org.apache.hadoop.mapreduce.security.TokenCache.loadTokens(TokenCache.java:165)
        at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1179)
        at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1116)
        at org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2404)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.FileNotFoundException: File file:/opt/hadoop-1.0.1/tmp/mapred/local/ttprivate/taskTracker/hadoop/jobcache/job_201501052137_0004/jobToken does not exist.
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:397)
        at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
        at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:125)
        at org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283)
        at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:427)
        at org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:129)
        ... 5 more

2015-01-05 21:43:29,144 ERROR org.apache.hadoop.mapred.TaskStatus: Trying to set finish time for task attempt_201501052137_0004_m_000002_0 when no start time is set, stackTrace is : java.lang.Exception
        at org.apache.hadoop.mapred.TaskStatus.setFinishTime(TaskStatus.java:145)
        at org.apache.hadoop.mapred.TaskInProgress.incompleteSubTask(TaskInProgress.java:670)
        at org.apache.hadoop.mapred.JobInProgress.failedTask(JobInProgress.java:2942)
        at org.apache.hadoop.mapred.JobInProgress.updateTaskStatus(JobInProgress.java:1159)
        at org.apache.hadoop.mapred.JobTracker.updateTaskStatuses(JobTracker.java:4739)
        at org.apache.hadoop.mapred.JobTracker.processHeartbeat(JobTracker.java:3683)
        at org.apache.hadoop.mapred.JobTracker.heartbeat(JobTracker.java:3378)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)

2015-01-05 21:43:29,146 INFO org.apache.hadoop.mapred.JobTracker: Adding task (JOB_SETUP) 'attempt_201501052137_0004_r_000002_0' to tip task_201501052137_0004_r_000002, for tracker 'tracker_slave2:127.0.0.1/127.0.0.1:380
2015-01-05 21:43:29,146 INFO org.apache.hadoop.mapred.JobTracker: Removing task 'attempt_201501052137_0004_m_000002_0'
2015-01-05 21:43:32,154 INFO org.apache.hadoop.mapred.TaskInProgress: Error from attempt_201501052137_0004_r_000002_0: Error initializing attempt_201501052137_0004_r_000002_0:
java.io.IOException: Exception reading file:/opt/hadoop-1.0.1/tmp/mapred/local/ttprivate/taskTracker/hadoop/jobcache/job_201501052137_0004/jobToken
        at org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:135)
        at org.apache.hadoop.mapreduce.security.TokenCache.loadTokens(TokenCache.java:165)
        at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1179)
        at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1116)
        at org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2404)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.FileNotFoundException: File file:/opt/hadoop-1.0.1/tmp/mapred/local/ttprivate/taskTracker/hadoop/jobcache/job_201501052137_0004/jobToken does not exist.
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:397)
        at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
        at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:125)

从这个日志看,很有可能是由于tmp没有权限穿件mapreduce时候的临时文件

查看以前临时文件目录 , 查看core-site.xml里面:

hadoop.tmp.dir 在/opt/hadoop-1.0.1/tmp/下面,该文件被赋予hadoop的拥有者和750的权限,但是可能存在一些问题。

将该文件做一下修改:

hadoop.tmp.dir 为/home/hadoop/temp

重新格式化hdfs,并重启,使用hive查询,该问题消失

时间: 2024-10-13 10:33:08

Hadoop集群中使用Hive查询报错的相关文章

Hadoop集群中添加硬盘

Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步骤和我遇到的问题和解决方法总结一下,分享给大家. 1.    首先,介绍一下用到的基本命令和配置,如果本文的网友时间比较紧,可以直接跳过部分内容,直接看“2.   如何加载新硬盘”部分. (1)命令fdisk 语法: fdisk [-b sectorsize] device fdisk -l [-u

hadoop集群中namenode没有启动

最近,我在学习搭建hadoop集群,可是搭建完成后当使用start-all.sh启动hadoop的时候,会发现用jps测试的时候一切均显示正常,但通过Hadoop指令向hdfs上传输文件的时候,会报错表示datanode没有正常启动, 在网上找了一些博客讲述是可能防火墙没关,还有就是删除hadoop目录下的tmp文件夹和logs文件夹,可是都不凑效,我经过反复查询发现是因为datanode的clusterID不匹配! 打开hdfs-site.xml里配置的datanode和namenode对应的

Hadoop集群中Hbase的介绍、安装、使用

导读 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. 一.Hbase简介 HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统:Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce

ES集群修改index副本数报错 :index read-only / allow delete

ES集群修改index副本数,报错 :index read-only / allow delete (api) 原因: es集群数据量增速过快,导致个别es node节点磁盘使用率在%80以上,接近%90 ,由于ES新节点的数据目录data存储空间不足,导致从master主节点接收同步数据的时候失败,此时ES集群为了保护数据,会自动把索引分片index置为只读read-only. 故障处理办法: 1:集群加节点,简单粗暴: 2:降低集群index副本数量: 3:其它:增加磁盘.删除历史数据等:

基于OGG的Oracle与Hadoop集群准实时同步介绍

Oracle里存储的结构化数据导出到Hadoop体系做离线计算是一种常见数据处置手段.近期有场景需要做Oracle到Hadoop体系的实时导入,这里以此案例做以介绍.Oracle作为商业化的数据库解决方案,自发性的获取数据库事务日志等比较困难,故选择官方提供的同步工具OGG(Oracle GoldenGate)来解决. 安装与基本配置 环境说明 软件配置 角色 数据存储服务及版本 OGG版本 IP 源服务器 OracleRelease11.2.0.1 Oracle GoldenGate 11.2

Hadoop集群(第10期)_MapReduce与MySQL交互

2.MapReduce与MySQL交互 MapReduce技术推出后,曾遭到关系数据库研究者的挑剔和批评,认为MapReduce不具备有类似于关系数据库中的结构化数据存储和处理能力.为此,Google和MapReduce社区进行了很多努力.一方面,他们设计了类似于关系数据中结构化数据表的技术(Google的BigTable,Hadoop的HBase)提供一些粗粒度的结构化数据存储和处理能力:另一方面,为了增强与关系数据库的集成能力,Hadoop MapReduce提供了相应的访问关系数据库库的编

Hadoop集群大数据平台搭建

Hadoop集群环境搭建配置 前言 Hadoop的搭建分为三种形式:单机模式.伪分布模式.完全分布模式,只要掌握了完全分布模式,也就是集群模式的搭建,剩下的两种模式自然而然就会用了,一般前两种模式一般用在开发或测试环境下,Hadoop最大的优势就是分布式集群计算,所以在生产环境下都是搭建的最后一种模式:完全分布模式. 硬件选择 须知: 分布式环境中一个服务器就是一个节点 节点越多带来的是集群性能的提升 一个Hadoop集群环境中,NameNode,SecondaryNameNode和DataNo

大数据系列(2)——Hadoop集群坏境CentOS安装

前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMware虚拟机.CentOS 6.8 64 bit 安装流程 因为我的笔记本是Window7操作系统,然后内存配置,只有8G,内存配置太低了,当然为了演示,我会将Hadoop集群中的主节点分配2GB内存,然后剩余的三个节点都是1GB配置. 所有的节点存储我都设置为50GB. 在安装操作系统之前,我们需要

Hadoop集群(第10期)_MySQL关系数据库

1.MySQL安装 MySQL下载地址:http://www.mysql.com/downloads/ 1.1 Windows平台 1)准备软件 MySQL版本:mysql-5.5.21-win32.msi 2)安装环境: 操作系统:Windows 7旗舰版 3)开始安装 第一步:双击"msi"安装文件,出现如图1.1-1界面——"MySQL安装向导",按"Next"继续. 图1.1-1 MySQL安装向导 第二步:在"I accept