西红柿炒荷花

SolrCloud7.4(Jetty容器)+mysql oracle 部署与应用

SolrCloud7.4(Jetty容器)搭建

 

1、Zookeeper搭建

版本:zookeeper-3.4.10.tar.gz

1、把zookeeper安装包上传到服务

2、zookeeper解压

3、将zookeeper目录复制到其他三台服务器
zookeeper01 zookeeper02 zookeeper03

4、在zookeeper01~3目录下创建一个data文件夹。

5、在data目录下创建一个myid的文件,myid的内容为1(02对应“2”,03对应“3”)echo 1 >>myid,echo 2 >>myid,echo 3 >>myid

6、进入zookeeper安装目录的conf目录,拷贝一份zoo_sample.cfg文件改名为zoo.cfg

7、修改zoo.cfg,把dataDir=属性指定为刚创建的data文件夹。

8、修改zoo.cfg,把clientPort指定为不冲突的端口号(01:2181、02:2182、03:2183)

9、在zoo.cfg中添加如下内容:

server.1=solrcloud-01:2887:3887
server.2=solrcloud-02:2887:3887
server.3=solrcloud-03:2887:3887

zoo.cfg配置如下

分别启动三个zookeeper。

Zookeeper的目录下有一个bin目录。使用zkServer.sh启动zookeeper服务。
启动:./zkServer.sh start
关闭:./zkServer.sh stop
查看服务状态:./zkServer.sh status

2、solr集群搭建

1、下载solr安装包 solr-7.4.0.tgz

2、上传至服务器并解压

3、将solr-7.4.0\server\lib\ext 下所有jar包

      以及solr-7.4.0\dist 目录下的

      solr-dataimporthandler-7.4.0.jar

      solr-dataimporthandler-extras-7.4.0.jar

   拷贝至solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib

4、配置solr-7.4.0\bin\solr.in.sh

 

SOLR_JAVA_MEM 配置为jvm内存,不要太大也不要太小

太大会发生崩溃性内存交换

太小会影响效率

这个参数可以调优

ZK_HOST="solrcloud-01:2182,solrcloud-02:2182,solrcloud-03:2182"

5、保存并启动solr

./solr start -force

 

2、solr采集数据--mysql、oracle

1、solr-7.4.0\example\example-DIH\solr\solr\conf 目录下是标准的core目录

创建data\solr7.4\solr-home\default\conf 并复制

2、配置solr-data-config.xml和managed-schema

solr-data-config.xml

编辑solr-data-config.xml,如下:

说明:datasource节点用来配置mysql连接串;
Entity节点用来配置core,pk属性是必须的一般是表的主键
Query用来指定查询的sql(全量查询),或是某个表
DataImportQuery是用来增量查询的语句结构
Daltaquery用来指定增量查询的条件,一般是根据updatetime来限定。
Field节点用来指定数据表字段与索引名称关系,一般保持一致。

特殊说明:

mysql: mysql驱动需要下载mysql-connector-java-5.1.39-bin.jar 并放到solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib目录下

配置demo:

oracle:oracle采用jdbc方式连接需下载ojdbc6.jar放到solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib目录下

配置demo:

 

编辑manage-schema文件:

_version和text_general这两个属性要保留,否则在跑索引会报错
Uniquekey节点要指定索引的唯一主键,一般对应数据库主键索引名称。
每个field节点制定了索引名称(name),索引类型(type)是否要建立索引(indexed),
是否建立文件存储(stored),是否是多值(multivalued),是否是必须的(required),特
别说明required=true是必须要建立索引,对于某些字段有空值,是不适用的,会报错。

 

3、增量索引

全量索引:
http://url/solr/province/dataimport?command=full-import&clean=true&inden
t=true&wt=json
增量索引:
http://url/solr/province/dataimport?command=delta-import&indent=true&wt
=json

 

相关资料下载solr7.4+zookeeper安装包(lib文件夹下包括mysql、oracle驱动所需标准jar包):

链接:https://pan.baidu.com/s/1NJ1GUF_oRQVZGfuwL0Q_AQ 密码:qot9

posted on 2018-12-18 15:20  西红柿炒荷花  阅读(318)  评论(0编辑  收藏  举报

导航