文档章节

solrcloud+tomcat+zookeeper环境搭建

stackwill
 stackwill
发布于 2014/11/06 13:47
字数 974
阅读 393
收藏 2

环境说明

操作系统:Ubuntu

Solrsolr-4.7.2.tgz

Tomcatapache-tomcat-7.0.50.tar.gz

Zookeeperzookeeper-3.4.6.tar.gz  

三台机器ip192.168.239.135

                            192.168.239.136

                            192.168.239.137

3tomcat3zookeeper

目录结构

         /home/sun/solrcloud

         --tomcat  //tomcat目录

         --solrhome  //solrhome

         --lib

                   --solr-lib  //zkcli 需要的jar

                   --config   //solr配置文件

         --zookeeper-3.4.6 //zookeeper目录

         --solr-4.7.2   //solr解压目录

         --data

                   --zookeeper

                            --data       //zk 数据存放目录

操作步骤

1. 配置etc/hosts,如果都用下面都用ip,可以不配置

2. zookeeper-3.4.6.tar.gz, apache-tomcat-7.0.50.tar.gz, solr-4.7.2.tgz,解压到/home/sun/solrcloud,解压后apache-tomcat-7.0.50被重命名为tomcat

3. Zookeeper配置   

1)修改配置文件

cp /home/sun/solrcloud/zookeeper-3.4.6/conf/zoo_sample.cfg zoo.cfg


vi /home/sun/solrcloud/zookeeper-3.4.6/conf/zoo.cfg



The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/sun/solrcloud/data/zookeeper/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

server.1=192.168.239.135:2888:3888
server.2=192.168.239.136:2888:3888
server.3=192.168.239.137:2888:3888



2)同步zookeeper-3.4.6到136,137


3) 每个zookeeper创建id 

     135cat 1>/home/sun/solrcloud/data/zookeeper/data/myid

136:  cat 2>/home/sun/solrcloud/data/zookeeper/data/myid

137:  cat 3>/home/sun/solrcloud/data/zookeeper/data/myid


4)启动zookeeper

    zookeeper-3.4.6/bin/zkServer.sh start

5)验证zookeeper状态

    zookeeper-3.4.6/bin/zkServer.sh status

4. Solr配置


1)将solr部署到tomcat

cp /home/sun/solrcloud/solr-4.7.2/example/webapps/solr.war /home/sun/solrcloud/tomcat/webapps/solr/
jar –xvf /home/sun/solrcloud/tomcat/webapps/solr.war
rm –f /home/sun/solrcloud/tomcat/webapps/solr.war
cp /home/sun/solrcloud/solr-4.7.2/example/lib/ext/* /home/sun/solrcloud/tomcat/webapps/solr/WEB-INF/lib/
cp /home/sun/solrcloud/solr-4.7.2/example/resources/log4j.properties /home/sun/solrcloud/tomcat/lib/

2)设置solrcloud配置文件,ZkCLI使用jar包

cp /home/sun/solrcloud/tomcat/webapps/solr/WEB-INF/lib/* /home/sun/solrcloud/lib/solr-lib/
cp -r /home/sun/solrcloud/solr-4.7.2/example/solr/collections/conf /home/sun/solrcloud/lib/config
3) 通过 bootstrap 设置 solrhome
java -classpath .:/home/sun/solrcloud/lib/solr-lib/* org.apache.solr.cloud.ZkCLI -zkhost 192.168.239.135:2181,192.168.239.136:2181,192.168.239.137:2181 -cmd bootstrap -solrhome /home/sun/solrcloud/solrhome

4)上传配置文件

java -classpath .:/home/sun/solrcloud/lib/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 192.168.239.135:2181,192.168.239.136:2181,192.168.239.137:2181 -confdir /home/sun/solrcloud/lib/config/ -confname myconf



5)
链接 collection 和配置文件(加上这不,最后报错,不知为啥)
java -classpath .:/home/sun/solrcloud/lib/solr-lib/* org.apache.solr.cloud.ZkCLI -zkhost 192.168.239.135:2181,192.168.239.136:2181,192.168.239.137:2181 -cmd linkconfig -collection mycollection -confname myconf



6)tomcat设置

catalina.sh添加这句:

JAVA_OPTS="-Dsolr.solr.home=/home/sun/solrcloud/solrhome -DzkHost=192.168.239.135:2181,192.168.239.136:2181,192.168.239.137:2181"

7) solrhome 新建文件 solr.xml

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" sharedLib="lib">
   <cores adminPath="/admin/cores" zkClientTimeout="20000" hostPort="8080" hostContext="solr">
   </cores>
</solr>



8) 新建文件 /home/sun/solrcloud/tomcat/conf/Catalina/localhost/solr.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/home/sun/solrcloud/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/home/sun/solrcloud/solrhome" override="true"/>
</Context>



9)将tomcat,solrhome同步到136,137

10)启动tomcat

5.创建collection

        1)新建一个三个shardcollectionreplicationFactor1,即每个shard一个副本

curl 'http://192.168.239.135:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=3&replicationFactor=1'





 2)手动为每个shard建立2个副本

     shard1在135,136上建立副本

curl 'http://192.168.239.135:8080/solr/admin/cores?action=CREATE&collection=mycollection&name=mycollection_shard1_replication2&shard=shard1'
curl 'http://192.168.239.136:8080/solr/admin/cores?action=CREATE&collection=mycollection&name=mycollection_shard1_replication3&shard=shard1'




    shard2,shard3类似

    最后结果如图:

    



6.创建过程遇到的错误

1)  curl 'http://192.168.239.135:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=5&replicationFactor=1'

错误信息:

org.apache.solr.common.SolrException:

Cannot create collection mycollection. Value of maxShardsPerNode is 1, and the number of live nodes is 3. This allows a maximum of 3 to be created.

Value of numShards is 5 and value of replicationFactor is 1. This requires 5 shards to be created (higher than the allowed number)

原因:当前节点数为3,每个节点上默认最大shard数为1,可以再链接中加入参数,maxShardsPerNode指定每个节点上的shard数量。

2)新建collection报错

错误信息:

解决方法:不执行linkconfig操作。

© 著作权归作者所有

共有 人打赏支持
stackwill
粉丝 3
博文 3
码字总数 1607
作品 0
浦东
程序员
私信 提问
solrCloud+tomcat+zookeeper配置

solrCloud+tomcat+zookeeper配置 2015年1月刚入职新公司时,项目中有用到了solr,但只搞了一个商品标签搜索,领导让我研究一下,把商品的搜索和标签搜索一起放到solr里,放两个核心,当时放两...

lvzi98
2017/11/02
0
2
solrCloud+tomcat+zookeeper集群配置

http://www.tuicool.com/articles/NNjAFr 概述: SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。 它有几个特色功能: 1)集中式的...

毛朱
2015/05/06
0
2
为什么用Docker,Docker究竟有什么用呢

近年来,Docker越来越火爆,一大堆新概念,轻量级虚拟机,集装箱等概念,眼光缭乱。 慢慢也尝试用vagrant+docker搭建开发环境 和 服务器也用docker搭建测试环境,再逐步正式环境也用上docke...

小和
2016/11/03
73
2
【转帖】测试环境的搭建和维护

只要做过一次测试,就一定知道测试环境,但测试环境是如何搭建和维护的呢?就不一定所有人都明白了。 测试环境的搭建,每个公司都有不一样的流程和方法。一种是运维或者开发负责搭建和维护,...

12332111ss
2016/04/28
252
0
centos7下stf安装介绍

介绍 stf 全称 Smartphone Test Farm ,一款WEB 端移动设备批量管理工具(Remote control all your Smartphone devices),目前仅支持android设备,仅支持在mac和linux上搭建,暂时没在论坛、...

迈阿密小白
2017/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
1
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
2
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
3
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
3
0
深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部