Pig启动出现Unhandled internal error. jline.Terminal.getTerminal()Ljline/Terminal

2021-01-27 10:57:37 浏览数 (1)

今天在启动Pig客户端的时候,命令行出现了下面这个问题。

根据命令行的提示,我们打开bug所记录的日志。 vim /etc/profile.d/pig_1582816803489.log

代码语言:javascript复制
ERROR 2998: Unhandled internal error. jline.Terminal.getTerminal()Ljline/Terminal;

java.lang.NoSuchMethodError: jline.Terminal.getTerminal()Ljline/Terminal;
        at jline.ConsoleReader.<init>(ConsoleReader.java:174)
        at jline.ConsoleReader.<init>(ConsoleReader.java:169)
        at org.apache.pig.Main.run(Main.java:555)
        at org.apache.pig.Main.main(Main.java:176)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

后来经过不断的在网上尝试解决方案,

在$HADOOP_HOME/share/hadoop/yarn/lib中把jline jar删除(可先保存再删除,防止误删)

于是我们找到对应的目录下,一眼就找到了我们需要删除的那个jar

执行删除命令 rm -rf jline-2.11.jar

删除完,重新启动Pig的命令行shell pig -x local

看到左下角出现grunt的时候,我就知道启动成功了。(Grunt是与Pig进行交互的shell环境)

0 人点赞