Configure Solr Cloud with External Zookeeper Step by Step Guide

Solr Cloud
Solr Cloud | Source

Configuring Solr Cloud with External Zookeeper

Zookeeper Configuration Steps


Download Zookeeper 3.4.5


Download

Configuration file location: zookeeper/conf/zoo_sample.cfg

Rename it with zoo.cfg

Specify below parameters in zoo.cfg

tickTime=2000

DataDir=../zoo_Data(Depends on folder location)

ClientPort=2181 (For zookeeper 2, 3…….. 2182, 2183………...)


Make entry of all zookeeper servers

Like,

server.1=10.38.33.242:2888:3888

server.2=10.38.33.242:2889:5889

server.3=10.38.33.242:2890:3890

Create zoo_data folder in all zookeeper server,

Put myid file in all zookeeper servers in zoo_data folder, for zookeeper one-specify myid 1, for zookeeper two specify myid 2 and so on…

Sample myid file…

Sample of configured file, Open it with Edit Plus/Notepad...

To Start Zookeeper Server

Command for starting a Zookeeper server:

Zookeeper\bin\zkserver.cmd

Now Start Zookeeper server one by one, when you start first and second server it will give errors. After starting a third server all three are

Synced and working.




Apache Solr Cloud
Apache Solr Cloud

Solr Cloud Configuation Steps

Download Solr 4.3.0 (I have tested on 4.3.0, latest version is 6.3.0 )

Download

First configure solr.xml file


Note: we need 4 solr and 3 zookeeper server for solr cloud (zookeeper must be odd number, minimum three zookeeper require. only one zookeeper is not allowed. Among 4 solr, First one is your Shard1, 2nd solr is your Shard2, 3rd is Replica of Shard1 and 4th is Replica of Shard2 vice versa).

Configure Solr.xml file in all solr servers....

Location of solr.xml file: Solr server Directory/solr/solr.xml

Host: Give IP Address here (Ensure that your IP must be given to your system before assigning it to solr).

Host Port: give solr server port here (default 8983)

You can give port 8983, 7574, 8900, 7500…etc.

4 Solr Servers and 3 ZooKeeper servers are ready now……………..

Commands to Start Solr:

Fire Command at Solr Directory on command prompt

e.g.

Solr 1

D:\Solr Cloud\solr-4.3.0\solr1>java -DzkHost=127.0.0.1:2181,127.0.0.1:2182, 127.0.0.1:2183 -jar start.jar

Solr 2

D:\Solr Cloud\solr-4.3.0\solr2>java -Djetty.port=7574 -DzkHost=127.0.0.1:2181,127.0.0.1:2182, 127.0.0.1:2183 -jar start.jar

Solr 3

D:\Solr Cloud\solr-4.3.0\solr3>java -Djetty.port=8900 -DzkHost=127.0.0.1:2181,127.0.0.1:2182, 127.0.0.1:2183 -jar start.jar

Solr 4

D:\Solr Cloud\solr-4.3.0\solr4>java -Djetty.port=7500 -DzkHost=127.0.0.1:2181,127.0.0.1:2182, 127.0.0.1:2183 -jar start.jar


API URL : For access solr cloud

http://localhost:8983/solr/#/~cloud (specify your solr1 ip address inplace of localhost)

Create new core:

Run following command in internet explorer.

http:\\localhost:8983\solr\admin\collections?action=CREATE&name=documents&numShards=2

Upconfing command:

Use: This command is used for to activate any changes in configuration.

Example for core : collection1

Run following command at …/solr/cloud-script

zkcli.bat -cmd upconfing -confdir "D:\Solr Cloud\solr-4.3.0\solr1\solr\collection1\conf" -confname collection1 -z 127.0.0.1:2181

Note: Before firing a command please do manual entry in solr.xml file

e.g.

Solr1-<core shard="shard1" instanced="collection1\" name="collection1" collection="collection1"/>

Check your cores with API URL

3 comments

Manohar 8 months ago

Hi,

I am not able to setup solr cloud with zookeeper in windows server. I have 5 zookeepers and multiple solr clouds in different windows servers . When i am trying to run the zookeeper it is showing error like "myid file is missing" even though i have myid file in folder and given correct path in the zoo.cfg file .

my zoo.cfg file is:

---------------------

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=C:\zoo\data\zk1

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperA...

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1=16.254.6.88:2888:3888

server.2=16.254.6.86:2888:3888

server.3=16.254.2.114:2888:3888

and myid file is located in this folder

C:\zoo\data\zk1

i setup like this in each server. But i am getting error myid file is missing.

please provide me steps for setup multiple zookeepers with different solr clouds in windows servers.I am using zookeeper 3.4.6, solr 5.4.1

Thanks in advance


Fakhria 5 months ago

Hi..

I have installed zookeeper in 3 vm servers. When I start each zookeeper, they seem successfully started, but when i check zookeeper status: it shows "Error contacting service. It is probably not running."

Please help me..

Thanks


MFG-Hub profile image

MFG-Hub 2 weeks ago from asia Author

Check required port is enabled or not in vm advance settings

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working