linux集群下 solr集群搭建

首先介绍一下系统架构:

* 这个图中代表的是三个solr实例,每个实例包括两个core,组成一个solrcloud

* 索引集合包括两个 shard(shard1和shard2),shard1和shard2分别由三个core组成,其中一个L eader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个core的索引数据一致,解决高可用和高并发问题.

* Collection在solrcloud集群中是一个索引结构,被划分为一个或多个shard(分片),shard之前使用相同的配置;比如对于商品信息搜索可以创建一个collection,collection=shard1+shard2+.....+shardX

* Core提供索引和搜索服务,一个shard需要由一个或多个core组成,由于collection由多个shard组成,所以collection一般由多个core组成

* Master是master-slave结构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务器或备服务器)。同一个Shard下master和slave存储的数据是一致的,这是为了达到高可用目的。

下面这张图就是接下来要搭建的solr集群架构

需要实现zookeeper 高可用。需要搭建集群。建议是奇数节点。需要三个zookeeper服务器。

搭建solr集群需要7台服务器。

搭建伪分布式:需要三个zookeeper节点,需要四个tomcat节点.

环境 准备:

1.JDK

2.tomcat

3.zookeeper

4.solr

下面开始讲集群的详细步骤

这里省略jdk的安装,tomcat,solr,zookeeper的解压

*复制三份zookeeper解压后的文件到/usr/local/solr-cloud下

*在每一个zookeeper下创建一个data目录

*在每个zookeeper的data目录下创建一个myid文件,内容是每个实例的ID,分别为1,2.3

*把conf目录下的zoo_sample.cfg文件改名为zoo.cfg

* 修改zoo.cfg配置文件

dataDir就指向当前zookeeper的data目录

clientPort保证zookeeper之间不冲突

最后server.1=xxx的地方就是创建的myid文件指向的id

*创建快捷启动方式,名为start-zookeeper-all.sh,启动每一个zookeeper

在启动之前先修改启动文件的权限

*创建四个tomcat实例,每个tomcat运行在不同的端口:8180、8280、8380、8480

修改tomcat的端口号

修改端口号(一共三个地方)

每个tomcat都要改

*部署solr的war包到每个tomcat的webapps下面(我用的是solr的文件夹,tomcat启动后解压的solr.war文件)

为每个solr实例创建solrhome,solrhome的来源参考(linux部署solr)

*把solrhome关联起来

修改solrhome里面的solr.xml文件

host代表当前节点

hostpart代表这个solrhome对应的tomcat的端口号

*关联每一个solr和solrhome

修改每一个tomcat下solr项目里面的web.xml

将solrhome关联

*zookeeper集中管理配置文件,所以这一步是上传配置文件

进入解压的solr.tar.gz文件夹找到zkcli.sh文件

使用工具上传配置文件

执行下面的命令:

./zkcli.sh -zkhost 192.168.25.133:2181,192.168.25.133:2182,192.168.25.133:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

然后在zookeeper01里面的bin目录下有zkCli.sh文件,启动这个文件,输入一下命令可以看到

那个就是我们刚刚上传的文件

*接下来就关联solr和zookeeper的关系

修改tomcat01下面的 catalina.sh

加入初始化配置:

四个tomcat都要加

*启动这个四个tomcat,保证zookeeper集群是启动状态

编写一个启动tomcat的程序

修改查询权限

启动tomcat:

在浏览器中访问报错:

HTTP Status 503 - Server is shutting down or failed to initialize

发现是catalina.sh中的初始化参数配置出错了,

修改:

JAVA_OPTS="-DzkHost=192.168.25.133:2181,192.168.25.133:2182,192.168.25.133:2183"

重新启动,访问:

看见这个就代表成功了一半了

因为collection1是单片的,没有我们所说的高用性,所以删除这个,创建新的Collection进行分片处理。

http://192.168.25.133:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

第十一步:删除不用的Collection。

http://192.168.25.133:8180/solr/admin/collections?action=DELETE&name=collection1

这是没删除之前

这才代表成功

时间: 2024-10-24 16:26:25

linux集群下 solr集群搭建的相关文章

Linux CentOS6.5下RabbitMQ集群部署配置

一.服务器与主机名列表 环境:2台Linux主机,主机名和IP如下,rabbitmq执行用户为rabbitmq,所属组为rabbitmq 172.16.192.145   ecs003 172.16.192.146   ecs004 二.在个节点服务器上做好hosts解析 #cat>>/etc/hosts< 172.16.192.145   ecs003 172.16.192.146   ecs004 EOF 三.在各节点安装Rabbitmq 1.安装epel源和rabbit-relan

Win10 下solr安装及搭建

--Solr安装 下载 solr win下下载zip 文件即可, 然后解压至 D盘的 \Program Files?文件夹下即可 1.启动与停止 直接到解压缩的solr/bin目录运行solr start即可. 会看到: Provider chain: env;sysprop Waiting up to 30 to see Solr running on port 8983 Started Solr server on port 8983. Happy searching! 然后浏览器访问: h

linux centos6.5下一台虚拟机搭建多个tomcat方法

Linux部署多个tomcat 1.环境: 1.1. Centos 6.5 1.2.Tomcat 8.0 准备文件:jdk  由于JDK文件比较大,这是分开压缩的,三个文件下载后解压到一个文件下即可.哎,消费了我好多分. 下载地址:http://download.csdn.net/detail/yelang_110/8551037  分解包一 http://download.csdn.net/detail/yelang_110/8551043  分解包二 http://download.csdn

Linux环境下SolrCloud集群环境搭建关键步骤

Linux环境下SolrCloud集群环境搭建关键步骤. 前提条件:已经完成ZooKeeper集群环境搭建. 一.下载介质 官网下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/7.3.1 历史版本下载:http://archive.apache.org/dist/lucene/solr/ 二.上传介质 通过工具将下载好的安装介质上传至服务器目录. 三.解压安装 解压即可完成安装. unzip solr-5.5.5.zip 四.修改配置文

Linux系列之solr集群版环境搭建(六)

SolrCloud简介 SolrCloud是solr提供的分布式搜索方案,当需要大规模容错.分布式索引和检索能力时使用.当一个系统的索引数量少时,不需要使用SolrCloud:当索引量很大,搜索请求并发很高时,需要使用SolrCloud. SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心. 它有几个特色功能: 1) 集中式的配置信息 2) 自动容错 3) 近实时搜索 4) 查询时自动负载均衡 Zookeeper简介

Linux环境下HDFS集群环境搭建关键步骤

Linux环境下HDFS集群环境搭建关键步骤记录. 介质版本:hadoop-2.7.3.tar.gz 节点数量:3节点. 一.下载安装介质 官网下载地址:http://hadoop.apache.org/releases.html 二.服务器规划 MASTER:NAMENODE, DATANODENODE1:DATANODENODE2:SECONDARY NAMENODE, DATANODE 三.配置hostname和hosts 192.168.13.4 master192.168.13.5 n

在linux环境下安装redis并且搭建自己的redis集群

此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群 搭建环境: ubuntun 16.04 + redis-3.0.6 本文章分为三个部分:redis安装.搭建redis集群 一.本机安装redis: 1.下载redis: wget http://download.redis.io/releases/redis-3.0.6.tar.gz 2.redis安装解压.编译与安装:安装路径在root用户下的:~/softwares文件下 解压:先将安装包放到~/softwares

【redis】 linux 下redis 集群环境搭建

Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 1:下载redis.官网下载3.0.0版本,之前2.几的版本不支持集群模式 下载地址:https://github.com

Solr集群的搭建以及使用(内涵zookeeper集群的搭建指南)

1   什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使 用SolrCloud来满足这些需求. SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心. 它有几个特色功能: 1)集中式的配置信息 2)自动容