我在码头容器中运行HBase。版本为1.2.4
基本上基于
https://github.com/dajobe/hbase-docker
当我执行以下操作时:
1(构建图像: docker build -t hbase -docker。
2(启动容器: ./start-hbase.sh
3(进入容器: Docker Exec -it HBase Bash
4(打开HBase壳: HBase shell
5(,然后如果我键入某些内容并按下backspace,它会崩溃以下:
hbase(main):001:0> ConsoleReader.java:1414:in `backspace': java.lang.ArithmeticException: / by zero
from ConsoleReader.java:1436:in `backspace'
from ConsoleReader.java:628:in `readLine'
from ConsoleReader.java:457:in `readLine'
from Readline.java:237:in `s_readline'
from Readline$s$s_readline.gen:65535:in `call'
from CachingCallSite.java:332:in `cacheAndCall'
...
...
有什么想法如何使backspace起作用并防止这种情况发生?谢谢。
ssh到您的docker容器或以浏览模式连接到它,并使用 -
检查终端设置的列数 stty -a
您会在输出中看到以下类似的东西 -
speed 38400 baud; rows 39; columns 0; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
当将列数设置为零时,您的外壳可能正在崩溃,这是已知的Jline错误。检查以下链接以获取参考-https://github.com/jruby/jruby/jruby/issues/151,https://github.com/sbt/sbt/sbt/sbt/issues/714
解决问题只需设置列数> 0,如下所示 -
stty columns 50
这是GUI问题的问题,您需要调整终端窗口的大小到最大大小。