我刚提到 CDH 5.4
安装了Zookeeper。我以前多次成功地使用zkcli。这一次,命令行启动在使用
Welcome to ZooKeeper!
JLine support is disabled
2015-05-04 18:18:33,936 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@975] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2015-05-04 18:18:33,952 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@852] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2015-05-04 18:18:33,985 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1235] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x34d12349d0a15cf, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
我知道通常的打印输出是启用了jline支持
这就是它卡住的原因吗?我看不出有什么方法可以改变这个cloudera管理器配置页面。
2条答案
按热度按时间vnzz0bqm1#
您可以转到usr/lib/hbase/bin/hbase并传递以下代码:
它对我有用:)
kcugc4gi2#
短的
cloudera坏了
zookeeper 3.4.5-cdh5.4.0
在好几个地方。服务正在运行,但cli已关闭。除了回滚,没有其他解决方法。长的
给这个分配赏金;-)。我也踩到了这个地雷,很生气地找到了原因:
Zookeeper检查
JLine
期间ZooKeeperMain.run()
. 有一个try-catch块,它加载许多类。类加载过程中的任何异常都会导致整个块失败,并报告jline支持被禁用。但这就是为什么会发生这种情况
CDH 5.4.0
:当前开源
Zookeeper-3.4.6
反对jline-0.9.94
. 没有这样的问题。在
CDH 5.4
cloudera已应用以下修补程序:cdh 5.4用途
jline-2.11.jar
对Zookeeper来说jline.ConsoleReader
类别(从2.11
它是jline.console.ConsoleReader
).Jline 0.9.94
反过来也没有jline.console.completer.Completer
.因此与任何现有的jline都不兼容。任何
Cloudera CDH 5.4
用户可以运行zookeeper-client
在他/她的群集上,发现它不起作用。开源
zookeeper-3.4.6
取决于jline-0.9.94
没有这样的patches
. 不知道为什么Cloudera
工程师们做过这样的地雷。我看没有一个干净的方法来解决它
3.4.5-cdh5.4.0
. 我和她在一起3.4.5-cdh5.3.3
依赖关系,我需要cli和生产集群。在我看来
jline-0.9.94.jar
以及jline.2.11.jar
zookeeper的类路径将修复该问题。但是刚刚发现cloudera在zk中为cdh5.4.0做了另一个“修复”,他们已经重新命名了org.apache.zookeeper.JLineZNodeCompletor
类到org.apache.zookeeper.JLineZNodeCompleter
.但这是来自
ZooKeeperMain.java
```Class<?> completorC = Class.forName("org.apache.zookeeper.JLineZNodeCompletor");