欢迎来到ArchitecTang的博客

solr6+tomcat8+zookeeper 环境部署

安装概述:

以下是部署环境:

系统环境为:

三台系统为Centos 6.8 的服务器
主机IP:10.6.11.19 10.6.11.23 10.6.11.22

软件环境为:

tomcat 8.5.24
jdk1.8.0_162
solr6.6.3
zookeepr-3.4.10
tomcat安装不多说,配置java环境即可启动,出现以下画面就说明tomcat服务已经部署完成

将solr6部署到tomcat 8 容器内(仅以单节点安装为例,三个节点的安装步骤是一样的)

cp -r /home/tomcat/software/solr-6.6.3/server/solr-webapp/webapp /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr
cp -r /home/tomcat/software/solr-6.6.3/server/lib/metrics* /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib/
rm -f /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib/metrics-jetty9-3.2.2.jar
cp -r /home/tomcat/software/solr-6.6.3/server/lib/ext/* /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib/
cp -r /home/tomcat/software/solr-6.6.3/dist/solr-dataimporthandler-* /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib
cp -r /home/tomcat/software/solr-6.6.3/dist/solr-clustering-6.6.3.jar /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib
mkdir /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/classes
cp -r /home/tomcat/software/solr-6.6.3/server/resources/log4j.properties /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/classes
创建solrhome目录
mkdir /home/tomcat/apache-tomcat-8.5.24-solr/solrhome
cp -r /home/tomcat/software/solr-6.6.3/server/solr/* /home/tomcat/apache-tomcat-8.5.24-solr/solrhome/
修改web.xml文件,配置solrhome目录和solr访问权限
vim /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/web.xml
找到solr/home 根据自己的实际情况配置solr路径

<env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>/home/tomcat/apache-tomcat-8.5.24-solr/solrhome</env-entry-value>
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

配置访问权限,注释下图红圈部分内容

修改tomcat server.xml文件,配置服务访问端口
vim /home/tomcat/apache-tomcat-8.5.24-solr/conf/server.xml

    <Connector port="8080" protocol="HTTP/1.1"
               maxHttpHeaderSize="8192"
               connectionTimeout="20000"
               maxThreads="150"
               maxSpareThreads="75"
               redirectPort="8443" />
       <!-- A "Connector" using the shared thread pool-->

修改solr配置文件 host设置为本机IP,port设置和tomcat端口一致,均为8080

vim /home/tomcat/apache-tomcat-8.5.24-solr/solrhome/solr.xml

	<solr>
	
	<solrcloud>
	
		<str name="host">${host:10.6.11.19}</str>
		<int name="hostPort">${jetty.port:8080}</int>
		<str name="hostContext">${hostContext:solr}</str>
	
		<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
	
		<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
		<int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
		<int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
		<str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
		<str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>
	
	</solrcloud>
	
	<shardHandlerFactory name="shardHandlerFactory"
		class="HttpShardHandlerFactory">
		<int name="socketTimeout">${socketTimeout:600000}</int>
		<int name="connTimeout">${connTimeout:60000}</int>
	</shardHandlerFactory>
	
	</solr>

重启tomcat 服务,验证安装
访问地址:http://IP:8080/solr/#/

出现以上页面,solr就已成功部署到tomcat容器内

创建根据需求创建分片
使用以下命令进行创建:
http://IP:8080/solr/admin/collections?action=CREATE&name=分片名称&numShards=分片数&replicationFactor=副本数&maxShardsPerNode=节点数&collection.configName=conf目录名称
例如:

http://10.6.11.19:8080/solr/admin/collections?action=CREATE&name=user&numShards=2&replicationFactor=3&maxShardsPerNode=3&collection.configName=user
出现以下参数即说明分片创建成功

访问http://IP:8080/solr/#/~cloud 验证分片

使用此命令创建了两个分片,三个副本
一般只可以创建两个副本,增加&maxShardsPerNode=3&collection.configName=user 参数突破副本创建限制

posted @ 2020-04-23 14:34  ArchitecTang  阅读(182)  评论(0编辑  收藏  举报