• 单机版solr6.3和分布式solr6.3的安装部署


    一、单机版的solr部署

    我的是在windows下安装的,linux同理

    1. 安装JDK8,并配置好环境变量,一般我们经常开发的电脑上应该都有JDk了,所以这一步可以忽略。

    2. 解压solr6.3

    3. 拷贝分词相关JAR包到你solr目录下的serversolr-webappwebappWEB-INFlib中,如:ansj-seg.jar  nlp-lang.jar等

    4.在文件夹中创建solr core:

    在solr目录下的server/solr下创建一个文件夹collection,一般是复制已有的collection,然后编辑collection文件夹下conf配置文件中的schema.xml,里面就是你的表结构(包括:字段,分词包引入,字段类型,拷贝字段,动态字段等)

    因为solr版本是6.3,因此不需要用tomcat建立服务器。

    5.开启solr:

    在cmd命令下输入

    cd sorl/solr-6.3.0/bin/solr start -f

    6.在浏览器中输入solr地址,在界面上创建core:

    如:192.168.1.100:8983/solr/admin

    打开后显示solr 界面:

    在solr界面中选中Core Admin 然后点击Add Core 

    输入:

    core的名字 (collection)

    data的路径(默认在server/solr/collection/)

    配置文件schema的名字(默认为schema.xml 或者schema)

    注意:如果有managed-schema文件,应该将他重命名为schema.xml,当创建好core后系统会生成一个managed-schema和schema.xml.bak文件

    solr配置文件的名字solrConfig.xml

     填写完毕重启solr即可


    其它命令:
    $ bin/solr start -f 前台运行
    $ bin/solr start -p 8984 指定端口 默认8983
    $ bin/solr stop -p 8983 关闭solr,如果不指定端口,可用-all关闭单机上所有实例
    $ bin/solr status 当前服务器上solr运行状态

    一、 单机版tomcat下安装solr

    一、 环境

    solr 6.3.0  下载地址 http://archive.apache.org/dist/lucene/solr/6.3.0/

    jdk 1.7,1.8 

    tomca,7,8

    二、 安装solr到tomcat

    1.  解压solr ,把 solrsolr-6.3.0serversolr-webapp下的 webapp 文件夹拷贝到tomcat 的webapps下,重命名为solr,也可以是其他名字;

      ( 注意,此处有的教程错误的将solr-webapp文件夹进行拷贝,这会导致solr启动不了)

    2. 拷贝solr-6.3.0serverlibext 下的jar包到 tomcatwebapps 下solr 项目的WEB-INFlib下;拷贝solr-6.3.0dist 下solr-dataimporthandler jar 包,solr-dataimporthandler-extras-6.3.0.jar 包 到 tomcatwebapps 下solr 项目的WEB-INFlib下

    3. 拷贝solr-6.3.0server 下的solr文件夹到E盘或其它非中文目录下,重命名为solrhome;

    4. 修改tomcatwebapps solr(solr的项目名)WEB-INFweb.xml, 找到如下代码,去掉注释,/put/your/solr/home/here 改为你自己的solrhome的路径,         如:E:/solr-home

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>E:/solr-home</env-entry-value>
           <env-entry-type>Java.lang.String</env-entry-type>
        </env-entry>

    5. 拷贝solr-6.3.0server esources下的log4j.properties到tomcatwebappssolrWEB-INFclasses,如果WEB-INF下没有classes文件那么就创建一个classes文件夹。

    6. 启动tomcat, 输入http://localhost:8983/solr/index.html (solr默认端口为8983)

    启动solr用cmd指令:

    看到如下界面:

    三、添加第一个core

    • 进入到D:solrsolr-6.3.0serversolr下,新建一个文件夹:cores  
      这里写图片描述
      1 进入到serversolrconfigsetssample_techproducts_configs 文件夹,将此文件夹下的conf 目录拷贝到刚刚建立的core的文件夹下,即我的cores文件夹下

    • 2  在浏览器中输入http://localhost:8983/solr/index.html,进入solr管理页面,点击左侧的add core,在name 和instanceDir下都输入cores(在步骤1中取得名称) ,点击add core即可 
      这里写图片描述

          -此时再输入http://localhost:8983/solr/index.html, 在左侧即可看见刚刚建立的core 

    • 然后在进入到cores目录,此时会发现多了一个data文件夹和一个properties文件,如图:

    data目录,用于存储索引文件,core.properties文件用于存放core的配置信息

    到此solr的搭建,以及第一个core的就到此结束了

    二、分布式solr部署

    1.部署 zookeeper

    1)下载zookeeper3.4.6,分别在三台机器上(192.168.2.124,192.168.2.125,192.168.2.126)解压,路径为: /home/zookeeper-3.4.6
    2)配置 zookeeper/conf/zoo.cfg,如:
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/zooData
    #log目录,建议和data目录分开存储
    dataLogDir=/home/zooData  

    #注:这里的home一般是linux下的home,我们也可以选其他文件路径如:/data
    # the port at which the clients will connect
    clientPort=2181
    server.1=192.168.2.124:2888:3888
    server.2=192.168.2.125:2888:3888
    server.3=192.168.2.126:2888:3888
    注:上面三个是集群服务器的地址
    3)在所有zookeepr服务器dataDir目录增加myid文件,写对应服务器编号1、2...


    2 部署solrCloud

    分别在三台机器上(192.168.2.124,192.168.2.125,192.168.2.126)解压,路径为: /home/solr/solr-6.3.0
    1)修改 bin/solr.in.sh ,主要修改以下配置:
    ZK_HOST="192.168.2.124:2181,192.168.2.125:2181,192.168.2.126:2181"
    SOLR_HOST="192.168.2.126" #不修改默认为localhost,会导致其它节点无法启动
    SOLR_TIMEZONE="Asia/Shanghai"
    SOLR_HOME=/home/solr/solrData


    2)上传solr.xml到zookeeper
    ./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd putfile /solr.xml /home/solr/solrData/solr.xml


    3) bootstrap solrCloud
    ./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd bootstrap -solrhome /home/solr/solrData


    3.集群启动,创建collection,修改配置,
    1)、ZooKeeper的集群启动(124,125,126,同时启动)
    /home/zookeeper-3.4.6/bin/zkServer.sh start


    2)、solr启动
    /home/solr/solr-6.3.0/bin/solr start -force
    /home/solr/solr-6.3.0/bin/solr start status(查看启动状态)
    4、修改schema文件
    1).添加字段,修改managed-schema文件(两种方式:1.直接在linux vim下编辑;2.在本机编辑好后传输到对应位置如:/home/collections/collection1/conf/managed-schema)

    注:如果需要新的解析包不仅需要改字段,同时要引入solrConfig.xml中的lib
    solrConfig.xml中
    <!-- 启用icu分析包
    <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib/" regex=".*.jar" />
    -->
    2).上传config,linux下执行如下命令:
    /home/solr/solr-6.3.0/server/scripts/cloud-scripts/zkcli.sh --zkhost 127.0.0.1:2181 -cmd upconfig -confname collectionY -confdir /home/collections/collectionY_configs/conf
    注:collectionY指的是solr中collection的configName;
    collectionY_configs指得是指定的配置文件所在文件夹,里面的schema.xml是字段和类型配置文件


    5.collection的创建,在浏览器中执行
    http://192.168.2.124:8983/solr/admin/collections?action=CREATE&name=collection1&collection.configName=collectionY&numShards=3&replicationFactor=1&createNodeSet=192.168.2.124:8983_solr,192.168.2.125:8983_solr,192.168.2.126:8983_solr&maxShardsPerNode=2
    注:collection1指的是solr中创建的collection名称;collectionY指的是solr中collection1的configName;


    6.更新collection
    http://192.168.2.124:8983/solr/admin/collections?action=RELOAD&name=collection1


    7.删除collection
    http://192.168.2.124:8983/solr/admin/collections?action=DELETE&name=collection1


    8 配置中文分词插件(优先选用ansj)
    1 ansj插件
    1)安装插件
    在每台solr服务器上,将ansj_seg-5.1.0.jar nlp-lang-1.7.2.jar nutz-1.r.58.jar ansj-seg-solr6.jar拷贝到server/solrwebapp/webapp/WEB-INF/lib
    2)schema配置
    <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="*.*.*.solr.AnsjTokenizerFactory" isQuery="false" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="*.*.*..solr.AnsjTokenizerFactory" />
      </analyzer>
    </fieldType>

    该文章是原创,转载请注明来源:http://www.cnblogs.com/Lxiaojiang/p/6737323.html

  • 相关阅读:
    ThinkPHP3.2 分组分模块
    PHP 视频
    微信分享SDK
    【mysql】一维数据TopN的趋势图
    【日期-时间】Java中Calendar的使用
    【java消息格式化】使用MessageFormat进行消息格式化
    【Java数据格式化】使用DecimalFormat 对Float和double进行格式化
    【xargs使用】查询包含某字符串的所有文件
    【SVN】自动备份SVN仓库
    【Oozie】安装配置Oozie
  • 原文地址:https://www.cnblogs.com/Lxiaojiang/p/6737323.html
Copyright © 2020-2023  润新知