您的位置:首页 > 其它

solr solrcloud 检索 搜索 zookeeper 分布式 部署

2013-01-31 15:28 169 查看
第一步:部署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>

完毕.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: