hadoop 错误锦集
1.启动hadoop集群时namenode可以启动,并且namenode所在的机器的datanode能够启动。但是集群中其他机器的datanode无法启动,日志中报错(datanode unsigned)
原因分析:
由于namenode进行过格式化,或者新加入的datanode之前在其他集群,导致hadoop集群启动时识别出此datanode不属于此集群,为了保护数据集群便不操作此节点。
解决方案:
将新加入的节点的datanode存放数据的目录删除。重新启动,便可加入集群(PS:datanode的core-site.xml文件中的集群的namenode要配置为集群的namnode的地址)
2.Hive建表报key字段过长
FAILED: Error in metadata:javax.jdo.JDODataStoreException: An exception was thrown whileadding/validating class(es) : Specified key was too long; max key length is 767bytes
原因分析:
这个问题是因为hive对mysql的UTF-8编码方式有限制,修改一下mysql的编码方式即可
解决方案:
在mysql中执行
alter database hive_db character set latin1; hive_db 用自己的database name替换即可。
3.Sqoop实现HDFS导入mysql时出错
在执行sqoop export --connect jdbc:mysql://mini1:3306/urlcontentanalyse --username root --password 123456 \
--table urlrule \
--export-dir /wc/output4/ \
--columns url \
--input-fields-terminated-by '\t'
的时候出现错误提示
Exception in thread "main" Java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
在java中调用sqoop接口进行mysql和hdfs直接数据传输时,遇到以下错误:
Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
这里需要注意,sqoop有两个版本:
sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz(对应hadoop1版本)
sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz(对应hadoop2版本)
http://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.6/
出现上面的错误就是hadoop和对应的sqoop版本不一致,二者保持一致即可解决问题。
4.Hive
Hive是使用java api创建自定义函数的时候出现如下报错信息:
java.lang.UnsupportedClassVersionError: cn/itcast/hive/UDF/UDFtoLower : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hadoop.hive.ql.exec.FunctionTask.getUdfClass(FunctionTask.java:307)
at org.apache.hadoop.hive.ql.exec.FunctionTask.createTemporaryFunction(FunctionTask.java:174)
at org.apache.hadoop.hive.ql.exec.FunctionTask.execute(FunctionTask.java:74)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1604)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1364)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1177)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1004)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:994)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:247)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:199)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:410)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:783)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.FunctionTask. cn/itcast/hive/UDF/UDFtoLower : Unsupported major.minor version 52.0
原因分析:
由于hive版本和编写hive自定义的函数的javaAPI之间的兼容性问题导致。
解决方案:
在eclipse中:右击项目-->属性
之后选择edit编辑当前的JRE版本,设置为当前版本的上一个或者两个版本,基本就可以解决了。
5 hbase启动时提示如下错误:
2016-12-28 19:00:26,462 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2016-12-28 19:00:26,875ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
原因分析:
从网上查到原因是:Hbase中
缺少aws-Java-sdk-1.7.4.jar包。
解决方法:
去Hadoop\share\hadoop\tools\lib下找到该包,并存放到Hbase\lib下
6.Hbase启动时提示java_home查找不到
hduser@CSLAP106:~$ /usr/local/hbase/hbase-0.94.6.1/bin/start-hbase.sh
+======================================================================+
| Error: JAVA_HOME is not set and Java could not be found |
+----------------------------------------------------------------------+
| Please download the latest Sun JDK from the Sun Java web site |
| > http://java.sun.com/javase/downloads/ < |
| |
| HBase requires Java 1.6 or later. |
| NOTE: This script will find Sun Java whether you install using the |
| binary or the RPM based installer. |
+======================================================================+
在已经配置了java环境变量的情况下:
可能是在hbase_env.sh中配置java_home的那行备注了:
#export JAVA_HOME=/usr/jdk/
删除注释应该就可以了
7.Hive启动时报错:
"main" java.lang.IncompatibleClassChangeError: Found interface jline.Terminal, but class was expected
Logging initialized using configuration in jar:file:/home/hadoop/apps/hive/lib/hive-common-0.14.0.jar!/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/apps/hadoop-2.6.4/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/apps/hive/lib/hive-jdbc-0.14.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface jline.Terminal, but class was expected
at jline.ConsoleReader.<init>(ConsoleReader.java:191)
at jline.ConsoleReader.<init>(ConsoleReader.java:186)
at jline.ConsoleReader.<init>(ConsoleReader.java:174)
at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:798)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:746)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
原因分析:
./hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar
./apache-hive-1.2.0-bin/lib/jline-2.12.jar
hadoop中的jline-2.12.jar和hive中的版本不一致
解决方法:
将hive中的jline-2.12.jar拷贝到hadoop中
8.HIve启动出错:
java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/apps/hadoop-2.6.4/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/apps/hive/lib/hive-jdbc-0.14.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
原因分析:
经排查可能是hive的版本过高,
解决方案:
修改为低版本的hive
解决。
9.hive中注释显示中文字符乱码的解决方法:
hive元数据中utf8的修改
10 hadoop在格式化集群的时候 :hdfs namenode -format 时:报
SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: sparkproject1: sparkproject1
原因分析:找不到对应的sparkproject1
错误处理:运行hostname 查看自己的本机名
也就是说,Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名是localhost.localdomain,然后在/etc/hosts文件中进行映射的时候,没有找到
此时查看/etc/sysconfig/network文件中对应的hostname是不是和/etc/hosts文件中的名称一致。
解决办法:修改两个文件中的名称一致,并重启网络,service network restart
如果重启网络没有效果,重启机器可以解决
hadoop 错误锦集相关推荐
- Tomcat 错误锦集
Tomcat 错误锦集 第一种错误 未完待续 第一种错误 org.apache.cxf.transport.servlet.ServletController invoke 警告: Can't fin ...
- PHP开发错误锦集(持续更新)
1.trait 命名问题. 问题:trait 里定义的方法找不到 <?phpnamespace app\controllers;trait Example {public function ex ...
- Fabric-samples开发模式下chaincode操作流程及错误锦集
首先简单介绍一下此次流程步骤,在go build阶段出现问题,然后说明一下如何解决的问题. 出现的问题的提示代码为: 问题1.go: github.com/hyperledger/fabric-cha ...
- 给linux系统增加一个系统调用并测试,超详细含错误锦集
操作系统:给linux系统内核增加系统调用并测试 实验内容 实验环境 实验过程 1.安装环境 2.给内核增加系统调用 3.编译内核 4.安装内核 5.编辑测试文件 实验内容 1.给linux系统内核增 ...
- Android 线程错误锦集
概述 学Android有一段时间了,一直觉得线程很难,原因大概是不常用吧! 正所谓陌生生难,就像刚刚接触编程都觉得编程不简单一样,多用用就熟悉了. 而线程正是Android初级者进阶的一个标志,必须要 ...
- iOS 错误锦集
从今天开始,我打算把自己所有遇到的错误,无论大大小小,都保存下来,以供自己反思,少点粗心才能提高效率 1.This application is modifying the autolayout en ...
- 【Kotiln】 错误锦集- Caused by: kotlin.NotImplementedError: An operation is not implemented: not implemen
正如标题所言, 我们在当继承一个抽象类or接口时,需要去实现它的一些方法, 正如以下所示 override fun hideLoading() {TODO("not implemented& ...
- Breeze安装常见错误锦集
前端Web UI的日志如果还不能判断出具体问题所在,可以在部署机上输入命令 docker logs -f deploy-main 来获取更详细的日志 docker.registry.etcd.k8s这 ...
- Hadoop集群搭建之问题锦集
**Hadoop集群搭建之问题锦集** 1.Centos7 ifconfig这个命令没找到的解决方法 yum -y install net-tools 2.修改文件的读写权限 chmod 777 /e ...
最新文章
- Vcastr 2.2 flv 网络播放器 参数设置
- java 桥接模式_JAVA设计模式之【桥接模式】
- 使用设备mac好还是随机mac好_省4000我给MBP16搭配了一块2T SSD:希捷 酷鱼飞翼 Fast SSD使用测评...
- start running 开始跑步减肥
- angular.element 动态添加和删除元素
- 关于Spring中的context:annotation-config/配置
- allwinner h3 通用DMA 驱动(SylixOS 操作系统)
- linux 内核 addr2line,内核调试 arm-none-linux-gnueabi-addr2line 工具使用
- 人工智能之模式识别(一)
- 大数据文字游戏_移动的大数据指南:千字以内的文章传播率最高
- 怎样选择ADC芯片?
- android 接口sign,[原创]小米APP登录接口env、envkey、sign、hash算法
- 交比不变性 matlab,交比 | 迪沙格定理
- Solidity ——push mapping 探赜索隐
- 视觉显著性python_OpenCV中的显著性检测(Saliency Detection)
- el-table表单增加show-summary表尾合计,表格错位和高度计算错误
- android 模拟器监听短信,android模拟器用命令和DDMS模拟来电和短信(示例代码)
- qmmp安装包linux版,Qmmp音频播放器1.2.1发布下载(附Ubuntu 18.04下安装方法)
- 上海亚商投顾:A股三大指数涨跌不一 ChatGPT、机器人概念齐掀涨停潮
- 大学教务人员管理系统(C++实现)
热门文章
- 论文笔记:Planning and Decision-Making for Autonomous Vehicles
- ZZULIOJ 2131 Can Win【思维建图+最大流】
- C++核心准则​T.123:使用常量表达式函数在编译时求值
- 一种基于人脸追踪和特征分析的疲劳驾驶预警平台
- 和ts一般怎么玩_TS夺冠后马上卖席位?微博电竞和其互关,以后热搜不愁了
- 你记得也好,最好你忘掉
- 1075 PAT Judge 测试点四
- Lightly 支持 Markdown 文件在线编写(文中提供详细 Markdown 语法)
- csharp高级练习题:ASCII85编解码【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
- 64位WIN7下虚拟机安装winxp