`

solrcloud 配置与搭建过程

    博客分类:
  • solr
阅读更多

本文的配置示例采用单台zookeeper与两台solr实例(即两个tomcat启动),collection分为两个shard(分片),每个shard两个replia(复本),本例使用版本为solr 4.4, zookeeper 3.4.6。

实际生产不会采用单台zookeeper,读者可自行扩展。

     本文链接地址:http://quentinXXZ.iteye.com/blog/2118447

 

1、    zookeeper配置 

       这里使用zookeeper单机, ip为172.16.31.184。在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=/data/zookeeper
# the port at which the clients will connect
clientPort=2181

 

 

 

2、zookeeper服务启动

      bin 目录下 执行zkServer.cmd/zkServer.sh

 

3、  上传solr配置

      在solr机器上,新建目录,用于存放conf文件

mkdir /home/solr/solrhome/zkConf

       将solr 中的相关配置文件复制进去

cp -r /home/solr/solrhome/collection1/conf/* /home/solr/solrhome/zkConf

      调用上传命令, 这里使用的solr自身提供的jar包,本例将相应的solr 的相关jar放在tomcat 的lib中,大家自行替换目录,利用tomcat启动solr的配置不在此讲解。

 

java -classpath .:/home/solr/tomcat-6.0.41/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 172.16.31.184:2181 -confdir /home/solr/solrhome/zkConf -confname myconf
       可以利用zookeeper/bin 目录下的zkCli命令验证上传是否成功,利用如下命令连接zookeeper
zkCli.sh -server 127.0.0.1:2181

       查看配置结点

 ls /configs/myconf             

      如上所示所有配置文件成功上传

 

4、将上传到ZooKeeper中配置文件与Collection相关联

 java -classpath .:/home/solr/tomcat-6.0.41/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig --collection mycollection --confname myconf --zkhost 172.16.31.184:2181  

      这里将myconf与mycollection相关联。 myconf为zookeeper配置结点,mycolletion为即将建立的solrcloud的collection(集合)名。

 

5、  启动solr

大家应该在之前配置standalone与master/salve形式的solr时,注意到了solr example示例中solr.xml文件中的<solrcloud>配置结点,其实在上述两种形式下,该配置结点并不会生效。《Apache Solr Reference Guide》中的描述如下:

This element defines several parameters that relate so SolrCloud. This section is ignored unless the solr instance is started with either  -DzkRun or –DzkHost

 可见只有指定-DzkRun 或 –DzkHost参数时,才能使solrCloud生效。

 修改solr.xml文件如下:

 

<solr>
  <solrcloud>
    <str name="zkHost">172.16.31.184:2181</str>
    <str name="host">${host:}</str>
    <int name="hostPort">8080</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>
 
  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>
</solr>

      其中8080为tomcat的端口

      接着,在Tomcat的启动脚本bin/catalina.sh中,增加如下配置

 

JAVA_OPTS='-DzkRun'

 

      当然有些人将zkHost,zkClientTimeout等上述配置也放到JAVA_OPTS中去,也是可以的。但是我还是觉得着尽量这些配置放到solr专属的配置文件中更好。

     接下来,启动solr所在的tomcat,不用我说了吧。

     验证: 进入zkCli命令,查看live_nodes结点

ls /live_nodes

     返回结果如下

      如上所示,zookeeper已经检测到了该solr服务了。

 

6、 replia与shard配置 

      solr 是使用restful,基于restful的,没想到replia与shard配置也是都通过http来的,反正我没找到还可文件或者web界面配置的方式。

      访问solr的地址,执行solrcloud的CREATE命令:

http://199.155.122.32:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=2&replicationFactor=2&maxShardsPerNode=3

      结果提示创建不成功 This requires 4 shards to be created (higher than the allowed number)

     说明我们的solr运行实例还是不够。

       我采用同一台机器上开始两个tomcat的方式模拟两个solr运行实例,读者条件允许的话,可以使用多台机器。在同一台solr服务器上,另外复制一个tomcat 端口为8081,并复制另一个solrhome为,我保存为solrhome1,

<solr>
  <solrcloud>
    <str name="zkHost">172.16.31.184:2181</str>
    <str name="host">${host:}</str>
    <int name="hostPort">8081</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>
  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>
</solr>

     当然要记得将webapps/solr/WEB_INF/web.xml的solrhome地址修改

     再次访问地址

http://199.155.122.32:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=2&replicationFactor=2&maxShardsPerNode=3

     返回结果如下:


     在Solr web界面上查看cloud的graph结果如下:

 

 

 

    至止solrcloud搭建成功,不枉我费了近一下午。

  • 大小: 14.7 KB
  • 大小: 4.8 KB
  • 大小: 41.3 KB
  • 大小: 8.4 KB
  • 大小: 3 KB
分享到:
评论

相关推荐

    solrcloud windows 环境搭建

    SolrCloud配置与部署 - **SolrCloud环境准备**:下载Solr并解压至指定目录。对于SolrCloud模式,需要在Solr中配置Zookeeper地址信息。这通常通过修改`solr.xml`文件来实现。 - **创建Solr Core**:使用Solr的管理...

    solrcloud高可用集群搭建

    整个过程涵盖了操作系统的选择与配置、JDK 安装、Zookeeper 集群配置以及 Solr 集群的具体部署。这些步骤对于搭建一个稳定可靠的 SolrCloud 集群至关重要。此外,还需要注意的是,在生产环境中应考虑更多的容错机制...

    SolrCloud集群搭建和使用步骤

    3. **SolrCloud的搭建与使用** - **集群规划**:确定集群规模,包括Solr节点的数量和硬件配置,以及ZooKeeper集群的大小。 - **安装与配置**:分别安装Solr和ZooKeeper,配置SolrCloud模式,设置ZooKeeper的连接...

    solrcloud 高可用集群搭建

    在搭建过程中,我们需要遵循一定的步骤和配置,以下是一些关键的知识点: 1. **SolrCloud的概念**: SolrCloud是Apache Solr的一个特性,自4.0版本开始引入。它提供了分布式搜索和处理的能力,支持数据的分片、...

    solrcloud.rar

    在搭建SolrCloud的过程中,首先需要准备Zookeeper集群。Zookeeper-3.4.14是其中一个版本,这个版本的安装包在"zookeeper-3.4.14.tar.gz"中。通常,我们需要在至少三台机器上部署Zookeeper,以保证其高可用性。安装...

    solrCloud5.2.1 + tomcat7 + zookeeper3.4.6

    在Windows 7环境下搭建SolrCloud5.2.1、Tomcat7和Zookeeper3.4.6的集成环境是进行分布式搜索和索引管理的重要步骤。下面将详细介绍整个配置过程。 1. **软件环境配置** - **操作系统**: Windows 7 - **Tomcat**: ...

    Solr集群搭建,Solr提供的分布式搜索方案

    #### 六、SolrCloud的搭建过程 这里以伪集群方式为例,介绍 SolrCloud 的基本搭建步骤: 1. **环境准备**:准备 CentOS 6.4、JDK 7、Tomcat 7.0.47、Zookeeper 3.4.6 和 Solr 4.10.3。 2. **Zookeeper 集群安装**...

    solrCloud的集群部署

    #### 一、SolrCloud基本概念与架构 **1.1 SolrCloud的关键概念** - **Core**:在传统的Solr单机环境中,Core通常指的是一个单独的索引。但在SolrCloud环境中,一个索引可能由多个物理节点上的多个Core共同构成,这...

    solrcloud.docx

    Solr的配置也需要相应调整,以便与Zookeeper集群连接并启用Cloud模式。 在集群搭建完成后,可以通过创建Collections、定义Shard数量和复制因子来分布数据。SolrCloud能够自动处理Shard的分配和数据平衡,同时提供...

    solr5.3.1集群搭建教程-线上环境搭建

    整个过程分为几个阶段:准备软件环境、部署单机版Tomcat 7 + Solr 5.2.1、配置多Tomcat实例以支持Solr集群以及最后配置ZooKeeper集群来确保Solr集群的稳定性和高可用性。 **软件需求:** - **Tomcat 7:** 版本...

    solr搭建教程文档

    总结,本教程详细介绍了如何在Win7系统下搭建单机版的伪分布式SolrCloud环境,包括安装Tomcat、配置Solr Home、多实例运行、以及Zookeeper集群的配置。这个环境为后续的分布式搜索和索引提供了基础。需要注意的是,...

    利用Solr搭建你的搜索引擎

    标题中的“利用Solr搭建你的搜索引擎”意味着我们将探讨Apache Solr这一开源全文搜索平台的搭建过程。Solr是基于Lucene库的,提供了一个高效、可扩展的搜索和导航功能,广泛应用于各种企业的数据检索需求。 Solr的...

    solr 集群搭建1

    10. **数据分布与查询**:在SolrCloud中,数据会被自动分割成多个Shard,每个Shard可以有多个Replica,以实现负载均衡和容错。用户查询时,请求会被路由到包含所需数据的节点上。 以上就是搭建Solr集群的基本步骤和...

    lucene简单介绍及solr搭建使用

    搭建Solr的过程通常包括以下几个步骤: 1. **下载与解压**:从官方网站下载最新版本的Solr压缩包,然后解压到服务器的合适位置。 2. **配置Solr实例**:修改`solrconfig.xml`和`schema.xml`等配置文件,定义索引字段...

    Solr集群部署傻瓜指南

    Solr,全称为Apache Solr,是一款开源的企业级搜索引擎,基于Java开发,广泛应用于网站、电商、企业内部数据检索等多种场景。...记得在部署过程中仔细检查每一步的配置,确保所有组件都能正常运行。

    自己搭建的Solr环境

    通过配置多个Solr节点并使用SolrCloud模式,你可以实现数据的自动分片、复制和故障恢复,从而处理大规模的数据。 总结一下,搭建Solr环境涉及的关键知识点包括:下载和解压Solr、配置Solr服务器、启动Solr服务、...

Global site tag (gtag.js) - Google Analytics