使用zookeeper可以进行管理solr集群
- 上传压缩包到/usr/local/tmp下,并解压.
- 在/usr/local下新建文件夹zookeeper
mkdir /usr/local/zookeeper - 把解压的所文件夹复制到zookeeper下,并命名为zk1
cp -r /usr/local/temp/zookeeper-3.4.8 /usr/local/zookeeper/zk1 - 在zk1下新建文件夹data
- 在data下新建文件myid,里面写上1
vim myid - 进入到zk1/conf下把zoo_sample.cfg复制一份叫做zoo.cfg
- 编辑zoo.cfg内容,设置dataDIR为data文件夹,并在文件最下面添加下面内容
server.1=192.168.1.12:2688:3888
server.2=192.168.1.12:2689:3889
server.3=192.168.1.12:2690:3890
7.1 server.1 中的1 是myid的内容
7.2 2688,2689,2690 是zookeeper内部端口
7.3 3888,3889,3890 是leader端口 - 把zk1复制两份,分别叫做zk2,zk3,并修改myid的值为2,3 修改zoo.cfg中dataDIR和clientPort
- 启动三个zookeeper
./start.sh
编写启动脚本,赋予权限:chmod a+x start.sh
cd zk1/bin
./zkServer.sh start
cd …/…
cd zk2/bin
./zkServer.sh start
cd …/…
cd zk3/bin
./zkServer.sh start
cd …/… - 查看状态
./status.sh
编写启动脚本,赋予权限:chmod a+x status.sh
cd zk1/bin
./zkServer.sh status
cd …/…
cd zk2/bin
./zkServer.sh status
cd …/…
cd zk3/bin
./zkServer.sh status
cd …/…
安装solrCloud,前提是已经安装完zookeeper
- 复制/usr/local/solr/tomcat,在复制3份,分别叫做tomcat2,tomcat3,tomcat4
- 修改tomcat/conf/server.xml的端口号,每个文件都需要修改3处.(6080-9080)
- 复制/usr/local/solr/solrhome再复制3份,分别叫做solrhome2,solrhome3,solrhome4
- 修改tomcat中solr项目的web.xml中为对应的solrhome路径
vim tomcat2/webapps/solr/WEB-INF/web.xml
vim tomcat3/webapps/solr/WEB-INF/web.xml
vim tomcat4/webapps/solr/WEB-INF/web.xml - 修改4个tomcat的tomcat/bin/startup.sh,在最上面加上,否则启动时都启动一个
export CATALINA_HOME=/usr/local/solr/tomcat3
export CATALINA_BASE=/usr/local/solr/tomcat3 - 在第一个tomcat的tomcat/bin/catalina.sh的最上面添加
JAVA_OPTS="$JAVA_OPTS
-DzkHost=192.168.1.12:2181,192.168.1.12:2182,192.168.1.12:2183
-Dbootstrap_confdir=/usr/local/solr/solrhome/collection1/conf
-Dcollection.configName=collection1
-DnumShards=2
-DreplicationFactory=2"
-DzkHost表示zookeeper地址
-Dbootstrap_confdir表示对某个solr实例下的配置统一管理
-Dcollection.configName表示配置文件别名,一般与实例名称相同。
-DnumShards表示分片数量
-DreplicationFactor表示每个分片中服务数量(2表示一主一备)
- 在另外3个tomcat/bin/catalina.sh最上面添加
JAVA_OPTS="$JAVA_OPTS
-DzkHost=192.168.1.12:2181,192.168.1.12:2182,192.168.1.12:2183
-DnumShards=2
-DreplicationFactory=2" - 修改4个solrhome的solrhome下的solr.xml
- 关闭防火墙
- 启动tomcat
- 观察结果,出现了cloud项