场景:
zookeeper统一管理solr集群的配置文件时输入以下命令
./zkcli.sh -zkhost 192.168.0.159:2181,192.168.0.159:2182,192.168.0.159:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf
报错:
Exception in thread "main" org.apache.solr.common.SolrException: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper 192.168.0.159:2181,192.168.0.159:2182,192.168.0.159:2183 within 30000 ms
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:201)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:126)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:116)
at org.apache.solr.cloud.ZkCLI.main(ZkCLI.java:197)
Caused by: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper 192.168.0.159:2181,192.168.0.159:2182,192.168.0.159:2183 within 30000 ms
at org.apache.solr.common.cloud.ConnectionManager.waitForConnected(ConnectionManager.java:250)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:193)
... 3 more
解决方法
看报错很容易就看出来了,是zookeeper没有启动成功
启动zookeeper
./zk01/bin/zkServer.sh start
./zk02/bin/zkServer.sh start
./zk03/bin/zkServer.sh start
显示zookeeper状态
./zk01/bin/zkServer.sh status
./zk02/bin/zkServer.sh status
./zk03/bin/zkServer.sh status
再次重新输入命令,就成功了…