安装三个node的SolrCloud集群,配置3个zookeeper样例
工具下载
zookeeper下载地址:http://hadoop.apache.org/zookeeper/releases.html
solr下载地址:https://archive.apache.org/dist/lucene/solr
下载地址:http://lucene.apache.org/solr/downloads.html
部署操作
SolrCloud 服务器:s1.solr.com ; s2.solr.com ; s3.solr.com
Zookeeper 服务器: z1.com ; z2.com ; z3.com
默认安装目录 /home/myuser
首先启动zookeeper集群
按照顺序启动 z1.com; z2.com; z3.com
1.从 http://hadoop.apache.org/zookeeper/releases.html 下载zookeeper
2.解压缩zookeeper到zookeeper目录 tar -xf -C /home/myuser/zookeeper/
3.编辑zookeeper配置文件
vi /home/myuser/zookeeper/conf/zoo.cfg and put something similar to
# 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. # Choose appropriately for your environment
dataDir=/home/myuser/zookeeper/data/
# the port at which the clients will connect
clientPort=2181
# the directory where transaction log is stored. # this parameter provides dedicated log device for ZooKeeper
dataLogDir=/home/myuser/zookeeper/log/
# ZooKeeper server and its port no. # ZooKeeper ensemble should know about every other machine in the ensemble # specify server id by creating 'myid' file in the dataDir # use hostname instead of IP address for convenient maintenance
server.1=z1.com:2888:3888
server.2=z2.com:2888:3888
server.3=z3.com:2888:3888
4. 为每个服务器建立一个id文件到data目录,配置合适的id到文件中,例如
vi /home/myuser/zookeeper/data/myid and write just 1 for z1.com in the file. For z2.com server write 2 in its myid and 3 in z3.com myid file. myid file is used to identify the zookeeper server(myid文件存储该机器的标识码).
启动所有zookeeper服务器
# cd /home/myuser/zookeeper/bin/
# ./zkServer.sh start
安装tomcat
Now once zookeeper cluster is ready lets setup Solr Cloud machines : s1.solr.com,s2.solr.com,s3.solr.com
现在zookeeper集群已经准备好了,我们接下来安装SolrCloud服务器:s1.solr.com,s2.solr.com,s3.solr.com
首先从一台solr服务器上加载配置文件
1.把solr.war放到s1.solr.com服务器
2.拷贝solr.war到solr-war目录
cp solr.war /home/myuser/solr-war
3.cd /home/myuser/solr-war
4.jar xvf solr.war
5.cp WEB-INF/lib/* /home/myuser/solr-war-lib/
6.把所有配置文件例如solrconfig.xml,schema.xml 等等放到 /home/myuser/solr-config/
7.用solr zookeeper cli(zookeeper客户端)上传配置文件到zookeeper
java -classpath .:/home/myuser/solr-war-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost z1.com:2181,z2.com:2181,z3.com:2181 -confdir /home/myuser/solr-config -confname myconf
8.链接上传的配置和collection(假设新的collection名字叫mycollection)
java -classpath .:/home/myuser/solr-war-lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection1 -confname myconf -zkhost z1.com:2181,z2.com:2181,z3.com:2181
9.建立一个目录用于存储solr索引 /home/myuser/solr-cores/
10.在solr-cores里面建立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>
11.用下面的jvm参数启动tomcat
-DzkHost=z1.com:2181,z2.com:2181,z3.com:2181
12.把solr.war 放到 /home/myuser/tomcat/webapps/ 然后重启tomcat
13.编辑 /home/myuser/tomcat/webapps/solr/META-INF/context.xml 文件并且重启tomcat
<?xml version="1.0" encoding="utf-8"?> <Context docBase="solr.war" debug="0" crossContext="false"> <Environment name="solr/home" type="java.lang.String" value="/home/myuser/solr-cores" override="true"/> </Context>
14.通过REST接口来创建Collection 命名为mycollection
curl 'http://s1.solr.com:8080/solr/admin/collections?action=CREATE&name=mycollection&numShards=3&replicationFactor=1'
15.将3个shard分别复制到其他两个节点上(以shard1为例)
将shard1复制到s2.solr.com节点
curl 'http://s2.solr.com:8080/solr/admin/cores?action=CREATE&collection=mycollection&name=mycollection_shard1_replica2&shard=shard1'
将shard1复制到s3.solr.com节点
curl 'http://s3.solr.com:8080/solr/admin/cores?action=CREATE&collection=mycollection&name=mycollection_shard1_replica3&shard=shard1'
相关推荐
### Tomcat上部署SolrCloud知识点详解 #### 一、SolrCloud与Tomcat简介 - **SolrCloud**:Apache Solr的一个分布式部署模式,主要用于处理大规模数据搜索和索引场景。它提供了高可用性和容错性,适用于生产环境中...
在完成上述步骤后,你就成功地在Windows 7环境下搭建了一个SolrCloud的基本架构,能够支持多个Solr实例在单台机器上同时运行,这为后续的分布式搜索和索引管理提供了基础。接下来,你可能还需要配置Zookeeper集群,...
这个版本包含了Solr的服务器端代码和配置文件,我们需要将它们部署到Tomcat上。 部署Solr到Tomcat的过程如下: 1. **创建Solr目录**:在Tomcat的webapps目录下,创建一个新的目录,命名为`solr`。 2. **复制Solr...
SolrCloud 整合 Tomcat 是一种常见的部署方式,它允许你将 Apache Solr 集群与 Apache Tomcat 应用服务器结合,以便在分布式环境中运行和管理 Solr 搜索服务。以下是对整合过程的详细说明: 1. **软硬件环境**: -...
### SolrCloud 集群部署相关知识点 #### 一、SolrCloud基本概念与架构 **1.1 SolrCloud的关键概念** - **Core**:在传统的Solr单机环境中,Core通常指的是一个单独的索引。但在SolrCloud环境中,一个索引可能由多...
本教程主要介绍如何在Windows 7环境下搭建SolrCloud 5.2.1,使用Tomcat 7作为应用服务器,以及Zookeeper 3.4.6作为集群协调器。 首先,我们需要准备以下软件: 1. Apache Tomcat 7.0.56:这是一个开源的Servlet...
本文旨在详细介绍如何在两台CentOS 6.3 x64服务器上部署ZooKeeper实例与Solr(tomcat)集群。 #### 二、物理结构概述 - **solr1**:IP地址172.18.85.155,安装有ZooKeeper服务(端口9080)和Solr服务(通过Tomcat,...
遵循单机部署的步骤安装Solr,但要注意配置文件中的`solrcloud`参数,将其设为`true`以启用SolrCloud模式。 ##### 2.2.2 修改 Solr 的启动脚本,添加 ZooKeeper 配置 在Solr的`bin/solr.in.sh`(Linux)或`bin\solr...
例如,使用SolrCloud模式可以实现分布式部署,提高系统的健壮性和可扩展性。 总之,Solr与Tomcat的集成为搭建高性能的搜索平台提供了便利。通过理解这两个组件的基本操作和它们如何协同工作,你可以轻松地部署和...
为了使三个`Tomcat`实例能够同时运行在同一台机器上,需要修改每个实例的端口信息。具体的端口号包括: - `TomcatAdminPort` - `HTTP/1.1Port` - `AJP/1.3Port` 例如,对于`tomcat7_ser1`,可以设置为: - `...
- 在目标服务器上创建 `/solrcloud` 目录,并赋予写入权限。 - 将上述准备好的软件包上传至 `/solrcloud` 目录。 ```bash mkdir /solrcloud chmod 777 /solrcloud ``` --- ##### 2、JDK 安装 由于 CentOS 6.4 ...
3. **部署Core**:每个Shard由多个Core组成,分布在不同的服务器上,实现负载均衡。 4. **监控与维护**:定期检查集群状态,及时调整Shard和Replica的数量以应对业务增长。 综上所述,SolrCloud不仅能够有效解决大...
- 将`solr.war`文件复制到Tomcat的webapps目录下,这将使得Tomcat自动部署Solr服务器。 - 启动Tomcat,Solr实例将在Tomcat的控制下运行。 6. **配置SolrCloud**: 在每个Solr实例中,需要配置`solr.in.sh`(或`...
1. **下载和安装Apache Tomcat**:首先,我们需要从Apache官方网站下载适合Windows系统的Tomcat版本,例如`apache-tomcat-7.0.91-windows-x64`,并解压到本地目录。 2. **下载和安装Apache Solr**:接着,获取Solr...
- **Tomcat部署**:将`solr.war`复制到Tomcat的`webapps`目录,启动Tomcat,然后编辑`solr/WEB-INF/web.xml`,添加环境变量配置`solr/home`来指定Solr的数据目录。 ### 1.2 集群安装部署 #### 1.2.1 准备工作 - ...
对于Tomcat部署方式,同样是从Apache官网获取Solr 5.5.4,解压后将`solr-webapp`目录复制到Tomcat的`webapps`目录下并重命名为`solr`。将必要的jar文件和配置文件移动到Tomcat的相应目录。在`solr_home`目录下创建...
Solr是中国最流行的开源全文搜索引擎之一,它基于Java并运行在Tomcat等Servlet容器之上。标题提到的是关于使用Tomcat启动最新版本的Solr 7.3.1,这是一个非常实用的技术场景,因为Tomcat是Apache的一个流行且轻量级...