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

SolrCloud7.4(Jetty容器)+mysql oracle 部署与应用的更多相关文章

  1. cargo实现自动化部署远程jetty容器(非安全模式)

    cargo实现自动化部署应用至远程jetty容器 (非安全模式) 一.准备: WAR包:Deployer Web application for the Jetty remote containers ...

  2. Jetty学习四:部署到Jetty

    转自:http://www.tuicool.com/articles/NrENjq Web应用的框架 标准Jetty发布版本能部署标准servlet Spec Web应用和Jetty内部Context ...

  3. Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决

    Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity ...

  4. 图文详解 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)

    图文详解 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目.  2.设置 GAV 坐标  3. ...

  5. SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase

    sqlserver 插入数据的时候 插入失败,报错内容为 “SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, ...

  6. AspNetCore容器化(Docker)部署(三) —— Docker Compose容器编排

    一.前言 上一篇部署了一个最基础的helloworld应用,创建了两个容器和一个network,还算应付得过来. 如果该应用继续引入mysql.redis.job等若干服务,到时候发布一次得工作量之大 ...

  7. 图文具体解释 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)

    图文具体解释 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目. 2.设置 GAV 坐标 3. ...

  8. 2-MySQL DBA笔记-MySQL安装部署和入门

    第2章 MySQL安装部署和入门 第1章介绍了MySQL的一些基础知识,本章将为读者介绍MySQL的部署.安装及一些常用命令和参数的设置.2.1 如何选择MySQL版本 在选择MySQL的版本时,要根 ...

  9. spring内嵌jetty容器,实现main方法启动web项目

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

随机推荐

  1. linux命令行安装teamviewer

    teamviewer最新版本为14,但是Ubuntu14.04不支持,安装13版本即可. sudo dpkg -i teamviewer_13.2.26559_amd64.deb若报错,即缺少依赖,运 ...

  2. myeclipse中tomcat配置虚拟路径,用于存储及上传图片

    由于双击tomcat后只出现了overview窗口,没有出现Models窗口,如下图所示,故eclipse中的方法不能用. 采用另一种方法 在自己的tomcat的安装目录下 ( 我安装目录的是 D:\ ...

  3. lambda 委托 匿名方法

    委托: delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类.与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的 ...

  4. HBase详解

    1.   hbase简介 1.1.  什么是hbase HBASE是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群. H ...

  5. java比较排序Comparable和Comparator

    1       比较排序Comparable和Comparator 1.1      接口作用说明 Comparable和Comparator都是用来实现对象的比较.排序,对比时需要实现Compara ...

  6. Vue组件通信

    单向数据流通信 单向数据流通信是指父组件传递数据给子组件,子组件是不可以修改该数据的(可以改,但会警告) 父组件通过自定义属性传递数据给子组件,子组件使用props接收 如果想修改数据,子组件需要使用 ...

  7. [Linux] 关闭防火墙以及开放端口

    一. service iptables stop 临时关闭, chkconfig iptables off完全关闭 service iptables status状态, service iptable ...

  8. F1赛道 - Bahrain International Circuit | 巴林国际赛道

    刚看完F1巴林站比赛,23点到1点,整整两个小时,比赛相当精彩. 从排位赛结果看,法拉利似乎肯定包揽1-2名,可惜天公不作美,今晚风大.沙多:vettel自己失误,鼻翼掉了,还在被汉密尔顿超车的时候自 ...

  9. Vue route的使用

    1.route.js文件 import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = ne ...

  10. NodeJS基础(二)

    一.动态获取文件路径 var fs = require('fs') var path = require('path') // 一般在开发命令行工具的时候,这个设计是必须有用的一个特性 // npm ...