十步讲解solr和solrCloud的安装与配置


solr的安装:window环境下(solr + tomcat + jdk)

1、下载 solr-4.10.3.zip(或其他版本),解压

2、修改 solr-4.10.3\example\solr\collection1\conf 下的 solrconfig.xml(即SolrCore运行配置文件,路径中的 collection1 就是一个 SolrCore 实例)

  <lib dir="${solr.install.dir:../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../..}/dist/" regex="solr-velocity-\d.*\.jar" />

数据目录的默认配置是:(相当于 collection1\data )

  <dataDir>${solr.data.dir:}</dataDir>

也可自定义数据目录地址。

3、将 solr-4.10.3\solr-4.10.3\dist 下的 solr-4.10.3.war 拷贝到 Tomcat 的 webapp 目录下,并改名为 solr.war

4、启动tomcat,solr.war 自动解压,将原来的 solr.war 删除

5、把 solr-4.10.3\example\lib\ext 下的所有 jar 包,拷贝到 Tomcat 的 webapp\solr\WEBINF\lib 目录下

6、修改 tomcat 的 server.xml(在tomcat的conf下)
添加 URLEncoding=“UTF-8”

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URLEncoding="UTF-8"/>

7、创建目录 “D:\develop\solr”,作为 SolrHome
(一个 solrHome 中可以创建多个 SolrCore,即可以有collection1、collection2、collection3…)

8、修改 Tomcat 中 webapp\solr\WEB-INF 下的 web.xml,以设置SolrHome

<env-entry>
  <env-entry-name>solr/home</env-entry-name> 
  <env-entry-value>D:/develop/solr/solrhome</env-entry-value> 
  <env-entry-type>java.lang.String</env-entry-type> 
 </env-entry>

(这里记得要把注释放开,深坑慎入!!!)

9、在 Tomcat 中的 webapps\solr\WEB-INF 目录下创建 classes 文件夹。
复制 solr-4.10.3\example\resources\log4j.properties 至 Tomcat 的 webapps\solr\WEB-INF\classes 目录下

10、启动tomcat,访问 http://localhost:8080/solr
在这里插入图片描述
成功!

简单总结一下几个相关的目录的用途:

“solr-4.10.3”:solr安装包

“D:\develop\solr ”:作solrHome

tomcat的webapps:搭载solr项目


一、中文分词器

11、下载 IK Analyzer 2012FF_hf1.zip 并解压
链接:https://pan.baidu.com/s/1St4yEJPhKzGqC3vyWZfhQg
提取码:wfcd

12、将 IKAnalyzer2012FF_u1.jar 拷贝到 Tomcat 的 webapps/solr/WEB-INF/lib 下

13、将 IKAnalyzer.cfg.xml 和 stopword.dic 复制到 Tomcat 的 webapps/solr/WEB-INF/classes 下

14、修改 D:\develop\solr\solrhome\collection1\conf 的 schema.xml
添加FieldType:

<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false"
class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true"
class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

添加Field:

<!--IKAnalyzer Field-->
<field name="title_ik" type="text_ik" indexed="true" stored="true" />
<field name="content_ik" type="text_ik" indexed="true" stored="false" multiValued="true"/>

启动tomcat,测试:
在这里插入图片描述
对 “title_ik” 字段进行分词,成功!

二、dataimport-Handler

使用dataimport-Handler,可直接将关系型数据库的数据导入到solr索引库。步骤:
1、在SolrCore目录(即collection1)中创建lib目录,将D:\develop\solr\dist下的 solr-dataimporthandler-4.10.3.jar 和 solr-dataimporthandler-extras-4.10.3.jar,以及数据库驱动,拷贝至D:\develop\solr\solrhome\collection1\lib下
在这里插入图片描述
2、修改solrconfig.xml(在D:\develop\solr\solrhome\collection1\conf下),添加requestHandler

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
	<lst name="defaults">
		<str name="config">data-config.xml</str>
	</lst>
</requestHandler>

3、在D:\develop\solr\solrhome\collection1\conf下新建data-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/lucene"
user="root"
password="0"/>
<document>
<entity name="product" query="SELECT pid,name,description FROM products ">
	<field column="pid" name="id"/>
	<field column="name" name="product_name"/>
	<field column="description" name="product_description"/>
</entity>
</document>
</dataConfig>

schema.xml 中要配置相应的field

<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false" />

4、重启tomcat,进入管理界面–>SolrCore–>dataimport下执行导入
在这里插入图片描述
5、查询一下:
在这里插入图片描述

三、solr 集群

solrCloud 高可用集群搭建
环境准备:
CentOS-6.4-x86_64-minimal.iso(Linux)
jdk-6u45-linux-i586-rpm.bin
zookeeper-3.4.5.tar.gz
solr-4.10.3.tgz.tar
tomcat
使用zookeeper对solr集群进行管理

(一)先安装zookeeper

1、上传压缩包zookeeper-3.4.5.tar.gz到/usr/local/tmp下,并解压
2、在/usr/local下新建文件夹zookeeper

mkdir /usr/local/zookeeper

3、把解压的所得的文件夹复制到zookeeper下,并命名为zk1

cp -r /usr/local/temp/zookeeper-3.4.5 /usr/local/zookeeper/zk1

4、在zk1下新建文件夹data
5、在data下新建文件myid,里面写上1

vim myid

6、进入zk1/conf下把zoo_sample.cfg复制一份并命名为zoo.cfg
7、编辑zoo.cfg内容,设置dataDIR为上述新建的data文件夹

dataDir=/usr/local/zookeeper/zk1/data

并在文件最下面添加以下内容

server.1=192.168.227.134:2688:3888 
server.2=192.168.227.134:2689:3889 
server.3=192.168.227.134:2690:3890 

(192.168.227.134是你的虚拟机ip)

server.1 中的1 是myid的内容
2688,2689,2690 是zookeeper内部端口
3888,3889,3890 是leader端口

8、把zk1复制两份,分别叫做zk2,zk3,并修改myid的值为2,3;修改zoo.cfg中的dataDIR,以及clientPort(改为2182和2183)

9、在/usr/local/zookeeper路径下,新建三个脚本

cd /usr/local/zookeeper

9.1 startup.sh

cd zk1/bin
./zkServer.sh start

cd ../..
cd zk2/bin
./zkServer.sh start

cd ../..
cd zk3/bin
./zkServer.sh start

cd ../..

9.2 stop.sh

cd zk1/bin
./zkServer.sh stop

cd ../..
cd zk2/bin
./zkServer.sh stop

cd ../..
cd zk3/bin
./zkServer.sh stop

cd ../..

9.3 status.sh

cd zk1/bin
./zkServer.sh status

cd ../..
cd zk2/bin
./zkServer.sh status

cd ../..
cd zk3/bin
./zkServer.sh status

cd ../..

10、启动三个zookeeper

./startup.sh

11、查看状态

./status.sh 

(二)再搭建solr集群

linux下的solr安装与window中的大同小异。在这里,我们最终把solrhome和tomcat统一放在/usr/local/solr下。

这里做的是伪集群,即一台机器上多份solr;而不是多台机器,每台一份solr

12、把/usr/local/solr/tomcat复制3份,分别叫做tomcat2,tomcat3,tomcat4

13、把/usr/local/solr/solrhome复制3份,分别叫solrhome2,solrhome3,solrhome4
在这里插入图片描述
14、修改tomcat/conf/server.xml的端口号,每个文件都需要修改3处(共需要修改4个server.xml)
从上到下把端口修改为6005,6080,6009
在tomcat2/conf/server.xml中修改端口为7005,7080,7009
如此类推…

15、修改tomcat/webapps/solr/WEB-INF下的web.xml中的solrhome路径(即env-entity-value改为/usr/local/solr/solrhome),让tomcat和solrhome一 一对应上;如此类推,共修改4份

16、修改4个tomcat的tomcat/bin/startup.sh,在最上面对应加上

export CATALINA_HOME=/usr/local/solr/tomcat3
export CATALINA_BASE=/usr/local/solr/tomcat3

否则在启动时只会启动一个tomcat

17、在第一个tomcat的tomcat/bin/catalina.sh的最上面添加

JAVA_OPTS="$JAVA_OPTS 
-DzkHost=192.168.227.134:2181,192.168.227.134:2182,192.168.227.134:2183 
-Dbootstrap_confdir=/usr/local/solr/solrhome/collection1/conf 
-Dcollection.configName=collection1 
-DnumShards=2 
-DreplicationFactory=2"

-DzkHost表示zookeeper地址
-Dbootstrap_confdir表示对某个solr实例下的配置统一管理
-Dcollection.configName表示配置文件别名,一般与实例名称相同。
-DnumShards表示分片数量
-DreplicationFactor表示每个分片中服务数量(2表示一主一备)

18、在另外3个tomcat/bin/catalina.sh最上面添加

JAVA_OPTS="$JAVA_OPTS 
-DzkHost=192.168.227.134:2181,192.168.227.134:2182,192.168.227.134:2183 
-DnumShards=2 
-DreplicationFactory=2"

19、修改4个solrhome下的solr.xml
在这里插入图片描述
20、关闭防火墙
21、在usr/local/solr下,新建脚本startup.sh

cd /usr/local/solr

cd tomcat/bin
./startup.sh

cd ../..
cd tomcat2/bin
./startup.sh


cd ../..
cd tomcat3/bin
./startup.sh


cd ../..
cd tomcat4/bin
./startup.sh

cd ../..

22、启动tomcat
./startup.sh

23、访问http://192.168.227.134:6080/solr/观察结果,出现了cloud项
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值