win7 下搭建tomcat7+solr5.3.1+zookeeper3.4.6 单机版集群

在前一篇中,已经分享了 solr 与tomcat 的集成, 下面继续分享,在单机环境下搭建集群,由于前一篇 solr 的一些东西都是放在tomcat 中,这篇文章将一些东西与tomcat 分离开来,便于维护

一:环境准备

1:tomcat7

2:solr5.3.1

3:zookeeper3.4.6

二:环境搭建
One: tomcat 配置(路径:D:\solr\apache-tomcat-7.0.40 - 9091)

  1:解压tomcat,并重命名为apache-tomcat-7.0.40 - 9091, 同时在复制两份,分别命名为:
    apache-tomcat-7.0.40 - 9092  apache-tomcat-7.0.40 - 9093

 2: 修改tomcat 启动端口号,具体怎么修改 可以百度,只要修改 server.xml  3处地方即可

 3: 同时启动tomcat 看看是否都配置成功

Two:solr 配置(solr 解压路径:D:\solr\solr-5.3.1)

   1:新建solr_home_1 文件夹(路径:D:\solr\solr_home_1),并在此目录下创建 home 和server 文件夹

   2:把D:\solr\solr-5.3.1\example\example-DIH\solr 下的 solr文件夹和solr.xml 复制到D:\solr\solr_home_1\home 下面去

  3: 把D:\solr\solr-5.3.1\server\solr-webapp下的webapp目录复制到D:\solr\solr_home_1\server 文件夹下,并将webapp 更名为solr

  4:修改D:\solr\solr_home_1\server\solr\WEB-INF\web.xml 新增solr/home 的值(大概在47行下新增)
     <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:/solr/solr_home_1/home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>


5:在D:\solr\solr_home_1\server\solr\WEB-INF 目录下创建classes 文件夹 ,把D:\solr\solr-5.3.1\example\resources\log4j.properites文件复制到classes目录下。

6:修改D:\solr\apache-tomcat-7.0.40 - 9091\conf\server.xml 指向solr服务路径。  在host 节点下新增(这里不知道的可以百度,tomcat 设置虚拟目录)
   <Context path="/solr" docBase="D:/solr/solr_home_1/server/solr"> 
   </Context>
Paste_Image.png
 7:将D:\solr\solr-5.3.1\dist 和D:\solr\solr-5.3.1\server\lib\ext 下的jar包 复制到 D:\solr\solr_home_1\server\solr\WEB-INF\lib 下

8: 启动tomcat 访问http://localhost:9091/solr/ 查看是否成功

Three:配置多tomcat+solr

  1: 将sorl_home_1 同样复制2份,分别命名为:sorl_home_2  ;sorl_home_3

 2:修改D:\solr\solr_home_2\server\solr\WEB-INF\web.xml 新增solr/home 的值(大概在47行下新增)
     <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:/solr/solr_home_2/home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

3:sorl_home_3 中的也同样修改一下


4:修改 apache-tomcat-7.0.40 - 9092 和 apache-tomcat-7.0.40 - 9093 下的 server.xml (对应上面的第6步,增加Context 节点,)
如:
<!--apache-tomcat-7.0.40 - 9092-->
<Context path="/solr" docBase="D:/solr/solr_home_2/server/solr"> 
</Context>
<!--apache-tomcat-7.0.40 - 9093-->
<Context path="/solr" docBase="D:/solr/solr_home_3/server/solr"> 
</Context>



5: 验证是否成功, 同时启动3个tomcat, ,是否能访问到solr
      http://localhost:9091/solr/
      http://localhost:9092/solr/
      http://localhost:9093/solr/

三: 配置 zookeeper 集群

1: 解压zookeeper3.4.6 到D:\solr(解压后路径:D:\solr\zookeeper3.4.6)

2:复制刚刚解压的zookeeper3.4.6 更名为zookeeper-1  并在目录下新建 data 跟datalog 文件夹(D:\solr\zookeeper-1\data 跟D:\solr\zookeeper-1\datalog)

3:把D:\solr\zookeeper-1\conf\zoo_sample.cfg 修改为zoo.cfg ,并写入配置参数
dataDir=D:/solr/zookeeper-1/data
dataLogDir=D:/solr/zookeeper-1/logs
clientPort=2181
server.1=127.0.0.1:2788:3788
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2988:3988
如下图:
Paste_Image.png
 4: 在D:/solr/zookeeper-1/data 目录下新建文件 myid ,不需要后缀名 ,并在文件中写入数字 1保存
Paste_Image.png
5:把zookeeper-1 文件同样复制两份,更名为:zookeeper-2;zookeeper-3 ,然后修改 下面的zoo.cfg 文件,跟修改1 的一样

dataDir=D:/solr/zookeeper-2/data
dataLogDir=D:/solr/zookeeper-2/logs
clientPort=2281
server.1=127.0.0.1:2788:3788
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2988:3988

dataDir=D:/solr/zookeeper-3/data
dataLogDir=D:/solr/zookeeper-3/logs
clientPort=2381
server.1=127.0.0.1:2788:3788
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2988:3988


并且修改每个data 下的myid 文件的内容, zookeeper-1是1, zookeeper-2是2,zookeeper-3是3 
6:启动 三个zookeeper ,可以直接点击D:\solr\zookeeper-1\bin\zkServer.cmd 文件启动,也可以通过cmd 去启动;

注意, 启动第一台的时候会有异常,不用去管,后面都启动后就好了,下面是第一台启动异常图:

Paste_Image.png

四:搭建tomcat+solr5.3.1+zookeeper 集群

1: 上面 tomcat+solr 也能正常访问了, zookeeper 也可以正常启动了,下面就要把他们给关联起来 , solrCloud 的所有配置都需要zookeeper 的统一管理

2: 将需要的配置库几种放到一个目录中去

   创建 cloud_conf 文件夹(目录:D:\solr\cloud_conf) ,将
D:\solr\solr-5.3.1\server\solr\configsets\sample_techproducts_configs\conf 下的所有文件复制到 D:\solr\cloud_conf 下面去

3:配置zookeeper 路径

在D:\solr\apache-tomcat-7.0.40 - 9091\bin\catalina.bat文件中 ,添加下面代码

set JAVA_OPTS=-Dbootstrap_confdir=D:/solr/cloud_conf -Dcollection.configName=myconf -DzkHost=127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 -DnumShards=3

注意: 这里是没有引号的,有的文章上写的有引号,坑了我好久没成功

配置参数解释:


-DzkHost是用来指定zookeeper服务器的ip和端口。


-Dnumshareds=3 用来指定当前集群中分片数为3


-Dcollection.configName 是在指定你的配置文件上传到zookeeper后的名字,省略这个参数将导致配置名字为默认的“configuration1”


-Dbootstrap_confdir :zooKeeper需要准备一份集群配置的副本,所以这个参数是告诉SolrCloud这些 配置是放在哪里。同时作为整个集群共用的配置文件。可以看作是第一份solr配置。因为后续我们可以通过上传,来实现多collection。


-----其余tomcat  下的catalina.bat 设置:
  set JAVA_OPTS="-DzkHost=127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381"
如下图:
Paste_Image.png
4:修改D:\solr\solr_home_1\home,D:\solr\solr_home_2\home,D:\solr\solr_home_3\home下的solr.xml 新增如下代码

   <solrcloud>
    <str name="host">${host:}</str>
<!--设置成对应的tomcat 端口号-->
    <int name="hostPort">9091</int>
    <str name="hostContext">${hostContext:solr}</str>

    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
    <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>

  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:600000}</int>
    <int name="connTimeout">${connTimeout:60000}</int>
  </shardHandlerFactory>
Paste_Image.png

5:重启tomcat ,访问http://localhost:9091/solr/ ,能正常访问, 且菜单中出现cloud 选项,说明配置成功。

Paste_Image.png

6:接下来分别从Core Admin创建一个Core ,(当collection 名称一样的core ,索引是通用的)

Paste_Image.png

五: zookeeper 常用命令

  1:通过 rest 接口 来创建 collection
     localhost:9091/solr/admin/collections?action=CREATE&name=mycollection1&numShards=3&replicationFactor=1



2:上传另一份collection配置文件  ,在window cmd模式:

java -classpath .;D:/solr/solr_home_1/server/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 -confdir D:/solr/cloud_conf -confname mycollection2 

命令说明:


上传(upconfig) 到指定的服务(-zkhost 27.0.0.1:2181, 127.0.0.1:2281, 127.0.0.1:2381) 配置文件路径(-confdir):D:/solr/cloud_conf。 配置名称(-confname)为: mycollection2 

注: 要添加D:/solr/solr_home_1/server/solr/WEB-INF/lib/*  cmd才能识别 org.apache.solr.cloud.ZkCLI 的命令。

--成功以后 ,强刷页面, 会出现如图:
Paste_Image.png
 3: 删除 collection 
   java -classpath .;D:/solr/solr_home_1/server/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd clear /configs/mycollection1 -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381

删除以后,刚刚创建的collection 没有了,如图所示
Paste_Image.png
 3: 删除 所有 collection 
   java -classpath .;D:/solr/solr_home_1/server/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd clear /configs -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容