推荐zookeeper需要三个节点,4个Solr节点 ,最少需要7个服务器,
所以 使用伪分布式,一个服务器搭建三个zookeeper,4个tomcat下每个都部署一个solr,一共四个solr
环境:Ubuntu
虚拟机ip:192.168.93.128
**
一:搭建zookeeper集群
**
1.在/usr/local下面创建solr-cloud,解压zookeeper.tar.gz后,复制三份到solr-clude ,分别叫做zookeeper01,zookeeper02,zookeeper03
此时solr-clude里面就会有是三个文件夹
2.在zookeeper01里面创建data文件夹
3.在data里 touch myid 创建myid文件
编辑myid,里面写个1 就行
4.进入zookeeper/conf里面把zoo_sample.cfg改名为zoo.cfg
进入zoo.cfg修改配置
上面的srever.1/2/3后面的ip是自己服务器IP,后面端口克随便填没有被占用的就行
**5. zookeeper02/zookeeper03同上面2.3.4步骤
6. 写个批处理开始启动zookeeper01/02/03**
给这个文件可执行权限
输入./start-zookeeper.sh 开始启动
二:搭建solr集群
1.将tomcat解压后复制四份到/usr/local/solr-clude中
起名字为tomcat01/tomcat02/tomcat03/tomcat04
2.修改每个tomcat中conf里面的server.xml的端口信息
下面是tomcat01中修改的地方,
tomat02 修改为 8205/8280/8209
tomcat03 修改为 8305/8380/8309
tomcat04 修改为 8405/8480/8409
3.将之前搭建好的solr单机版的工程复制到每个tomcat下面(单机版的搭建看以前文章)
这样每个tomcat下面的webapps里面都会有个solr这个工程
4.复制之前搭建好的单机版solrhome到/usr/local/solr-clude下面,取名字为solrhome01/solrhome02/solrhome03/solrhome04
solr-clude中就会有这几个文件
5.进入solrhome01/solr.xml中
修改
和solrhome02
solrhome03
solrhome04 分别修改成下面样子
6. 进入每个tomcat里面solr项目里面的web.xml中修改solrhome地址
solr和solrhome关联关系就建立好了
7. 创建tomcat和zookeeper关系
进入每个tomcat下面的bin里面的catalina.sh
编辑它修改配置文件
JAVA_OPTS=”-DzkHost=192.168.93.128:2181,192.168.93.128:2182,192.168.93.128:2183”
换成你自己服务器IP
将四个tomcat/bin里面的catalina.sh全部修改后
8. 让zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可
进入之前搭建单机版solr解压后的文件夹 solr-4.10.3/example/scripts/cloud-scripts
会看到有个 zkCli.sh
在控制台输入
./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solr-clude/solrhome01/collection1/conf -confname myconf
(上面IP换成自己的 )
使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:
上传成功进入solr-clude/zookeeper01/bin会有zkCli.sh
执行./zkCli.sh会默认连接21
quit是退出
输入./zkcli.sh -server 192.168.93.128:2182 是链接2182端口的
连接任意节点就行
所有节点公用这一份配置文件
可以看到上传的schema.xml和solrconfig.xml文件
9.写个批处理启动tomcat
vim start-tomcat.sh
10.浏览器输入192.168.93.128:8010/solr
进入cloud
可以看到
11.
创建新的Collection进行分片处理。
浏览器输入
http://192.168.93.128:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
意思是在创建一个collertion2
之后回去刷新cloud
删除不用的Collection:
http://192.168.93.128:8180/solr/admin/collections?action=DELETE&name=collection1
意思是删除collection1
之后回去刷新
12.使用solrj测试solr集群