`
okey9
  • 浏览: 16262 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Hadoop 集成 hive 碰到的版本问题

 
阅读更多

最近在随大流搞下 hadoop, 太多坑了。前辈们估计跟我差不太多。

把今天的一个版本冲突的问题写到博客里,如果碰到一样的问题。不用走弯路吧。

hadoop 2.2.0 与 hive 0.12  集成时碰到这种异常

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wordcountJob': Invocation of init method failed; nested exception is java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)

        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)

        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)

        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)

        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)

        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:589)

        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)

        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)

        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)

        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)

        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)

        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)

        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)

        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)

        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

        at org.apache.catalina.core.StandardService.start(StandardService.java:516)

        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

        at org.apache.catalina.startup.Catalina.start(Catalina.java:583)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;

        at java.lang.ClassLoader.defineClass1(Native Method)

        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1850)

        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)

        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)

        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)

        at java.lang.Class.getDeclaredMethods0(Native Method)

        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)

        at java.lang.Class.privateGetPublicMethods(Class.java:2547)

        at java.lang.Class.privateGetPublicMethods(Class.java:2557)

        at java.lang.Class.getMethods(Class.java:1410)

        at sun.misc.ProxyGenerator.generateClassFile(ProxyGenerator.java:409)

        at sun.misc.ProxyGenerator.generateProxyClass(ProxyGenerator.java:306)

        at java.lang.reflect.Proxy.getProxyClass(Proxy.java:501)

        at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)

        at org.apache.hadoop.ipc.ProtobufRpcEngine.getProxy(ProtobufRpcEngine.java:92)

        at org.apache.hadoop.ipc.RPC.getProtocolProxy(RPC.java:537)

        at org.apache.hadoop.hdfs.NameNodeProxies.createNNProxyWithClientProtocol(NameNodeProxies.java:328)

        at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:235)

        at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:139)

        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:510)

        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:453)

        at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:136)

        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433)

        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:88)

        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2467)

        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2449)

        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:367)

        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:166)

        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:351)

        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:287)

        at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:466)

        at org.springframework.data.hadoop.mapreduce.JobFactoryBean.afterPropertiesSet(JobFactoryBean.java:208)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1545)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483)

 

想都不用想。一看就是版本冲突问题。这个也不例外。

在网上找了下资料。就是这个google  protobuf 包的版本不对。升级到protobuf-java-2.5.0.jar 就可以了。本来 2.2 也就是用的这个包。用maven 查了下 整个依赖树 也没发现有其他包冲突。 郁闷了。 最后决定把所有 hadoop 的相关包反编译一下看看。 有没有其他包 把 protobuf 的 class 重复打到其他的包中了。

经过排查 项目中引用了 hive-exec-0.12.0.jar 这个包。 这个集成了 hive 所需要的第三方包。

不引用就 ok . 

 

搞定。 最近有几个版本冲突的问题 很棘手。以后再写  

 

 

分享到:
评论

相关推荐

    hadoop,hbase,hive版本整合兼容性最全,最详细说明【适用于任何版本】

    用户应确保选择兼容的HBase和Hive版本进行部署,以避免潜在的集成问题。 4. HBase与ZooKeeper的版本兼容性: ZooKeeper是HBase依赖的一个重要组件,HBase的运行需要ZooKeeper的协同工作。由于ZooKeeper是独立的...

    hadoop,hbase,hive版本兼容性说明.zip

    在Hadoop、HBase和Hive之间,必须确保所有组件的版本相互兼容,否则可能会遇到数据丢失、性能下降或者程序无法运行的问题。例如,一个新版本的Hadoop可能引入了新的API,而旧版本的HBase或Hive可能无法识别这些API,...

    虚拟机Ubuntu+Hadoop+hive安装教程.pdf

    首先,我们将介绍Ubuntu的安装步骤,接着是Hadoop的安装,最后是Hive的集成。 一、Ubuntu的安装 1. 配置虚拟机: 使用VMware Workstation 10,通过【文件-新建虚拟机】,选择自定义安装,然后按照提示进行操作。...

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    过程中可能遇到的问题包括网络配置、权限设置、依赖冲突等,解决这些问题通常需要查阅官方文档、社区经验分享以及实际操作中的调试。这样的集群不仅提供了数据处理的完整链条,也是大数据工程师学习和实践的重要平台...

    hadoop hive入门学习总结

    如果在查询时遇到“FAILED: Hive Internal Error: java.lang.RuntimeException(Error while making MR scratch directory - check filesystem config (null))”,这通常是由于Hadoop配置问题导致的。解决方法如下: ...

    HADOOP+HBASE+HIVE整合工程和文档

    在大数据处理领域,Hadoop、HBase和Hive是三个重要的组件,它们分别扮演着不同的角色,共同构建了一个高效、可扩展的数据处理生态系统。本文将详细介绍这三个组件的整合工程和相关文档,帮助读者理解如何在实际项目...

    Ambari下Hive3.0升级到Hive4.0

    通常,Ambari 的新版本会支持更高级的 Hadoop 和 Hive 组件。检查 Ambari 官方文档以确认兼容性。 2. **备份现有环境**:在进行任何重大更新之前,务必备份现有的 Hive 3.0 配置和数据。这可以通过 Ambari 的备份...

    SpagoBI集成Hive数据库

    通过以上步骤和排查,应该能够成功地在SpagoBI中集成Hive数据库,从而利用Hive的大数据处理能力进行高效的数据分析和报表展示。同时,对日志信息的细致分析和调试是解决问题的关键,因为错误信息通常会提供解决问题...

    windows下hive的可执行文件

    不同版本的Hive和Hadoop可能对Windows支持程度不同,有时候即使找到可下载的版本,也可能因为特定环境的配置或依赖问题导致无法正常运行。在这种情况下,用户通常需要尝试多个版本,或者进行一些额外的配置调整来使...

    hadoop2.6.0版本hadoop.dll和winutils.exe

    9. **故障排查与维护**: 使用hadoop.dll和winutils.exe时,可能会遇到各种问题,如文件权限错误、端口冲突等。了解如何诊断和解决这些问题,是确保Hadoop在Windows上稳定运行的关键。 总的来说,理解和掌握Hadoop ...

    hive实验报告.docx

    - 虽然实验报告中没有详细列出遇到的问题和解决方案,但在实际使用中,Hive的调优可能涉及到优化查询计划、调整Metastore性能、设置合适的执行引擎(MapReduce或Tez或Spark)、合理设计表分区等。 通过这次实验,...

    Hue 常见问题解决方案,大数据平台的hue/hive常见问题总结 免费下载

    5. **版本兼容性**:Hue与Hadoop、Hive等组件的版本不兼容也可能导致问题。保持所有组件的版本协调,遵循官方文档的推荐配置。 6. **日志分析**:当遇到未知问题时,查看Hue的日志文件(通常位于`/var/log/hue`或`/...

    hadoop2.6.0(winutils、hadoop.dll)

    6. **Hadoop生态集成**: 使用winutils.exe和hadoop.dll,Windows开发者可以与其他Hadoop生态系统项目(如Hive、Pig、Spark等)进行集成,进行数据分析和处理任务。 7. **开发与调试**: 对于开发人员来说,了解...

    DataGrip连接Hive所需jar包

    在大数据领域,Hive是一个基于Hadoop的数据仓库工具,它允许使用SQL(HQL)语言进行数据查询、分析和...在实际操作中,你可能还会遇到如权限问题、网络问题等挑战,但有了正确的JAR包和配置,这些问题都能迎刃而解。

    Hadoop 快速入门及常见问题

    5. **与其他技术集成**:如何将Hadoop与Hive、Pig、Spark等大数据处理工具结合使用。 6. **Hadoop扩展**:Hadoop生态系统的其他项目,如HBase(实时数据存储)、Hue(Web界面交互)等。 总之,Hadoop是一个复杂但...

    hive1.x版本连接DataGrip需要的jar包

    在实际操作中,可能还会遇到版本兼容性问题,例如Hive与Hadoop版本之间的匹配,或者DataGrip自身的版本限制。在这种情况下,你可能需要调整JAR版本或者更新DataGrip到最新版本以解决兼容性问题。 总的来说,配置...

    第14章-基于Hadoop的数据仓库Hive.pdf

    在本章中,我们将深入探讨基于Hadoop的数据仓库Hive,它是大数据处理领域中一个重要的工具。首先,我们会对数据仓库进行概念上的介绍,然后解释Hive的基本原理,并对比Hive与传统数据库的不同之处。此外,还会介绍...

    hive编译源码的资料

    在实际操作过程中,可能还会遇到各种问题,需要具备一定的解决问题的能力,例如排查依赖冲突、理解Hadoop和Hive的架构等。通过这个过程,开发者能够更深入地理解Hive的工作原理,并且有能力对其进行定制化开发。

    连接hive依赖的jar包_hive连接方式

    - 驱动版本应与Hive服务版本兼容,否则可能会遇到连接问题。 - 对于大型企业环境,可能还需要考虑SSL/TLS加密以及证书管理。 综上所述,连接Hive依赖于正确的JAR包配置和有效的连接参数。通过DataGrip,我们可以...

Global site tag (gtag.js) - Google Analytics