0

SolrCloudで面白い状況になっています。基本的に理由はわかりませんが、通常はクラウドにないSolrインスタンスがSolrCloudページに表示され、Zookepeerのlive_nodesパスにも表示されます。

状況の詳細は次のとおりです。

削除マシン上にある仮想マシン上でスタンドアロンアプリケーションとして実行されているSolrインスタンスが1つあります。これから呼びますvirtual1

これを実行するためのスクリプトは次のとおりです。

java
-server
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseCompressedStrings
-Dcom.sun.management.jmxremote
-d64
-Xmx4096m
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=remotehost -jar start.jar 

このインスタンスはポート8983で実行されているため、に移動するとvirtual1:8983、solrの従来の管理ページが表示されます。残りの構成は、solrディストリビューションに付属している例solrとすべて同じです。

次に、ローカルマシン(これから呼び出されます)で、ポートでlocalzookeeperサーバーを実行しています。21812182

次に、solrインスタンスをクラウドに追加するために、ローカルマシンで1つのインスタンスを実行し、さらに2つのインスタンスを実行し、virtual1それらを起動するためのスクリプトを次のように実行します。

ローカルのSolrインスタンス:

java -Dbootstrap_conf=true -DzkHost=zkhost:2181 -Djetty.port=8984 -jar start.jar

リモート上のSolrインスタンス:

java -DzkHost=zkhost:2181 -Djetty.port=8985 -jar start.jar
java -DzkHost=zkhost:2182 -Djetty.port=8986 -jar start.jar

ここまで、SolrログまたはZookeeperログのいずれにも例外やエラーはありません。

それらがすべて実行されていることを確認するvirtual1:8985 and virtual1:8986と、ローカルのインスタンスも同様です。

しかし、クラウドをチェックすると(Solr管理ページとzookeeper CLIの両方から)。私はクラウドでlocal:8983しか見ることができませんが、まったく追加されていません...奇妙な点は、上記の開始スクリプトからわかるように、Zookeeperサーバーについて何も知らないということです。virtual1:8983virtual1:8985 and virtual1:8986virtual1:8983

上記の事実に加えて、私は別のことを試みました。virtual2と同じハードマシンで実行されている別の仮想マシン( )でvirtual1 、次のコマンドを使用してSolrインスタンスを作成しました。

java -DzkHost=zkhost:2181 -Djetty.port=8985 -jar start.jar
java -DzkHost=zkhost:2182 -Djetty.port=8986 -jar start.jar

したがって、この場合、インスタンスvirtual2:8985 and virtual2:8986はとしてクラウドにあるはずです。しかし、それは起こりません...私はvirtual2:8983、実際には存在しない、しか見ることができません。で実行されているスタンドアロンのSolrのポートを示しているだけvirtual1です。

なぜこれが起こっているのか誰かが説明できますか?

4

1 に答える 1

-1

Zookeeper データを削除して、設定とノード状態を Zookeeper にプッシュする -Dbootstrap_confdir=/path/to/conf/dir を指定する必要があります。また、zookeeper ensemble を実行している場合は、それらの状態 (リーダーまたはフォロワー、またはノードへの接続がない場合) を確認します。

echo stat | nc zk_host zk_port

また、zkCli.sh を使用してクラスターの状態を確認できます。

get /clusterstate.json

Zookeeper の設定を表示すると、次のようになります。

clientPort=2181 (2182 for second instance)
server.1=zk_host:2888:3888
server.2=zk_host:2888:3888

そして、成功した接続について Solr と Zookeeper の両方のログを確認します。

于 2012-11-29T13:14:10.360 に答える