淑昊柠 发表于 2017-12-20 06:20:26

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

一、单机版的solr部署
  我的是在windows下安装的,linux同理
  1. 安装JDK8,并配置好环境变量,一般我们经常开发的电脑上应该都有JDk了,所以这一步可以忽略。
  2. 解压solr6.3
  3. 拷贝分词相关JAR包到你solr目录下的server\solr-webapp\webapp\WEB-INF\lib中,如:ansj-seg.jarnlp-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 ,把 solr\solr-6.3.0\server\solr-webapp下的 webapp 文件夹拷贝到tomcat 的webapps下,重命名为solr,也可以是其他名字;
  ( 注意,此处有的教程错误的将solr-webapp文件夹进行拷贝,这会导致solr启动不了)
  2. 拷贝solr-6.3.0\server\lib\ext 下的jar包到 tomcat\webapps\ 下solr 项目的WEB-INF\lib下;拷贝solr-6.3.0\dist 下solr-dataimporthandler jar 包,solr-dataimporthandler-extras-6.3.0.jar 包 到 tomcat\webapps\ 下solr 项目的WEB-INF\lib下
  3. 拷贝solr-6.3.0\server 下的solr文件夹到E盘或其它非中文目录下,重命名为solrhome;
  4. 修改tomcat\webapps\ solr(solr的项目名)\WEB-INF\web.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.0\server\resources下的log4j.properties到tomcat\webapps\solr\WEB-INF\classes,如果WEB-INF下没有classes文件那么就创建一个classes文件夹。
  6. 启动tomcat, 输入http://localhost:8983/solr/index.html (solr默认端口为8983)
  启动solr用cmd指令:

  看到如下界面:

  三、添加第一个core

[*]  进入到D:\solr\solr-6.3.0\server\solr下,新建一个文件夹:cores

  1 进入到server\solr\configsets\sample_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" positionIncrementGap="100">
  <analyzer type="index">
  <tokenizer isQuery="false" />
  </analyzer>
  <analyzer type="query">
  <tokenizer />
  </analyzer>
  </fieldType>
  该文章是原创,转载请注明来源:http://www.cnblogs.com/Lxiaojiang/p/6737323.html
页: [1]
查看完整版本: 单机版solr6.3和分布式solr6.3的安装部署