博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
solr5.2.1+tomcat8.0.23+zookeeper3.4.6
阅读量:6980 次
发布时间:2019-06-27

本文共 5453 字,大约阅读时间需要 18 分钟。

hot3.png

    

    提示:

    1.本文中用到的solr,tomcat,zk都是相对于此博客最新的版本,solr的每个大版本的变更都无法完美的向前兼容,所以这次的solr5和solr4也是一样。

   2.本次是在一台机器上部署3个zk,4个tomcat,所以端口会有相应的改变(俗称伪集群)

  • 首先下载相应的包zookeeper-3.5.0-alpha.tar.gz,apache-tomcat-8.0.23.tar.gz,solr-5.2.1.tgz
  • 创建目录结构,我是按照如下的目录结构组织,大家可以按照自己的喜好

        1.建立solrcloud文件夹

chensideMacBook-Pro:solrcloud chaney$ pwd/Users/chaney/solrcloud

        2.solrcloud下面目录结构为

chensideMacBook-Pro:solrcloud chaney$ lsservice1	service2	service3	tomcat1	tomcat2	tomcat3	tomcat4

        3.service中是zk的目录,三个目录结构一样,目录结构为

chensideMacBook-Pro:service1 chaney$ lsdata			datalog			logs			zookeeper-3.5.0-alpha

  • zk的相应操作

        1.进入zk的conf目录

/Users/chaney/solrcloud/service1/zookeeper-3.5.0-alpha/conf

        2.在data目录新建myid文件,并写入值

chensideMacBook-Pro:data chaney$ echo 1 > myid(每个zk数字不一样,根据自己喜好配置,在下一步配置zoo.cfg会用到)

          3.新建zoo.cfg并编辑此文件,文件内容如下(或者将zoo_sample.cfg改为zoo.cfg)

initLimit=5syncLimit=2clientPort=2181(由于在同一台机器上面部署所以每个service的clientPort不能一样) tickTime=2000dataDir=/Users/chaney/solrcloud/service1/datadataLogDir=/Users/chaney/solrcloud/service1/datalogserver.1=localhost:2888:3888(此处也一样,端口号不能一样)server.2=localhost:2889:3889 server.3=localhost:2890:3890

        4.分别启动三台zk

chensideMacBook-Pro:solrcloud chaney$ sh service2/zookeeper-3.5.0-alpha/bin/zkServer.sh start(启动) Using config: /Users/chaney/solrcloud/service2/zookeeper-3.5.0-alpha/bin/../conf/zoo.cfg-n Starting zookeeper ...STARTEDchensideMacBook-Pro:solrcloud chaney$ sh service2/zookeeper-3.5.0-alpha/bin/zkServer.sh status(查看状态) JMX enabled by defaultUsing config: /Users/chaney/solrcloud/service2/zookeeper-3.5.0-alpha/bin/../conf/zoo.cfgClient port found: 2182(跟service1不一样) Mode: leader(说明service2是leader)

  • tomcat相应的操作

    1.解压solr(任意目录)

    2.将解压后的solr.war拷贝到tomcat的webapps下面

chensideMacBook-Pro:webapps chaney$ cp /Users/chaney/solr/server/webapps/solr.war /Users/chaney/solrcloud/tomcat1/webapps

    3.解压solr.war

    4.将solr中的jar包拷贝到tomcat下面

chensideMacBook-Pro:WEB-INF chaney$ cp -r /Users/chaney/solr/server/lib/ext/* /Users/chaney/solrcloud/tomcat1/webapps/solr/WEB-INF/lib/
   
  5.编辑tomcat中solr项目的web.xml文件
  找到
env-entry节点
,编辑为以下内容

chensideMacBook-Pro:WEB-INF chaney$ pwd/Users/chaney/solrcloud/tomcat1/webapps/solr/WEB-INFchensideMacBook-Pro:WEB-INF chaney$ vi web.xml
solr/home
/Users/chaney/solr_home
(solr的用户目录,用于存储索引等,接下来会介绍,每个tomcat需要不一样的路径) 
java.lang.String
   
6.将solr解压中的log4j文件拷贝到tomcat中(solr5将日志抽离了出来,上面的第4步也包含log的一些jar)

chensideMacBook-Pro:classes chaney$ cp /Users/chaney/solr/server/resources/log4j.properties /Users/chaney/solrcloud/tomcat1/webapps/solr/WEB-INF/classes/(classes文件夹需要新建)

  • solr_home的操作

    1.针对四个tomcat(每一个tomcat跑一个solr)新建四个solr_home

drwxr-xr-x   9 chaney  staff     306  7 29 17:27 solr_home/drwxr-xr-x   8 chaney  staff     272  7 29 17:27 solr_home2/drwxr-xr-x   9 chaney  staff     306  7 29 17:27 solr_home3/drwxr-xr-x   8 chaney  staff     272  7 29 17:27 solr_home4/
     2.将解压后的solr中文件拷贝到solr_home

cp -r /Users/chaney/solr/server/solr/* /Users/chaney/solr_home/

    拷贝后的内容如下:

chensideMacBook-Pro:solr_home2 chaney$ lltotal 24drwxr-xr-x   8 chaney  staff   272  7 29 17:27 ./drwxr-xr-x@ 47 chaney  staff  1598  7 30 11:20 ../-rw-r--r--@  1 chaney  staff  3037  7 29 13:22 README.txtdrwxr-xr-x@  5 chaney  staff   170  7 29 13:22 configsets/-rw-r--r--@  1 chaney  staff  1887  7 29 13:26 solr.xml-rw-r--r--@  1 chaney  staff   501  7 29 13:22 zoo.cfg
   
3.修改solr.xml

chensideMacBook-Pro:solr_home chaney$ pwd/Users/chaney/solr_homechensideMacBook-Pro:solr_home chaney$ vi solr.xml
   
改成如下内容:
${host:}
${jetty.port:9091}
(修改成你当前的tomcat的运行端口,每个solr_home对应的tomcat端口不一样,当然是在伪集群的情况下,如果你是多台机器的话请忽略) 
${hostContext:solr}
${genericCoreNodeNames:true}
${zkClientTimeout:30000}
${distribUpdateSoTimeout:600000}
${distribUpdateConnTimeout:60000}
${socketTimeout:600000}
${connTimeout:60000}

    4.新建配置文件目录(用于zk的集群配置管理),我是直接在solr_home中新建一个collection1文件夹,如下

chensideMacBook-Pro:collection1 chaney$ pwd/Users/chaney/solr_home/collection1(此文件夹只需要建一个,不需要在每个机器上建,他会通过zk分发到各个机器)
     5.拷贝solr解压后的配置文件到collection1中

chensideMacBook-Pro:collection1 chaney$ cp -r /Users/chaney/solr/server/solr/configsets/basic_configs/* /Users/chaney/solr_home/collection1/

    拷贝后的内容如下:

chensideMacBook-Pro:collection1 chaney$ lsconfchensideMacBook-Pro:collection1 chaney$ cd conf/chensideMacBook-Pro:conf chaney$ ls_rest_managed.json	lang			schema.xml		stopwords.txtcurrency.xml		protwords.txt		solrconfig.xml		synonyms.txt
 
  6.修改tomcat的文件catalina.sh文件

chensideMacBook-Pro:bin chaney$ pwd/Users/chaney/solrcloud/tomcat1/binchensideMacBook-Pro:bin chaney$ vi catalina.sh
   
 加入如下内容:

JAVA_OPTS="$JAVA_OPTS -DzkHost=localhost:2181,localhost:2182,localhost:2183 -Dbootstrap_confdir=/Users/chaney/solr_home/collection1/conf -Dcollection.configName=myconf
    在其他的tomcat中只需要加入以下内容:

JAVA_OPTS="$JAVA_OPTS -DzkHost=localhost:2181,localhost:2182,localhost:2183

  • 最后的步骤

    1.依次启动zk和tomcat,开始启动zk的时候会有各种报错,没关系,因为zk是2n+1的机制,当你依次启动好了就可以了。

    2.访问http://localhost:9091/solr/,按照正常情况来说应该出现以下的界面    3.创建一个solr的collection

http://localhost:9091/solr/admin/collections?action=CREATE&name=eSearch&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=myconf

    按照正常情况应该出现以下界面

        cloud中tree目录如下图

        4.删除一个collection
http://localhost:9092/solr/admin/collections?action=DELETE&name=eSearch

转载于:https://my.oschina.net/u/942651/blog/485783

你可能感兴趣的文章
record-09 ATM 过程思想 综合练习
查看>>
北京中天荣泰视觉检测 仿真
查看>>
C++复制控制:拷贝构造函数
查看>>
郭博演示git
查看>>
共享程序集和强命名程序集(3):强命名程序集的一些作用
查看>>
智能POS常见问题整理
查看>>
新浪微博推广网站的一些实践体会
查看>>
Deep Learning
查看>>
How Tomcat works — 四、tomcat启动(3)
查看>>
Java 集合 — HashMap
查看>>
[python]目录及文件操作
查看>>
Linux系统之路——如何在CentOS7.2安装MySQL
查看>>
支付宝接口使用文档说明 支付宝异步通知
查看>>
百度地图设置div样式宽高为百分比不显示地图
查看>>
辣鸡(ljh) NOIP模拟赛 模拟 平面几何 数论 化学相关(雾)
查看>>
Spring《五》集合的注入方式
查看>>
centos7 install 安装mysql
查看>>
Odoo 学习 【二】Environment 概览
查看>>
WPF及Silverlight中将DataGrid数据导出
查看>>
Poj1426
查看>>