Solr5.5+tomcat8.0+zookeeper3.4集群搭建
最近研究SolrCloud 发现没有好的文章 自己动手折腾了两天,把结果分享下 版本:solr5.5.1 tomcat8.0 zookeeper3.4.8 这里说明一下 因为新版本更新 ,也有一些地方是有更新的 比如说以前的solr.war包就没有了 ,这里为什么用tomcat8.0是因为tomcat7.0版本跟solr5.5的不兼容 只能使用tomcat8.0才可以兼容solr5.
最近研究SolrCloud 发现没有好的文章 自己动手折腾了两天,把结果分享下
版本:solr5.5.1 tomcat8.0 zookeeper3.4.8
这里说明一下 因为新版本更新 ,也有一些地方是有更新的 比如说以前的solr.war包就没有了 ,这里为什么用tomcat8.0是因为tomcat7.0版本跟solr5.5的不兼容 只能使用tomcat8.0才可以兼容solr5.5版本
集群搭建环境 :vm虚拟机 三台
先关闭防火墙 service iptables stop
solrmaster IP:192.168.138.134 solrslave1 IP:192.168.138.135 solrslave2 IP:192.168.138.136
配置solrmaster, solrslave1, solrslave2的host文件 vim /etc/hosts
以solrmaster机器为例
上传zookeeper tomcat 以及solr包
解压zookeeper包 到/usr/loca下,把zookeeper-3.4.8/conf文件下的zoo_sample.cfg 改名为 zoo.cfg
在/usr/local/zookeeper-3.4.8文件下新建一个文件 data 用来存放zookeeper数据
修改zoo.cfg文件
添加zookeeper集群
在data目录下新建一个文件 , 内容为1 创建zookeeper标示
zookeeper-3.4.8echo "1" > /usr/local/zookeeper-3.4.8/data/myid
用scp命令把 /usr/local目录下的zookeeper-3.4.8 和 zkdate目录都拷贝到 solrslave1 和solrslave2 中 ,
scp -r /usr/local/zookeeper-3.4.8 solrslave1:/usr/local 把zookeeper目录拷贝到 solrslave1
scp -r /usr/local/zookeeper-3.4.8 solrslave2:/usr/local 把zookeeper目录拷贝到 solrslave2
把solrslave1中的data目录下的myid内容改成2 echo "2" > /usr/local/zookeeper-3.4.8/data/myid
把solrslave2 中的data目录下的myid改为3 echo "3" > /usr/local/zookeeper-3.4.8/data/myid
修改完成之后 ,启动zookeeper
三台机器都启动 ,查看状态
solrmaster 状态
solrslave1状态
solrslave2 状态
到此 zookeeper启动成功
以solrmaster为列:
解压tomcat8 和 solr5.5 到/usr/local 目录下
把solr-5.5.1目录下的server下的solr-webapp下的webapp复制到tomcat下webapps下并重命名为solr
再把 solr-5.5.1目录下的server下的lib目录下ext下的所有jar都拷贝到 tomcat8.0/webapps/solr/WEB-INF/lib下
然后在修改tomcat/webapps/solr/WEB-INF/下的web.xml文件
红色部分表示solr home家
在root下创建一个文件夹 命名为solr_home
cd /
mkdir solr_home
把solr-5.5.1目录下server/solr下的所有文件都拷贝到 /solr_home下
在tomcat8/webapps/solr/WEB-INF下创建一个classes文件夹 ,把/usr/local/solr-5.5.1/server/resources 下的log4j.properties复制到classes文件夹下
启动tomcat sh /usr/local/apache-tomcat-8.0.33/bin/startup.sh
没有solr-core 为了图方便 直接将solr4.3版本的collection1复制到/usr/local/solr_home下
重启tomcat
单机版solr已经搭好
搭建集群版需要与zookeeper结合
把/solr_home/collection1/conf 目录上传到zookeeper
启动三台机器zookeeper
cd /usr/local/zookeeper-3.4.8/bin
./zkServer.sh start
先在solrmaster上把文件上传到zookeeper
此处是关键~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd /usr/local/solr-5.5.1/server/scripts/cloud-scripts
执行此命令可以将collection1/conf 目录上传到zookeeper
./zkcli.sh -zkhost 192.168.138.131:2181,192.168.138.132:2181,192.168.138.133:2181 -cmd upconfig -confdir /solr_home/collection1/conf -confname myconf
查看 zookeeper目录下有没有此文件
cd /usr/local/zookeeper-3.4.8/bin/
./zkCli.sh
ls /configs
由此conf文件上传成功
就是在每台tomca/bin/下 修改catalina.sh文件 在第二行加上一句话 JAVA_OPTS="-DzkHost=192.168.138.137:2181,192.168.138.138:2181,192.168.138.139:2181"
scp分别拷贝/usr/local/tomcat8.0 文件到solrslave1 和solrslave2中
再把root目录下的solr_home 拷贝到solrslave1 和 solrslave2中
分别启动 solrmaster solrslave1 solrslave2 机器上的tomcat
打开 solr管理界面 点击solrcloud
solrcloud 搭建成功
有不懂的随时加QQ1780675810
视频地址请参考 http://download.csdn.net/detail/u014793522/9445742
更多推荐
所有评论(0)