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

[经验分享] solr solrcloud 检索 搜索 zookeeper 分布式 部署

[复制链接]

尚未签到

发表于 2015-11-12 07:51:41 | 显示全部楼层 |阅读模式
第一步:部署zookeeper 集群
以一台机器为例:
1.下载zookeeper-3.4.5.tar.gz包到目标机器上.
2.把zookeeper解压到/home/q/zookeeper/下.
3.建立zookeeper数据目录 /home/q/zookeeper/datadir.
4.建立zookeeper节点编号 /home/q/zookeeper/datadir/myid (该文件中只有一个数字,代表该机器在集群中的序号)
5.sudo vi /home/q/zookeeper/conf/zoo.cfg
修改zoo.cfg配置文件如下:

# 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=/home/q/zookeeper/datadir
# the port at which the clients will connect
# 客户端(这里指solr)端口
clientPort=2181
#wq gjus gh
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# 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
#zookeeper集群中所有节点的地址,端口,第一个用来节点间通信,第二用来选举leader,server后的 .1  .2 是对应的节点号,该号从/home/q/zookeeper/datadir/myid中读取.
server.1=url1:2888:3888
server.2=url2:2888:3888

6.类似上述步骤,把集群中所有机器都配置好(不同节点配置中,只有myid不同)
7.部署完所有的节点机器后,启动zookeeper(通过zoo 提供的脚本启动)
sudo /home/q/zookeeper/bin/zkServer.sh start

分别启动各个机器上的zookeeper,注意,先启动的机器可能报错连接其它节点超时,不必理会,是因为其它节点还没启动,全部启动后,就会正常.

第二步:部署solr应用

我们的solr跑在tomcat容器中,采用公司统一目录结构,和部署方式.As follow:
项目目录 /home/q/www/solr.qunar.com/
子目录: cache/  conf/ logs/ solr/ temp/ webapps/ work/  startenv.sh
1.需要准备的JAR 包:
apache-solr-4.0.0.tgz
mysql-connector-java-5.1.22-bin.jar
IKAnalyzer2012FF_u1.jar
zookeeper-3.4.5.tar.gz

2.解压apache-solr-4.0.0.tgz,并把其中的 dist/目录下的apache-solr-4.0.0.war解压到/home/q/www/solr.qunar.com/webapps/ROOT/下
然后把预先准备好的其它三个jar放到/home/q/www/solr.qunar.com/webapps/ROOT/WEB-INF/lib/下.
3.修改启动脚本/home/q/www/solr.qunar.com/startevn.sh 如下:

#!/bin/sh

export TOMCAT_USER="tomcat"
export JAVA_OPTS="-Xms2048m -Xmx2048m -XX:NewSize=256m -XX:PermSize=256m -server -XX:+DisableExplicitGC -Dqunar.logs=$CATALINA_BASE/logs -Dqunar.cache=$CATALINA_BASE/cache -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:$CATALINA_BASE/logs/gc.log"
chown -R tomcat:tomcat $CATALINA_BASE/logs
chown -R tomcat:tomcat $CATALINA_BASE/cache
chown -R tomcat:tomcat $CATALINA_BASE/conf
chown -R tomcat:tomcat $CATALINA_BASE/work
chown -R tomcat:tomcat $CATALINA_BASE/temp
chown -R root:root $CATALINA_BASE/webapps
chmod -R 755 $CATALINA_BASE/webapps
export JAVA_OPTS="-Dsolr.solr.home=/home/q/www/solr.qunar.com/solr -Dbootstrap_confdir=/home/q/www/solr.qunar.com/solr/collection1/conf -Dcollection.configName=myconf  -DzkHost=url1:2181,url2:2181"


重点关注最后一行,Dsolr.solr.home变量是solr的主目录,里边存放索引文件.Dbootstrap_confdir变量指向solr的所有配置文件(注注注:会上传到zookeeper下,供所有的solr节点共用,因此,其它solr节点的启动时,startenv.sh里
就不再需要加Dbootstrap_confdir参数).

solr相关的主要有三个配置文件
/home/q/www/solr.qunar.com/solr.xml -- 配置多个core
/home/q/www/solr.qunar.com/solr/collection1/conf/data-config.xml -- 配置数据源,数据entity,dih全量导更新,和增量更新用.
/home/q/www/solr.qunar.com/solr/collection1/conf/schema.xml -- 配置自定义字段,分词器也在这里配置,以字段类型的方式配置分词器.

4.配置好全部配置文件后.启动solr

用公司统一的脚本方式启动 sudo /home/q/tools/bin/start_tomcat.sh /home/q/www/solr.qunar.com/
以类似方式配置启动所有solr节点.OK


最后,在浏览器键入solr管理后台,手动导入数据(第一次全量导入),以后由定时任务作增量更新.
常见故障1:如果在solr后台管理界面里solrCloud 视图中点击机器图标不能正确跳转的话,在/home/q/www/solr.qunar.com/webapps/ROOT/WEB-INF/web.xml中 加入如下内容:

<servlet-mapping>
    <servlet-name>LoadAdminUI</servlet-name>
    <url-pattern>/admin.html</url-pattern>
  </servlet-mapping>

完毕.         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 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-138087-1-1.html 上篇帖子: 【apache solr系列】jcseg与pinyinTokenFilter实现中文缩写查找 下篇帖子: Eclipse导入apache-solr-3.6.0源代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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