今天群里有人问hadoop的问题,说百度上怎么都查不到,还好hadoop之前玩过一阵,也遇上过这个问题

hadoop-2.2.0  hbase 0.95-hadoop2的 ,hdfs正常 ,启动 hbase 的时候hmaster启动进程启动就shutdown了
2013-11-21 20:07:58,892 FATAL [master:master:60000] master.HMaster: Unhandled exception. Starting shutdown.
java.io.IOException: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Message missing required fields: callId, status; Host Details : local host is: "master/192.168.0.102"; destination host is: "master":8010;
 
这种问题大部分都是版本的问题,hadoop2.2这个版本比较新,最好用2.0.2的,因为要跟hbase 0.95相配合
 
也有推荐使用这种方式解决的:将proto文件中的callId和status由required改为optional,或者始终给callId和status设置值
后来换成hbase 0.96就没有这个问题了,然后出现新问题

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RpcServerException): Unknown out of band call #-2147483647
这个问题好像百度也查不到,看了看国外的
http://search-hadoop.com/m/0Pnu41YGCIi/hbase+tianying+0.96&subj=RE+Hbase+0+96+and+Hadoop+2+2
What is your HBase version and Hadoop version? There is a RPC break change in hadoop 2.2. As a workaround,  I removed the hadoop hadoop-common-2.2.0.2.0.6.0-68.jar and hadoop-hdfs-2.2.0.2.0.6.0-68.jar from my Hbase/lib and let it use the one in hadoop path, then this error is gone. 
这里说的解决办法是把hadoop 的hadoop-common-2.2.0.2.0.6.0-68.jar和hdfs-2.2.0.2.0.6.0-68.jar 从hbase/lib中移除,然后放到hadoop的路径下
后来我懒得找,直接把所有hadoop的jar通通拷到hbase下,就OK了
还有一个办法就是
Did you replace the hadoop jars that is under hbase/lib with those of the cluster you are connecting too? 0.96.0 bundles 2.1.0-beta and sounds like you want to connect to hadoop-2.2.0. The two hadoops need to be the same version (the above is a new variant on the mismatch message, each more cryptic than the last).
把hadoop2.2换成hadoop2.1 应该也可以解决,这个没有试过

hadoop报错 Message missing required fields: callId, status的更多相关文章

  1. Can't parse message of type "gazebo.msgs.Packet" because it is missing required fields: stamp, type

    在gazebo的仿真环境中,采用强化学习HER算法训练baxter执行reach.slide和pick and place任务. 运行HER算法,此时尚未启动gazebo仿真环境,出现如下报错: [l ...

  2. Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6

    Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6 原因是缺少tools.jar的依赖,tools.jar在jdk的安装目录中 ...

  3. Maven报错: Missing artifact jdk.tools:jdk.tools:jar:1.7

    pom.xml 有小红叉,报错: Missing artifact jdk.tools:jdk.tools:jar:1.7 解决方法:(缺少一个jar包) http://blog.csdn.net/u ...

  4. eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。

    eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.全部报错信息如下: Exception in thread & ...

  5. Maven报错Archive for required library:某.jar' in project '项目名'

    Maven报错Archive for required library:某.jar' in project '项目名'cannot be read or is not a valid ZIP file ...

  6. mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage

    mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage 在执行cr ...

  7. 报错:Missing type map configuration or unsupported mapping

    报错:Missing type map configuration or unsupported mapping □ 背景 当把View Model转换成Domain Model保存的时候,发生在Au ...

  8. ubuntu18.04 下启动Android Studio报错KVM is required to run this AVD. /dev/kvm device: permission denied.

    在ubuntu18.04下安装Android Studio,安装了模拟器后运行报错 KVM is required to run this AVD. /dev/kvm device: permissi ...

  9. appium报错Message: Cannot set the element to ‘XXXX’. Did you interact with the correct element?

    appium+python+android 在定位到模块输入内容的时候遇到了一个问题 send_keys报错 appium报错Message: Cannot set the element to 'X ...

随机推荐

  1. Redis 集成Spring(spring-data-redis)

    Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis,  JRedis, and RJC)进行 ...

  2. android中使用Http下载文件并保存到本地SD卡

    1.AndroidMainfest.xml中设置权限 <uses-permission android:name="android.permission.INTERNET"& ...

  3. linux 开启防火墙操作

    1)在/etc/sysconfig/  下新建iptables文件,添加如下代码: *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ...

  4. 苹果也要开发AR眼镜,正与蔡司联手打造

    近日,知名博主Robert Scoble在Facebook上称,苹果正在与德国卡尔蔡司公司合作研发一副增强现实智能眼镜,而且最快将在今年发布.据Scoble称,通过和蔡司的雇员在上周的CES展会上进行 ...

  5. iOS 手势识别

    首先给大家解释一下为什么要学习手势识别? 如果想监听一个UIView上面的触摸事件,之前的做法是: 自定义一个UIView : 实现UIView的touches方法,在方法里面实现具体功能 透过tou ...

  6. ArrayList、HashSet、HashTable、List、Dictionary的区别

    在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求. 由于这种限制不方便,所以出现了ArrayList. ArrayList.List<T> ArrayList是可变长数组,你 ...

  7. python3中字典的copy

    字典是可变的: first和second同时指向一个字典.first修改也会影响second.在程序中一定注意对字典参数的修改会对原始的字典进行修改.这也体现了字典是可变的. 字典的copy方法是浅拷 ...

  8. U3D音频系统

    一.基本信息 1.支持的声音格式 WAV OGG MP3 AIFF MOD S3M xm IT    导入以后,unity会选择的压缩方式: WAV:无损,音质好,文件大,适用于较短文件 OGG.MP ...

  9. Scala Singleton对象

    Scala Object: scala没有静态的修饰符,例如Java中的static.但是Scala提供了Object类型,object下的成员都是静态的,比较像Java的静态类.不同在于Scala的 ...

  10. NGINX----源码阅读---sources配置脚本

    /auto/sources 本文件主要用于对源文件环境变量进行初始化,主要包括:.c和.h文件. 对应变量类型有*_MODULES.*_INCS.*_DEPS等. # Copyright (C) Ig ...