sorl集群搭建

sorl集群搭建背景公司之前做电商项目的时候 需要根据关键字来搜索商品 需要部署搜索引擎来实现 代码交付的时候发现 sorl 是单机版的 为了满足生产高可用的要求 于是部署 sorl 集群来实现 一 基础环境配置 1 网络配置 所有节点 修改主机名 切记主机名不能出现下划线 修改主机名 etc hostname hostnamectls hostnamenode hostnamenode hostnamenode

背景

公司之前做电商项目的时候,需要根据关键字来搜索商品,需要部署搜索引擎来实现。代码交付的时候发现sorl是单机版的,为了满足生产高可用的要求,于是部署sorl集群来实现。

一、基础环境配置

1. 网络配置 (所有节点)

#修改主机名, 切记主机名不能出现下划线 #修改主机名(/etc/hostname): hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node3 #修改 /etc/hosts 加入 vim /etc/hosts 172.16.12.17 node1 172.16.12.18 node2 172.16.12.19 node3 

2. SSH免密设置 (所有节点)

ssh-keygen ssh-copy-id -i id_rsa.pub root@node.* 

3、配置jdk

tar zxf /root/jdk1.8.0_101.tar.gz -C /data/ echo 'export PATH=$PATH:/data/jdk1.8.0_101/bin' >>/etc/profile source /etc/profile 

二、配置zookeeper(node1、node2、node3)

1、解压源码包

cd /root/zookeeper-3.4.10/conf mv zoo_sample.cfg zoo.cfg cp -r zookeeper-3.4.10 /data/zookeeper 

2、修改配置文件

#创建 data 文件夹 和 myid 文件 mkdir /data/zookeeper/data mkdir /data/zookeeper/log echo "1" >/data/zookeeper/data/myid tickTime=2000 initLimit=15 syncLimit=5 maxClientCnxns=150 autopurge.snapRetainCount=50 autopurge.purgeInterval=24 dataDir=/data/zookeeper/data dataLogDir=/data/zookeeper/log clientPort=2181 server.1=node1:5000:5100 server.2=node2:5000:5100 server.3=node3:5000:5100 

3、把zookeeper目录复制到其他两个节点

scp -r zookeeper/ root@node2:/data/ scp -r zookeeper/ root@node3:/data/ 

4、修改myid

#node2 echo "2" >/data/zookeeper/data/myid #node3 echo "3" >/data/zookeeper/data/myid 

5. 分别在每个节点上启动 zookeeper

cd /data/zookeeper/bin ./zkServer.sh start 

三、安装solr

1、解压安装包

mkdir /data/tomcat-solr tar zxf apache-tomcat-8.5.4.tar.gz -C /data/tomcat-solr mv apache-tomcat-8.5.4/ tomcat tar zxf solr-7.4.0.tgz -C /data/tomcat-solr/ 

2、部署到Tomcat

#进入solr的server目录下 cd /data/tomcat-solr/solr-7.4.0/server/solr-webapp #复制文件到Tomcat cp -r webapp/ /data/tomcat-solr/tomcat/webapps/ #把solr的项目改名 cd /data/tomcat-solr/tomcat/webapps/ mv webapp/ solr 

3、配置solr_home

#创建solr_home存储Solr索引文件,这个目录用于存储Solr Core的数据及配置文件 mkdir /data/tomcat-solr/solr_home #解压后的Solr的server目录下有一个solr目录,把这个目录里的所有内容复制到刚刚创建的solr_home目录下: cd /data/tomcat-solr/solr-7.4.0/server/solr cp -r * /data/tomcat-solr/solr_home/ 

4、配置Tomcat

(1)修改web.xml

#修改复制到tomcat中的Solr项目中的WEB-INF目录下的web.xml配置文件,修改solr_home路径指向我们刚刚创建的solr_home cd /data/tomcat-solr/tomcat/webapps/solr/WEB-INF #修改Solr_home路径 vim web.xml <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/data/tomcat-solr/solr_home</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> 

(2)去掉安全验证

在这里插入图片描述

(3)复制所需依赖jar包

#复制solr-7.4.0\server\lib\ext下的所有jar包到tomcat下的webapps\solr\WEB-INF\lib目录下 cd /data/tomcat-solr/solr-7.4.0/server/lib/ext/ cp * /data/tomcat-solr/tomcat/webapps/solr/WEB-INF/lib/ #复制solr-7.4.0\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib目录下 cd /data/tomcat-solr/solr-7.4.0/server/lib cp metrics-* /data/tomcat-solr/tomcat/webapps/solr/WEB-INF/lib/ #复制solr-7.4.0\dist 下的solr-dataimporthandler-7.4.0.jar、solr-dataimporthandler-extras-7.4.0.jar是数据导入的时候用到,看情况导入,Solr用了这么久Solr数据导入的功能还没有用到过 cd /data/tomcat-solr/solr-7.4.0/dist/ cp solr-dataimporthandler-* /data/tomcat-solr/tomcat/webapps/solr/WEB-INF/lib 

(4)修改Tomcat端口号

#修改Tomcat的端口号,改不改都行,不过最好改一下,以后如果有多个Tomcat会有端口冲突的 cd /data/tomcat-solr/tomcat/conf/ vim server.xml #修改8080、8009端口号,Solr常用的端口号是8981,可以把8080改成8981,8009端口随意,这里改成8001 #修改solr_home目录下的solr.xml配置文件: cd /data/tomcat-solr/solr_home/ vim solr.xml #将主机名和端口号修改为自己的主机名和端口号, 如果主机名没有映射IP地址的话用IP地址 <str name="host">${host:node1}</str> <int name="hostPort">${tomcat.port:8981}</int> 

在这里插入图片描述

(5)为Tomcat分配指定内存

#为Tomcat分配指定大小的内存,修改tomcat-solr目录下的bin/catalina.sh cd /data/tomcat-solr/tomcat/bin/ vim catalina.sh JAVA_OPTS="-Xms2g -Xmx2g" 

(6)启动Tomcat

cd /data/tomcat-solr/tomcat/bin/ sh startup.sh 

四、集群配置

1、复制安装目录至每个节点

scp -r tomcat-solr/ root@node2:/data/ scp -r tomcat-solr/ root@node3:/data/ 

2、让zookeeper统一管理配置文件。需要把/conf目录上传到zookeeper

cd /data/tomcat-solr/solr-7.4.0/server/scripts/cloud-scripts ./zkcli.sh -zkhost node1:2181,node2:2181,node3:2181 -cmd upconfig -confdir /data/tomcat-solr/solr_home/configsets/sample_techproducts_configs/conf -confname myconf 

3、查看zookeeper中是否上传成功

cd /data/zookeeper/bin/ ./zkCli.sh 

在这里插入图片描述

4、修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper(所有节点)

cd /data/tomcat-solr/tomcat/bin/ vim catalina.sh JAVA_OPTS="-DzkHost=node1:2181,node2:2181,node3:2181" 

5、修改solr_home目录下的solr.xml配置文件:(node1、node2、node3)

cd /data/tomcat-solr/solr_home/ vim solr.xml 将主机名和端口号修改为自己的主机名和端口号 #如果主机名没有映射IP地址的话用IP地址 <str name="host">${host:node1}</str> <int name="hostPort">${tomcat.port:8981}</int> 

在这里插入图片描述

7、启动Tomcat实例

cd /data/tomcat-solr/tomcat/bin/ sh startup.sh 

8、访问集群

9、创建新的Collection进行分片处理

点击页面的Collections按钮,然后就能添加
在这里插入图片描述
在这里插入图片描述




查看集群状态
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225413.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午9:23
下一篇 2026年3月17日 上午9:23


相关推荐

  • 关于COM组件

    关于COM组件COM 技术内幕 FAQ1 什么是 COM 组件 第一章 Answer COM 组件是以 WIN32 动态链接库 DLL 或可执行文件 EXE 形式发布的可执行代码组成 COM 组件是遵循 COM 规范编写的 COM 组件是一些小的二进制可执行文件 COM 组件可以给应用程序 操作系统以及其他组件提供服务自定义的 COM 组件可以在运行时刻同其他组件连接起来构成某个应

    2026年3月18日
    2
  • 史上最全安装Maven教程「建议收藏」

    史上最全安装Maven教程「建议收藏」史上最全安装Maven教程简单了解一下什么是Maven1.Maven翻译为“专家“,”内行”的意思,是著名Apache公司下基于Java开发的开源项目。2.Maven项目对象模型(POM)是一个项目管理工具软件,可以通过简短的中央信息描述来管理项目的搭建,报告和文档等步骤。3.Maven是一个项目管理的工具,可以对项目进行构建、依赖的管理。PS:(Gradle的项目搭建方式,将在不久的未来取代Maven,大势所趋。原因如何?小Du下期为您揭晓)一.官网下载下载官网→_→传送门二.配

    2022年6月4日
    33
  • 计算机技术与阅读,PISA2018阅读素养计算机化自适应测试的技术与方法探析

    计算机技术与阅读,PISA2018阅读素养计算机化自适应测试的技术与方法探析原标题:PISA2018阅读素养计算机化自适应测试的技术与方法探析摘要:PISA2018阅读素养的计算机化自适应测试采用核心阶段、阶段1和阶段2的3阶段自适应测试,题库设定有245道题目,组成45个测试单元,并将其组合成若干题组,用于不同阶段的测试。在路径设计上,为避免位置效应问题,除核心阶段→阶段1→阶段2的标准路径之外,还采用核心阶段→阶段2→阶段1的替代路径。PISA2018阅读素养计算机…

    2022年6月5日
    29
  • python转换函数使用_python进制转换函数代码的使用

    python转换函数使用_python进制转换函数代码的使用python进制转换函数代码的使用发布时间:2020-04-2310:23:22来源:亿速云阅读:188作者:小新以上就是python进制转换函数代码的使用的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎来亿速云行业资讯!python如何进行进制转换1、十进制转二进制(bin)首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法bindec=10pri…

    2022年5月12日
    35
  • 配置Hadoop开发环境(Eclipse)

    配置Hadoop开发环境(Eclipse)Hadop2 2 0Eclipse 开发环境配置

    2026年3月17日
    2
  • idea 激活码(注册激活)

    (idea 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4D…

    2022年3月30日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号