背景
公司之前做电商项目的时候,需要根据关键字来搜索商品,需要部署搜索引擎来实现。代码交付的时候发现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
