在linux上搭建Solr集群的方法

什么是SolrCloud

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

Solr集群的系统架构

需要实现的solr集群架构

Zookeeper作为集群的管理工具。
1、集群管理:容错、负载均衡。
2、配置文件的集中管理
3、集群的入口

需要实现zookeeper 高可用。需要搭建集群。建议是奇数节点。需要三个zookeeper服务器。 投票选举 需要超过半数以上

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

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

建议虚拟机的内容1G以上。

一.在linux上安装zookeeper集群 https://blog.csdn.net/lushizhuo9655/article/details/109135460

二.在linux上搭建solr集群

Solr集群的搭建

根据单机版的操作安装好solr和对应的业务域 https://blog.csdn.net/lushizhuo9655/article/details/109033855

第一步:创建四个tomcat实例。每个tomcat运行在不同的端口。8180、8280、8380、8480

cd /root
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04
cd /usr/local/solr-cloud/
ll

第二步:部署solr的war包。把单机版的solr工程复制到集群中的tomcat中。(记得每个tomcat的端口要记得修改 每个tomcat改三个端口)

cp -r ../solr/tomcat/webapps/solr/ tomcat01/webapps/
cp -r ../solr/tomcat/webapps/solr/ tomcat02/webapps/
cp -r ../solr/tomcat/webapps/solr/ tomcat03/webapps/
cp -r ../solr/tomcat/webapps/solr/ tomcat04/webapps/
vim tomcat01/conf/server.xml
vim tomcat02/conf/server.xml
vim tomcat03/conf/server.xml
vim tomcat04/conf/server.xml

第三步:为每个solr实例创建一个对应的solrhome。使用单机版的solrhome复制四份。

cp -r ../solr/solrhome/ solrhome01
cp -r ../solr/solrhome/ solrhome02
cp -r ../solr/solrhome/ solrhome03
cp -r ../solr/solrhome/ solrhome04

第四步:需要修改solr的web.xml文件。把solrhome关联起来。

vim tomcat01/webapps/solr/WEB-INF/web.xml
vim tomcat02/webapps/solr/WEB-INF/web.xml
vim tomcat03/webapps/solr/WEB-INF/web.xml
vim tomcat04/webapps/solr/WEB-INF/web.xml

改成对应的02 03 04

第五步:配置solrCloud相关的配置。每个solrhome下都有一个solr.xml,把其中的ip及端口号配置好。

vim solrhome01/solr.xml
vim solrhome02/solr.xml
vim solrhome03/solr.xml
vim solrhome04/solr.xml

第六步:修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper。

cd tomcat01/bin/
ll
vim catalina.sh

把此配置添加到配置文件中:

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

cd ..
cd ..
vim tomcat02/bin/catalina.sh
vim tomcat03/bin/catalina.sh
vim tomcat04/bin/catalina.sh

配置文件都加上那一句配置的代码

第七步:让zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可。

cd solrhome01
ll
cd collection1/conf

使用工具上传配置文件:/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh

cd /root/solr-4.10.3/example/scripts/cloud-scripts/

配置文件的文件夹上传到zookeeper

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

查看zookeeper上的配置文件:

使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:

./zkCli.sh 

退出:

quit

使用以下命令连接指定的zookeeper服务:

./zkCli.sh -server 192.168.0.245:2183

此时表明,配置文件已经上传到zookeeper上了

第八步:启动每个tomcat实例。要包装zookeeper集群是启动状态。

cd ..
cd ..
ll
vim start-tomcat-all.sh
/usr/local/solr-cloud/tomcat01/bin/startup.sh
/usr/local/solr-cloud/tomcat02/bin/startup.sh
/usr/local/solr-cloud/tomcat03/bin/startup.sh
/usr/local/solr-cloud/tomcat04/bin/startup.sh
chmod u+x start-tomcat-all.sh
./start-tomcat-all.sh

看是否起来了

tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out
tail -f /usr/local/solr-cloud/tomcat02/logs/catalina.out
tail -f /usr/local/solr-cloud/tomcat03/logs/catalina.out
tail -f /usr/local/solr-cloud/tomcat04/logs/catalina.out 

第九步:访问集群 http://192.168.0.245:8180/solr 发现比单机的多了个cloud

第十步:创建新的Collection进行分片处理。 直接在浏览器

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

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

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

到此这篇关于在linux上搭建Solr集群的方法的文章就介绍到这了,更多相关linux搭建Solr集群内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • linux下安装solr的教程详解

    安装Solr 第一步:将solr的压缩包上传到Linux系统 第二步:解压tomcat tar -zvxf apache-tomcat-7.0.47.tar.gz [root@localhost ~]# tar -zxvf apache-tomcat-7.0.47.tar.gz 第三步:在/usr/local/新建目录solr 第四步:将tomcat拷贝在/usr/local/solr/目录下,并命名为tomcat 第五步 解压solr [root@localhost ~]# tar -zvxf

  • Solr服务在Linux上的搭建的图文教程

    一.系统环境 CentOS-6.7-i386-bin-DVD1 jdk-8u151-linux-i586 apache-tomcat-8.5.24.tar solr-7.1.0 注意:solr6.0以上,官方建议使用jdk8,tomcat8.和solr4部署流程有略微差别 二.搭建步骤 第一步:上传并解压solr 第二步:上传并解压tomcat,复制一份出来 我这里已经解压过了 我先切换下root用户啊,然后创建solr目录,将tomcat复制重命名到/usr/local/solr/tomcat

  • Linux中安装配置hadoop集群详细步骤

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本.(前边主要介绍单机版的配置,集群版是在单机版的基础上,主要是配置文件有所不同,后边会有详细说明) 二. 准备工作 2.1 创建用户 创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好. sudo adduser hadoop sudo vim /etc/sudoers

  • linux上搭建solr的操作方法(用tomcat部署)

    环境centos7 及最新版本solr7 1.先在/usr/local下mkdir solr 2.在里面新建一个tomcat目录 3.拷贝已经解压的tomat到/usr/local/solr/tomcat 4.由于本机让其在8888端口访问,这时先修改该tomcat的访问端口为8888,然后设置防火墙开放8888端口 5.启动tomcat,在远程主机上访问看tomcat是否启动成功 下面开始配置solr环境 1.首先先在官网下载tar包. 2.上传到/usr/local/mypackage/so

  • Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置

    ************************************************************************************************************************ JDK安装步骤 1. 以root身份登录系统 2. 到java.sun.com去下载JDK1.5 for LINUX的rpm,是个jdk-1_5_0_11-linux-i586-rpm.bin的文件. 3. 通过chmod +x jdk-1_5_x-rc-l

  • Linux(Centos7)下redis5集群搭建和使用说明详解

    1.简要说明 2018年十月 Redis 发布了稳定版本的 5.0 版本,推出了各种新特性,其中一点是放弃 Ruby的集群方式,改为 使用 C语言编写的 redis-cli的方式,是集群的构建方式复杂度大大降低.关于集群的更新可以在 Redis5 的版本说明中看到,如下: The cluster manager was ported from Ruby (redis-trib.rb) to C code inside redis-cli. check `redis-cli --cluster h

  • 在linux上搭建Solr集群的方法

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

  • linux上搭建solr的实现方法(用jetty部署)

    环境搭建:centos7及solr7版本 描述:最新版本的solr内置了jetty容器,可以支持jetty部署,从而不需要发布到tomcat下面 首先同样先在/usr/local/mypackage上传最新的solr.tar 解压tgz包 进入bin目录 ./solr start -force;默认8983端口 设置防火墙开启8983端口开放远程访问 访问 http://192.168.0.150:8983/solr/#/ 以上这篇linux上搭建solr的实现方法(用jetty部署)就是小编分

  • docker搭建Zookeeper集群的方法步骤

    目录 0.前言 1.前提 2.开始搭建 解释 创建zoo.cfg 3.docker搭建 1.docker创建网络 2.启动第1个zk节点 3.启动第2个zk节点 4.启动第3个zk节点 4.访问节点 1.进入zk第一个节点的docker容器内部 2.使用zk的客户端进行访问 3.在zk中使用命令 0.前言 之前在学springcloud的时候,提到有些项目还是使用zookeeper作为注册中心. 因此决定掌握这个技能,但是本地为了测试而部署一套zookeeper集群还是比较麻烦的. 所以打算使用

  • 在K8s上部署Redis集群的方法步骤

    一.前言 架构原理:每个Master都可以拥有多个Slave.当Master下线后,Redis集群会从多个Slave中选举出一个新的Master作为替代,而旧Master重新上线后变成新Master的Slave. 二.准备操作 本次部署主要基于该项目:https://github.com/zuxqoj/kubernetes-redis-cluster 其包含了两种部署Redis集群的方式: StatefulSet Service&Deployment 两种方式各有优劣,对于像Redis.Mong

  • Docker搭建RabbitMQ集群的方法步骤

    目录 集群模式介绍 1.普通集群的搭建 1.1.普通集群架构介绍 1.2.环境准备 1.3.集群搭建 2.镜像集群的搭建 2.1.配置镜像集群的策略 集群模式介绍 RabbitMQ集群模式有两种:普通模式和镜像模式 普通模式:默认模式,多个节点组成的普通集群,消息随机发送到其中一个节点的队列上,其他节点仅保留元数据,各个节点仅有相同的元数据,即队列结构.交换器结构.交换器与队列绑定关系.vhost.消费者消费消息时,会从各个节点拉取消息,如果保存消息的节点故障,则无法消费消息,如果做了消息持久化

  • Windows下搭建Redis集群的方法步骤

    目录 Redis集群: 在Windows系统下搭建Redis集群: 1.下载并安装Redis 2.下载并安装ruby 3.创建Redis集群 Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用率. 在Windows系统下搭建Redis集群: 需要4个部件: Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建

  • 使用docker快速搭建Spark集群的方法教程

    前言 Spark 是 Berkeley 开发的分布式计算的框架,相对于 Hadoop 来说,Spark 可以缓存中间结果到内存而提高某些需要迭代的计算场景的效率,目前收到广泛关注.下面来一起看看使用docker快速搭建Spark集群的方法教程. 适用人群 正在使用spark的开发者 正在学习docker或者spark的开发者 准备工作 安装docker (可选)下载java和spark with hadoop Spark集群 Spark运行时架构图 如上图: Spark集群由以下两个部分组成 集

  • Docker快速搭建Redis集群的方法示例

    什么是Redis集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能. 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都处于一个只包含自己的集群当中,要组建一个真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群. 集群配置 配置文件 下载配置文件:https://raw.githubusercontent.com/antirez/redis

  • docker搭建kafka集群的方法实现

    目录 一.原生Docker命令 二.镜像选择 三.集群规划 四.Zookeeper集群安装 五.Kafka集群安装 一.原生Docker命令 1. 删除所有dangling数据卷(即无用的Volume,僵尸文件) docker volume rm $(docker volume ls -qf dangling=true) 2. 删除所有dangling镜像(即无tag的镜像) docker rmi $(docker images | grep "^<none>" | awk

随机推荐