SolrCloud安装手册_基于solr5.2.1_第1页
SolrCloud安装手册_基于solr5.2.1_第2页
SolrCloud安装手册_基于solr5.2.1_第3页
SolrCloud安装手册_基于solr5.2.1_第4页
SolrCloud安装手册_基于solr5.2.1_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、solrCloud集群安装手册基于solr5.2.1版本号修订内容修订人时间1.0安装步骤、架构设计,索引服务、分片备份高扬20150722一、 solrCloud集群架构概览1.1 SolrCloud索引架构其中每一个分片有两份数据,一个是leader,另一个是备份。分别存储在不同机器上,可以保证在某一台服务器down掉后,仍可提供完整的数据服务。 SolrCloud的索引存储中,三台服务器都要存索引。1.2 ZooKeeper架构ZooKeeper集群,同时在三台服务器中配置ZooKeeper。二、 硬件环境硬件版本JDKJDK-1.8SolrSolr-5.2.1ZooKeeperzook

2、eeper-3.4.6tomcatapache-tomcat-8.0.14mysqlmysql-5.6.25服务器linux三、 安装步骤3.1 JDK配置(1)解压JDK的压缩包至 /usr/local/ 目录下tar -zxvf JDK压缩包位置 -C /usr/local/(2)修改配置文件vi /etc/profile在下面添加如下内容export JAVA_HOME=/usr/local/jdk1.8.0_45export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PA

3、TH然后在命令行中输入 source /etc/profile输入命令 java -version 查看是否安装正确3.2 Tomcat配置(1)解压tomcat的压缩包至 /home/dell/software 目录下tar zxvf apache-tomcat-8.0.14.tar.gz(2)运行tomcat中的startup.sh运行tomcat(3)由于防火墙的原因无法访问8080端口,以下步骤为开放8080端口:/sbin/iptables -I INPUT -p tcp -dport 8080 -j ACCEPTservice iptables saveservice iptabl

4、es restart或者直接禁用防火墙:停止/启动防火墙/sbin/service iptables restart -重启/sbin/service iptables stop -停止/sbin/service iptables start -启动1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off2) 即时生效,重启后失效 开启: service iptables start 关闭: service iptables stop然后访问服务器的8080端口查看tomcat是否安装正确。(4)修改tomcat中conf/se

5、rver.xml文件。找到以下部分修改为 3.3 Mysql配置(可参考网站(1)在线安装mysqlyum install -y mysql-server mysql mysql-devel查看已安装版本命令rpm -qi mysql-server开启MySQL服务/etc/init.d/mysqld start(2)修改MySQL中root初始密码安装MySQL成功后root初始密码为空进入MySQL界面命令:mysql -u root -p输入quit;退出mysql修改初始化密码命令:mysqladmin-u用户名-p旧密码password新密码如:mysqladmin -u root

6、password密码(3)实现MySQL远程连接进入MySQL界面 (myuser替换为用户名, mypassword替换为密码)mysql GRANT ALL PRIVILEGES ON *.* TO myuser% IDENTIFIED BY mypassword WITH GRANT OPTION;(4)开启MySQL服务自动开启命令chkconfig mysqld on查看MySQL服务是否自动开启命令chkconfig -list | grep mysqld(5)重启mysql/etc/init.d/mysqld restart3.4 Solr配置(1)我们这里使用solr-5.2.

7、1版本。 解压缩solr-5.2.1.tgz,得到solr-5.2.1文件夹。(2)将solr-5.2.1/server/webapps/ solr.war复制到tomcat的webapps文件夹下,启动tomcat $tomcat_home/bin/startup.sh ,webapps下自动生成solr目录。关闭tomcat,删除solr.war包。(3)将solr-5.2.1/dist/目录下的solr-dataimporthandler-5.2.1.jar和solr-dataimporthandler-extras-5.2.1.jar复制到tomcat下的solr/WEB-INF/li

8、b中。将solr-5.2.1/server/lib/ext目录下的jar文件复制到tomcat下的solr/WEB-INF/lib中。另外,将mysql-connector-java-5.1.31-bin.jar和IK-Analyzer-ForSolr5.jar复制到solr/WEB-INF/lib中。(注意:solr5后的版本与IK最新的分词器不兼容,因此特别订定制了IK,见附件)IK-Analyzer-ForSolr5.jar是中文分词器mysql-connector-java-5.1.26-bin.jar是java连接mysql数据库的驱动打开apache-tomcat-8.0.14/w

9、ebapps/solr/WEB-INF/web.xml修改如下部分 !- solr/home /put/your/solr/home/here java.lang.String -改为 solr/home /home/dell/software/solrhome/ java.lang.String注意:要将注释符号去掉(4)将solr-5.2.1/server/solr/solr.xml复制到/home/dell/software/solrhome 目录下。将jetty.port改为8080。注意:这个8080是我们创建collection以及分片用的服务端口。而不是用来指向tomcat的80

10、80端口。$host: $jetty.port:8080 $hostContext:solr(5)在apache-tomcat-8.0.14/webapps/solr/WEB-INF下新建classes文件夹,将solr-5.2.1/server/resources下的perties文件COPY到classes文件夹下。这个是solr的日志文件,方便solr出错的时候查看日志进行解决。打开perties,配置日志文件路径log4j.appender.file.File=/home/dell/software/solrhome/logs/solr.log(6)

11、运行tomcat,访问01:8080/solr 查看是否安装正确。3.5 ZooKeeper配置(可参考这里以三台计算机为例,分别为89 master43 slave102 slave2可修改配置文件/etc/hosts,添加89 master43 slave102 slave2(每台机器hosts文件此处配置部分保持一致)然后运行命令source /etc/hosts即可用master代替8

12、9 等等(1)将ZooKeeper-3.4.6压缩包解压至/home/dell/software/ 目录下。进入ZooKeeper-3.4.6文件夹,在ZooKeeper-3.4.6文件夹中创建data文件夹和logs文件夹。(2)在ZooKeeper-3.4.6/conf文件夹中创建文件zoo.cfg。vi conf/zoo.cfg在zoo.cfg中,输入tickTime=2000dataDir=/home/dell/software/zookeeper-3.4.6/datadataLogDir=/home/dell/software/zookeeper-3.4.6/logsclientPo

13、rt=2181initLimit=5syncLimit=2server.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888server.X=A:B:C 其中X是一个数字, 表示这是第几号server。A是该server所在的IP地址.。B配置该server和集群中的leader交换消息所使用的端口。C配置选举leader时所使用的端口。(3)在之前创建的data文件夹中创建一个myid文件。写入一个数字,该数字表示这是第几号server。该数字必须和zoo.cfg文件中的server.X中的X一一对应。即,若

14、本机是server.1,则写入1 。3.6 SolrCloud集成配置(可参考(1)任选一台机器上(如89)创建SolrCloud配置文件目录/home/dell/software/solrconfig_files和Solr Zk CLI库文件目录/home/dell/software/solrlib_files(2)将solr-5.2.1/server/solr/configsets/sample_techproducts_configs/conf下的solr票配置文件Copy到SolrCloud配置文件目录solrconfig_files中将tomcat/webap

15、ps中的solr WEB-INF/lib中的jar文件Copy到Solr Zk CLI库文件目录solrlib_files中(3)打开三台服务器的zookeeperzookeeper-3.4.6/bin/zkServer.sh start将SolrCloud的配置文件上传到ZooKeeper中,在命令行中输入java -classpath .:/home/dell/software/solrlib_files/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 89:2181,43:2181,1

16、02:2181 -confdir /home/dell/software/solrconfig_files/ -confname iipconf可使用次配置直接创建collection,在浏览器中输入89:8080/solr/admin/collections?action=create&name=collection1&numShards=3&replicationFactor=2&maxShardsPerNode=2&collection.configName=iipconf这条指令的各参数意义如下:参数名说明Name要创建的集合名

17、称numShards指定集合Shard的数量replicationFactor指定每个Shard副本数量maxShardsPerNode每个Solr服务器节点上最大Shard数量createNodeSet还不明白什么用collection.configName配置的名称(必须已存储在ZooKeeper)使用这个新的集合。如果没有提供创建操作将默认配置名称的集合名称。可连上zookeeper,查看配置信息cd zookeeper/bin./zkCli.sh -server localhost:2181执行查询命令: ls /configs/myconf,即可看到上传到ZooKeeper的所有配置

18、信息也可在命令行中输入指令改变某一collection的配置,java -classpath .:/home/dell/software/solrlib_files/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection1 -confname conf1 -zkhost 89:2181,43:2181,02:2181(4)进入tomcat目录下,修改bin/catalina.sh在开头的注释之后# OS specific support. $

19、var _must_ be set to either true or false.的上面添加一行:export JAVA_OPTS=$JAVA_OPTS -DzkHost=master:2181,slave1:2181,slave2:2181(5)启动各服务器的tomcat: apache-tomcat-8.0.14/bin/startup.sh访问solr管理页: 89:8080/solr 查看状态四、SolrCloud定时增量索引(完全无人值守)4.1 简介Solr官方提供了很强大的Data Import Request Handler,同时提供了一个

20、简单的 Scheduler,Url:/solr/DataImportHandler.(原定时器作者是:Marko Bonaci, 在此表示感谢!)The original Scheduling source by Marko Bonaci, Thank him!4.2 使用说明将 apache-solr-dataimportscheduler-modified.jar(官方提供的dataimportscheduler有POST BUG请使用该修正版,jar包在附件当中) 和solr自带的 apache-solr-dataimporthandler-.j

21、ar, apache-solr-dataimporthandler-extras-.jar 放到tomcat/solr/WEB-INF的lib目录下面修改solr.war中WEB-INF/web.xml, 在servlet节点前面增加: org.apache.solr.handler.dataimport.scheduler.ApplicationListener 将apache-solr-dataimportscheduler-.jar 中 perties 取出并根据实际情况修改,然后放到 solr.home/conf (不是solr.home/collectio

22、n1/conf) 目录下面重启tomcat或者jboss 即可perties配置说明syncEnabled:是否定激活时索引,1激活,其他不激活syncCores:要索引的core或collectionserver:solr服务器ip地址port: tomcat下solr应用端口webapp:tomcat下solr应用名称params:其中entity参数代表data-config.xml中要索引的数据源,不指定则索引所有数据源interval:索引间隔时间(分)perties文件示例# perties exa

23、mple# From this example, copy everything bellow dataimport scheduler properties to your# perties file and then change params to fit your needs# IMPORTANT:# Regardless of whether you have single or multiple-core Solr,# use perties located in your solr.home/conf (NOT solr.h

24、ome/core/conf)# For more info and context see here:# /solr/DataImportHandler#perties_example#Tue Jul 21 12:10:50 CEST 2010metadataObject.last_index_time=2010-09-20 11:12:47last_index_time=2010-09-20 11:12:47# # dataimport scheduler properties # # to sync or not to

25、sync# 1 - active; anything else - inactivesyncEnabled=1# which cores to schedule# in a multi-core environment you can decide which cores you want syncronized# leave empty or comment it out if using single-core deploymentsyncCores=collection1# solr server name or IP address# defaults to localhost if

26、emptyserver=localhost# solr server port# defaults to 80 if emptyport=8080# application name/context# defaults to current ServletContextListeners context (app) namewebapp=solr# URL params mandatory# remainder of URLparams=/select?qt=/dataimport&command=delta-import&clean=false&commit=true&entity= DT_

27、CLEAR_DATA_SLAVE1# schedule interval# number of minutes between two runs# defaults to 30 if emptyinterval=10例如,我们实验室solrcloud中的data-config.xml中配置的entity名称为 DT_CLEAR_DATA_SLAVE1,DT_CLEAR_DATA_SLAVE2我们三台机器中的参数分别指定了上述两个entity,因此solrCloud会定期对两个数据源分别做索引,做到完全无人值守。 $dataimporter.DT_CLEAR_DATA_SLAVE1.last_i

28、ndex_time $dataimporter.DT_CLEAR_DATA_SLAVE2.last_index_time 五、 可选5.1 Add Replica(1)通过api配置/admin/collections?action=ADDREPLICA&collection=collection&shard=shard&node=solr_node_nameAdd a replica to a shard in a collection. The node name can be specified if the replica is to be created in a specific

29、nodeInputQuery ParametersKeyTypeRequiredDescriptioncollectionstringYesThe name of the collection.shardstringNoThe name of the shard to which replica is to be added. Either shard or _route_ must be provided_route_stringNoIf the shard name is not known, just pass the _route_ value and the system would identify the name of the shardnodestringNoThe name of the node where the replica should be createdinstanceDirstringNoThe in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论