2016-12-06 36 views
0

虽然使用带有solr 4.10云的MapReduceIndexerTool,但代码能够成功连接到Zookeeper,但是在获取aliases.json时,它无法获取数据。下面是命令和堆栈跟踪:Solr Map reduce索引器工具无法通过zk获取别名

命令:

hadoop --config /etc/hadoop/conf jar target/search-mr-*-job.jar org.apache.solr.hadoop.MapReduceIndexerTool -D 'mapred.child.java.opts=-Xmx500m' --log4j src/test/resources/log4j.properties --morphline-file /home/impadmin/app_quotes_morphline.conf --output-dir hdfs://impetus-i0056.impetus.co.in:8020/user/impadmin/MapReduceIndexerTool/output2 --zk-host 172.26.45.69:9983/solr --collection app.quotes hdfs://impetus-i0056.impetus.co.in:8020/apps/hive/warehouse/kst 

堆栈跟踪:

警告: “纱罐子” 推出YARN应用。 1 [main] INFO org.apache.solr.common.cloud.SolrZkClient - 使用默认的ZkCredentialsProvider 87 [main] INFO org.apache.solr.common.cloud.ConnectionManager - 等待客户端连接到ZooKeeper 114 [main -EventThread] INFO org.apache.solr.common.cloud.ConnectionManager - 监视器[email protected]名称:ZooKeeperConnection监视器:172.26.45.69:9983/solr获取事件WatchedEvent状态:SyncConnected类型:无路径:空路径:空类型:无 115 [main] INFO org.apache.solr.common.cloud.ConnectionManager - 客户端连接到ZooKeeper 115 [main] INFO org.apache.solr.common.cloud.SolrZkClient - 使用默认的ZkACLProvider 线程“main”中的异常net.sourceforge.argparse4j.inf.ArgumentParserException:java.lang.IllegalArgumentException:无法找到期望的SolrCloud在ZooKeeper中的形成:172.26.45.69:9983/solr at org.apache.solr.hadoop.MapReduceIndexerTool.verifyZKStructure(MapReduceIndexerTool.java:1418) at org.apache.solr.hadoop.MapReduceIndexerTool.run(MapReduceIndexerTool.java :716) at org.apache.solr.hadoop.MapReduceIndexerTool.run(MapReduceIndexerTool.java:681) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.solr .hadoop.MapReduceIndexerTool.main(MapReduceIndexerTool.java:668) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) 在j ava.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) 引起:java.lang.IllegalArgumentException:无法在ZooKeeper中找到SolrCloud的预期信息:172.26.45.69:9983/solr at org.apache.solr.hadoop.ZooKeeperInspector.extractDocCollection(ZooKeeperInspector.java: 88) 在org.apache.solr.hadoop.ZooKeeperInspector.extractShardUrls(ZooKeeperInspector.java:56) 在org.apache.solr.hadoop.MapReduceIndexerTool.verifyZKStructure(MapReduceIndexerTool.java:1415) ... 10更 引起通过:org.apache.zookeeper.KeeperException $ NoNodeException:KeeperErrorCode = Noalode for /aliases.json at org.apache.zo (org.apache.zookeeper.java:51) at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1155) at org.apache.solr.common.cloud.SolrZkClient $ 7.execute(SolrZkClient.java:351) at org.apache.solr.common.cloud.SolrZkClient $ 7.execute(SolrZkClient.java:348) at org.apache。 solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:61) at org.apache.solr.common.cloud.SolrZkClient.getData(SolrZkClient.java:348) at org.apache.solr.hadoop.ZooKeeperInspector。 checkForAlias(ZooKeeperInspector.java:164) at org.apache.solr.hadoop.ZooKeeperInspector.extractDocCollection(ZooKeeperInspector。java:85) ... 12更多

请帮我找出根本原因。

回答

0

问题出在用于访问zk solr configs的URL。从而纠正了URL解决了问题。在嵌入式solr实例中,URL没有可用的应用程序解析器,而是将其直接放在zk根目录下。