Dear Wiki user, You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.
The "ZooKeeperIntegration" page has been changed by NoblePaul. http://wiki.apache.org/solr/ZooKeeperIntegration?action=diff&rev1=9&rev2=10 -------------------------------------------------- <!-- See the ZooKeeper docs --> <str name="zkhostPorts">localhost:2181</str> <!-- TODO: figure out how to do this programmatically --> - <str name="me">http://host:port/solr/core1</str> + <str name="url">http://host:port/solr/core1</str> <!-- Timeout for the ZooKeeper. Optional. Default 10000 --> <!-- Timeout in ms --> <str name="timeout">5000</str> - <!- this is the directory in which this zk node will be added. The name of the node is a sequential number automatically assigned by zookeeper. The value is a Namedlist which may contain as many values as other components wish to add. This component only adds the key-> value me=localhost:8983/solr/core1. For instance , the Shardhandler may add a key value shard=shard1. ReplicationHandler may add something like version=124544 etc. --> + <!- The znode attribute where the node data will be added --> - <str name="nodesDir">/solr_domain/nodes</str> + <str name="znode">/solr_domain/nodes</str> </zookeeper> }}} + === znode attribute === + This is the znode in which this node data is added. The node is of type sequential and ephemeral. The data of the node is a NamedList<String>. It is stored as a comma separated value with key and value separated with '=' eg: a=b,c=d,a=x. The data always contain the url value added by the !ZookeeperComponent and a unique id (a UUID string for one zookeeper instance). Other components are allowed to add more key=value pairs. For instance , the Shardhandler may add a key value shard=shard1. ReplicationHandler may add something like isSlave=true etc. The znode is registered only after all the components are initialized so that all the values are captured completely. + After the nodes are started it may look as follows {{attachment:zk-solr.png}} @@ -41, +44 @@ For distributed search, a new !ShardHandler plugin will be created that moves the shard calculation code from !QueryComponent and handles both the current approach and the !ZooKeeper approach. There will be a new !ShardHandler called !ZooKeeperAwareShardHandler which will use the !ZooKeeper component to figure out the available shards and their nodes. - !ZooKeeperAwareShardHandler's configuration will contain the name of the shard to which this node belongs. On startup, it will get the core's ZooKeeperComponent and add a key/value (the shard name) in !ZooKeeper to the current core's node. + !ZooKeeperAwareShardHandler's configuration will contain the name of the shard to which this node belongs. On startup, it will get the core's !ZooKeeperComponent and add a key/value (the shard name) in !ZooKeeper to the current core's node. == Configuration == {{{ @@ -87, +90 @@ === Rebalancing === - Through the ZK req handler, slaves can be moved around, at which point they will pull the index from the master in their group and thus you can have rebalancing. Additionally, new nodes that come online w/o an index will go to their master and get the index. The replication handler already handles replicating configuration files, so this is just a config issue. + Through the !ZooKeeperComponent , slaves can be moved around, at which point they will pull the index from the master in their group and thus you can have rebalancing. Additionally, new nodes that come online w/o an index will go to their master and get the index. The replication handler already handles replicating configuration files, so this is just a config issue.
