solr集群

需要准备的安装包 放到 /data/service/source

  • zookeeper-3.4.10.tar.gz
  • apache-tomcat-8.5.31.tar.gz
  • solr-7.1.0.tgz

安装开始

mkdir /data/service/source
cd /data/service/source
tar -zxvf zookeeper-3.4.14.tar.gz 
cp -r zookeeper-3.4.14 /data/service/solr-cloud/zookeeper01
cp -r zookeeper-3.4.14 /data/service/solr-cloud/zookeeper02
cp -r zookeeper-3.4.14 /data/service/solr-cloud/zookeeper03

mkdir /data/service/solr-cloud/zookeeper01/data
mkdir /data/service/solr-cloud/zookeeper02/data
mkdir /data/service/solr-cloud/zookeeper03/data

touch /data/service/solr-cloud/zookeeper01/data/myid
touch /data/service/solr-cloud/zookeeper02/data/myid
touch /data/service/solr-cloud/zookeeper03/data/myid

vim /data/service/solr-cloud/zookeeper01/data/myid
vim /data/service/solr-cloud/zookeeper02/data/myid
vim /data/service/solr-cloud/zookeeper03/data/myid

echo 1 >> /data/service/solr-cloud/zookeeper01/myid
echo 2 >> /data/service/solr-cloud/zookeeper02/myid
echo 3 >> /data/service/solr-cloud/zookeeper03/myid

cd /data/service/solr-cloud/zookeeper01/conf/
mv zoo_sample.cfg zoo.cfg

cd /data/service/solr-cloud/zookeeper02/conf/
mv zoo_sample.cfg zoo.cfg

cd /data/service/solr-cloud/zookeeper03/conf/
mv zoo_sample.cfg zoo.cfg

#修改zoo.cfg
vim /data/service/solr-cloud/zookeeper01/conf/zoo.cfg
#dataDir=/data/service/solr-cloud/zookeeper01/data
#clientPort=2001
#末尾添加 10.10.119.28  10.10.64.167 10.10.45.213
#server.1=10.10.119.28:2701:3701
#server.2=10.10.64.167:2702:3702
#server.3=10.10.45.213:2703:3703
vim /data/service/solr-cloud/zookeeper02/conf/zoo.cfg
#dataDir=/data/service/solr-cloud/zookeeper03/data
#clientPort=2002
#末尾添加
#server.1=127.0.0.1:2701:3701
#server.2=127.0.0.1:2702:3702
#server.3=127.0.0.1:2703:3703
vim /data/service/solr-cloud/zookeeper03/conf/zoo.cfg
#dataDir=/data/service/solr-cloud/zookeeper03/data
#clientPort=2003
#末尾添加
#server.1=127.0.0.1:2701:3701
#server.2=127.0.0.1:2702:3702
#server.3=127.0.0.1:2703:3703


# 分别启动zk
sh /data/service/solr-cloud/zookeeper01/bin/zkServer.sh start
sh /data/service/solr-cloud/zookeeper02/bin/zkServer.sh start
sh /data/service/solr-cloud/zookeeper03/bin/zkServer.sh start

#可以查看启动状态 以及 当前zk角色信息
sh /data/service/solr-cloud/zookeeper01/bin/zkServer.sh status

#可以把上面启动命令写成zkallstart.sh 修改权限 chmod u+x /data/service/solr-cloud/zkallstart.sh 启动不了检查 myid

#tomcat
cd /data/service/source
tar -zxvf apache-tomcat-8.5.31.tar.gz 
cp -r apache-tomcat-8.5.31 /data/service/solr-cloud/tomcat01
cp -r apache-tomcat-8.5.31 /data/service/solr-cloud/tomcat02

cd /data/service/solr-cloud/
vim tomcat01/conf/server.xml
#修改端口
#<Server port="7001" shutdown="SHUTDOWN">
#<Connector port="7081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
#<Connector port="7011" protocol="AJP/1.3" redirectPort="8443" />
vim tomcat01/conf/server.xml
#修改端口
#<Server port="7002" shutdown="SHUTDOWN">
#<Connector port="7082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
#<Connector port="7012" protocol="AJP/1.3" redirectPort="8443" />

#solr 
cd /data/service/source
tar -zxvf solr-7.1.0.tgz
cp -r ./solr-7.1.0/server/solr-webapp/webapp /data/service/solr-cloud/tomcat01/webapps/
cp -r ./solr-7.1.0/server/solr-webapp/webapp /data/service/solr-cloud/tomcat02/webapps/

cd /data/service/solr-cloud/tomcat01/webapps/
mv webapp solr
cd /data/service/solr-cloud/tomcat02/webapps/
mv webapp solr

cd /data/service/solr-cloud/
mkdir solrhome01
mkdir solrhome02

cp -r /data/service/source/solr-7.1.0/server/solr/* /data/service/solr-cloud/solrhome01/
cp -r /data/service/source/solr-7.1.0/dist /data/service/solr-cloud/solrhome01/  
cp -r /data/service/source/solr-7.1.0/contrib /data/service/solr-cloud/solrhome01/ 

cp -r /data/service/source/solr-7.1.0/server/solr/* /data/service/solr-cloud/solrhome02/
cp -r /data/service/source/solr-7.1.0/dist /data/service/solr-cloud/solrhome02/  
cp -r /data/service/source/solr-7.1.0/contrib /data/service/solr-cloud/solrhome02/ 

vim /data/service/solr-cloud/solrhome01/solr.xml 
#<str name="host">127.0.0.1</str>
#<int name="hostPort">7081</int>

vim /data/service/solr-cloud/solrhome02/solr.xml 
#<str name="host">127.0.0.1</str>
#<int name="hostPort">7082</int>

vim /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/web.xml 
#1.在web-app节点中添加
#<env-entry> <env-entry-name>solr/home</env-entry-name>
#<env-entry-value>/data/service/solr-cloud/solrhome01</env-entry-value>
#<env-entry-type>java.lang.String</env-entry-type> </env-entry>
#2.注释掉最下方 <security-constraint>  </security-constraint> 

<env-entry> <env-entry-name>solr/home</env-entry-name>
<env-entry-value>/data/service/solr-cloud/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type> </env-entry>

vim /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/web.xml 
#1.在web-app节点中添加
#<env-entry> <env-entry-name>solr/home</env-entry-name>
#<env-entry-value>/data/service/solr-cloud/solrhome02</env-entry-value>
#<env-entry-type>java.lang.String</env-entry-type> </env-entry>
#2.注释掉最下方 <security-constraint>  </security-constraint>

#其他solr jar 及配置 待导入
cd /data/service/source/solr-7.1.0

mkdir /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/classes
mkdir /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/classes

cp -r ./server/resources/log4j.properties /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/classes/
cp -r ./server/resources/log4j.properties /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/classes/

vim /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/classes/log4j.properties 
#修改 solr log 带下 和 位置 /data/service/solr-cloud/solrhome/log/out.log /data/service/solr-cloud/solrhome/log/solr.log
#solr.log=/data/service/solr-cloud/solrhome01/log/out.log
#log4j.appender.file.MaxFileSize=32MB
#log4j.appender.file.File=/data/service/solr-cloud/solrhome01/log/solr.log

vim /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/classes/log4j.properties 
#修改 solr log 带下 和 位置
#solr.log=/data/service/solr-cloud/solrhome02/log/out.log
#log4j.appender.file.MaxFileSize=32MB
#log4j.appender.file.File=/data/service/solr-cloud/solrhome02/log/solr.log

cp -r ./server/lib/ext/* /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/lib/
cp -r ./server/lib/metrics* /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/lib/
cp -r ./dist/solr-dataimporthandler* /data/service/solr-cloud/tomcat01/webapps/solr/WEB-INF/lib/

cp -r ./server/lib/ext/* /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/lib/
cp -r ./server/lib/metrics* /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/lib/
cp -r ./dist/solr-dataimporthandler* /data/service/solr-cloud/tomcat02/webapps/solr/WEB-INF/lib/


#上传 conf 到zk
cd /data/service/source/solr-7.1.0/server/scripts/cloud-scripts/
#执行 zkcli.sh 要注意,在执行脚本上传配置文件前,必须先去启动zookeeper集群

./zkcli.sh -zkhost 127.0.0.1:2001,127.0.0.1:2002,127.0.0.1:2003 -cmd upconfig -confdir /data/service/solr-cloud/solrhome01/configsets/sample_techproducts_configs/conf -confname myconf

#检测 myconf 是否上传成功
cd /data/service/solr-cloud/zookeeper01/bin/
./zkCli.sh -server 127.0.0.1:2001
ls /configs
# 查看是够存在 myconf
# 如果你需要修改配置的话,只用在刚才那个conf目录里改好,改好后再上传一次就行了,就会覆盖原来的配置文件

#关联 tomcat zk
cd /data/service/solr-cloud/tomcat01/bin/
vim catalina.sh
#line 289 在这句话的下面  Make the umask available when using the org.apache.catalina.security.SecurityListener 修改 JAVA_OPTS

JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`
-DzkHost=127.0.0.1:2001,127.0.0.1:2002,127.0.0.1:2003"

JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`
-DzkHost=10.10.119.28:2001,10.10.64.167:2002,10.10.45.213:2003"
10.10.119.28  10.10.64.167 10.10.45.213


#启动tomcat
sh /data/service/solr-cloud/tomcat01/bin/startup.sh
sh /data/service/solr-cloud/tomcat02/bin/startup.sh

#这里说个小知识点,tomcat8开始,默认启动的是NIO模式,7默认启动的是BIO模式,还可以通过配置设置APR模式启动,至于APR,NIO和BIO的区别,是和tomcat并发性能有关的,高并发的系统应该将tomcat的模式设置成APR模式,会大幅度的提高服务器的处理和响应性能。感兴趣的可以自己百度下。当然这个不用在意,跟本文集群搭建没啥关系,就是想到了说一下。

# 请求地址 http://127.0.0.1:7081/solr/index.html#/

#集群的 分词器
#1.按照单机部署的模式 记得重启tomcat

#集群的 DIH
#1.与单机版本不同的是 这里没有core的概念 需要填写collection
#.zk/conf/solrconfig.xml 中的 lib 路径问题 不能像单机一样写成绝对路径,这里需要写相对路径
#<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
#集群的 自动同步

cd /data/service/source/solr-7.1.0/server/scripts/cloud-scripts/

./zkcli.sh -zkhost 127.0.0.1:2001,127.0.0.1:2002,127.0.0.1:2003 -cmd upconfig -confdir /data/service/solr-cloud/conf -confname myconf

./tomcat01/bin/shutdown.sh 
./tomcat02/bin/shutdown.sh 

./tomcat01/bin/startup.sh 
./tomcat02/bin/startup.sh 


./zkcli.sh -zkhost 10.10.119.28:2001,10.10.64.167:2002,10.10.45.213:2003 -cmd upconfig -confdir /data/service/solr-cloud/collcetConf -confname collcetConf
  
./zkcli.sh -zkhost 10.10.119.28:2001,10.10.64.167:2002,10.10.45.213:2003 -cmd upconfig -confdir /data/service/solr-cloud/contentConf -confname contentConf

./zkcli.sh -zkhost 10.10.119.28:2001,10.10.64.167:2002,10.10.45.213:2003 -cmd upconfig -confdir /data/service/solr-cloud/drugConf -confname drugConf

4号机器 报废
2号机器 报废


#增量定时倒入
#1. 在web.xml <web-app>节点中 添加
<listener>
    <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>
 #2. 倒入solr-dataimports 相关jar 上面已经做了
 #3. 配置 dataimport.properties 放入 solrhome 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值