Created 11-08-2016 05:38 AM
NoMethodError: undefined method `getTerminal' for Java::Jline::Terminal:Module
refresh_width at /usr/hdp/2.5.0.0-1245/hbase/lib/ruby/shell/formatter.rb:33
initialize at /usr/hdp/2.5.0.0-1245/hbase/lib/ruby/shell/formatter.rb:46
(root) at /usr/hdp/2.5.0.0-1245/hbase/bin/hirb.rb:128
-------------------------------------------------------------------------------
I found it required higher version of protobuf jar so I updated HBase lib by replacing to protobuf-java-3.1.0.jar from protobuf-java-2.5.0.jar, still facing same error.
Created 11-08-2016 05:44 AM
Did you make any changes in the hbase classpath or any new jars added to the lib directory? It seems that you have wrong jline there.
Created 11-08-2016 05:44 AM
Did you make any changes in the hbase classpath or any new jars added to the lib directory? It seems that you have wrong jline there.
Created 11-08-2016 05:58 AM
Created 11-08-2016 07:53 AM
I would suggest to return back the original protobuf (there was a thread about a similar issue somewhere on the internet, but this issue is not relevant to the protobuf). And check that no new jars were added to the HBase lib directory (like phoenix-client for example).
Created 11-08-2016 11:07 AM
As suggested I return back the original protobuf, but still facing same error. There is no new jar is added in /hbase/lib but we have phoenix, ranger etc jar as I installed all this by Ambari.
Created 11-08-2016 12:47 PM
Can you run ls -la /usr/hdp/2.5.0.0-1245/hbase/lib/*.jar and attach output here?
Created 11-25-2016 03:49 PM
Thanks...!
In /usr/hdp/current/hbase-master/lib
I unlink above two and changed protobuf-java-3.1.0.jar from protobuf-java-2.5.0.jar in /hbase/lib and follow below link.
http://stackoverflow.com/questions/28563167/hbase-master-not-starting-correctly
It worked for me.
Created 11-08-2016 07:45 AM
NoMethodError indicates that you are not using the correct version of jar in the classpath.
This is because the "protobuf-java-2.5.0.jar" might be having some classes with different method signature and the newer jar might have different syntax of those methods so you will get errors like you are getting. [NoMethodError: undefined method `getTerminal']
Which means in the newer version of the jar "getTerminal" method seems to be removed.
Created 11-08-2016 11:09 AM
Created 11-08-2016 11:15 AM
Please do not try to upgrade individual JARs Major Version. Because with every major version change many APIs are changed completely, Like some methods are added new/ some methods are removed and some methods signature is changed. So i will suggest you to not to upgrade the Major version (from 2.5.0 to 3.1.0 ). Please revert back to your old jar "protobuf-java-2.5.0.jar"