设为首页 收藏本站
查看: 1186|回复: 0

[经验分享] solr6.4.1搜索引擎(5)使用zookeeper3.4.9分布式集群

[复制链接]

尚未签到

发表于 2017-12-20 06:42:19 | 显示全部楼层 |阅读模式
solr6.4.1搜索引擎(5)使用zookeeper3.4.9分布式集群
本文讲的是如何使用zookeeper将solr分布式部署,也可以理解为tomcat分布式部署。为什么要使用zookeeper,请参考文章《Solr的SolrCloud与Master-slave主从模式对比》http://blog.csdn.net/jiangchao858/article/details/53363310尚未成功启动solr的,请看我的另一篇文章《solr6.4.1 搜索引擎(1)启动eclipse启动》http://www.cnblogs.com/zhuwenjoyce/p/6506359.htmlsolr尚未首次同步数据库的,请看我的另一篇文章《solr6.4.1搜索引擎(2)首次同步mysql数据库》http://www.cnblogs.com/zhuwenjoyce/p/6512378.html 软件安装准备1,安装JDK1.82,下载zookeeper3.4.9zookeeper官方版本下载地址: http://apache.fayea.com/zookeeper/官方版本已经更新到zookeeper-3.5.2-alpha,但是是alpha内部测试版,所以我们下载一个稳定版本zookeeper-3.4.9就可以了http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz (22M)3,下载solr6.4.1地址:http://archive.apache.org/dist/lucene/solr/ (149M)4,下载tomcat8.0.28http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.28/bin/apache-tomcat-8.0.28.zip 一、solr集群准备我在本机上模拟多台机器上的solr集群,所以是伪集群,新建目录如下:D:\solr\solrCloud1 存放solr云的目录D:\solr\solrCloud1\conf 存放solr云配置文件的目录,把D:\solr\solr-6.4.1\server\solr\configsets\sample_techproducts_configs\conf该目录下所有配置文件移动到该目录下D:\solr\solrMachine1\ 代替原本需要真实集群的第一台机器目录D:\solr\solrMachine2\ 代替原本需要真实集群的第二台机器目录 二、第一台机器集群准备1)添加一个tomcat,端口号为9080,D:\solr\solrMachine1\apache-tomcat-8.0.28-90802)发布solr应用到该tomcat的webapp下,可以用war形式或者eclipse形式,可以参考我的文章《solr6.4.1 搜索引擎(1)启动eclipse启动》http://www.cnblogs.com/zhuwenjoyce/p/6506359.html3)添加一个solrhome : D:\solr\solrMachine1\solrhome4)修改D:\solr\solrMachine1\solrhome\solr.xml,把<int name="hostPort">${jetty.port:8983}</int>改为<int name="hostPort">${jetty.port:9080}</int>,因为solrhome的启动端口要与tomcat保持一致5)修改tomcat的webapps目录下的solr应用的WEB-INF/web.xml(D:\solr\solrMachine1\apache-tomcat-8.0.28-9080\webapps\solr),solrhome的目录修改如下:<env-entry><env-entry-name>solr/home</env-entry-name><env-entry-value>D:/solr/solrMachine1/solrhome</env-entry-value><env-entry-type>java.lang.String</env-entry-type></env-entry>6)修改tomcat的D:\solr\solrMachine1\apache-tomcat-8.0.28-9080\bin\catalina.bat设置,使之可以被zookeeper识别,在setlocal之后换行添加如下内容:set JAVA_OPTS=-Dbootstrap_confdir=D:/solr/solrCloud1/conf -Dcollection.configName=cloudconf -DzkHost=127.0.0.1:2181 -DnumShards=2参数说明:-Dbootstrap_confdir 告诉zookeeper,solr云的配置文件存放目录在哪儿。PS: 主tomcat需要告诉zookeeper solr云的配置文件在哪儿-Dcollection.configName 自定义一个config的名字-DzkHost 告诉solr你的zookeeper部署在哪个IP上哪个端口 三、第二台机器集群准备1)添加一个tomcat,端口号为9081,D:\solr\solrMachine2\apache-tomcat-8.0.28-90812)发布solr应用到该tomcat的webapp下,可以用war形式或者eclipse形式,可以参考我的文章《solr6.4.1 搜索引擎(1)启动eclipse启动》http://www.cnblogs.com/zhuwenjoyce/p/6506359.html。我在这里偷了个懒,当我的第一个solr应用在eclipse里成功发布到tomcat下之后,我就在eclipse里面复制了一个solr项目,命名为solr2。3)添加一个solrhome : D:\solr\solrMachine2\solrhome4)修改D:\solr\solrMachine2\solrhome\solr.xml,把<int name="hostPort">${jetty.port:8983}</int>改为<int name="hostPort">${jetty.port:9081}</int>,因为solrhome的启动端口要与tomcat保持一致5)修改tomcat的webapps目录下的solr应用的WEB-INF/web.xml(D:\solr\solrMachine2\apache-tomcat-8.0.28-9081\webapps\solr2),solrhome的目录修改如下:<env-entry><env-entry-name>solr/home</env-entry-name><env-entry-value>D:/solr/solrMachine2/solrhome</env-entry-value><env-entry-type>java.lang.String</env-entry-type></env-entry>6)修改tomcat的D:\solr\solrMachine2\apache-tomcat-8.0.28-9081\bin\catalina.bat设置,使之可以被zookeeper识别,在setlocal之后换行添加如下内容:set JAVA_OPTS=-DzkRun -DzkHost=localhost:2181参数说明:-DzkRun 该参数将促使一个内嵌的 zookeeper 服务作为 Solr 服务的部分运行起来。-DzkHost 告诉solr你的zookeeper部署在哪个IP上哪个端口PS: 从tomcat不需要告诉zookeeper solr云的配置文件在哪儿,可以有多个tomcat都照此配置。 四、伪集群tomcat的准备工作因为这里是伪集群,所以同时部署在同一个机器上的两个tomcat,端口必然不能重复:D:\root\tomcat\apache-tomcat-8.0.28-9080 --端口9080,把8005和8009端口分别改为9001,9002D:\root\tomcat\apache-tomcat-8.0.28-9081 --端口9081,把8005和8009端口分别改为9003,9004到现在为止,我们已经使用-DzkHost=localhost:2181配置好了两个tomcat关联到zookeeper 五、zookeeper准备工作下载后解压到目录D:/zookeeper-3.4.9复制D:\zookeeper-3.4.9\conf\zoo_sample.cfg为zoo.cfg,修改zoo.cfg:dataDir=D:/zookeeper-3.4.9/data --这里修改为实际的data数据目录zookeeper的默认启动端口为2181 六、启动solr云1)启动zookeeper3.4.9 D:\zookeeper-3.4.9\bin\zkServer.cmd2)启动主tomcat D:\solr\solrMachine1\apache-tomcat-8.0.28-9080\bin\startup.bat3)启动从tomcat D:\solr\solrMachine2\apache-tomcat-8.0.28-9081\bin\startup.bat启动之后命令行窗口好多的打印!也不知道在打印个什么东西,第一次启动的时候我以为是solr应用在上传数据到zookeeper,因为我的solr索引已经达到110多万,后来我把索引数据清空了,还是有很多打印,不太明白为什么zookeeper在干什么。 七、访问solr云在启动成功之后,随意访问任何一个tomcat,都可以查看到solr云已经成功显示,我这里访问的是http://localhost:9081/solr/index.html DSC0000.png 点击Cloud菜单后,默认会进入Graph视图,该视图显示如下: DSC0001.png 可以看到9080和9081两个分布式节点已经成功部署。 八、solr云失败频率高不知道是本地内存不够还是zookeeper或者solr没有优化好,只要我点击Cloud菜单下的Tree或者Graph(Radial)子菜单,就一定会出现各种假死: DSC0002.png 一个节点已经死了,另一个节点正在艰难恢复中。 ╯﹏╰  posted on 2017-03-14 17:36 梦幻朵颜 阅读(...) 评论(...)  编辑 收藏

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-425908-1-1.html 上篇帖子: 搜索schema.xml定义 下篇帖子: 2.Linux环境下配置Solr4.10.3
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表