知识点
相关文章
更多最近更新
更多安装配置apache-solr(使用apache-tomcat容器)
2019-03-27 00:23|来源: 网路
1.安装配置tomcat:
略
2.访问一下,看tomcat有没安装配置成功如果成功的话开始配置solr服务器(企业应用搜索服务器):
拷贝solr.war到tomcat目录:
cp -fr solr-4.8.1/example/webapps/solr.war /app01/tomcat-8.0.8/webapps/
创建solr主目录并拷贝文件
mkdir /app01/tomcat-8.0.8/solrhome
cp -a solr-4.8.1/example/solr/* /app01/tomcat-8.0.8/solrhome/
配置solr home 有三种方法可以配置solr home,任选一种即可: 1,直接修改JAVA全局环境变量:(适用于该机器只有一个Solr实例):
1.第一种:
2.修改TOMCAT_HOME/bin/catalina.sh,在文件开头添加:JAVA_OPTS=’-Dsolr.solr.home=/usr/local/solr’;
3.创建solr.xml文件放于TOMCAT_HOME/conf/Catalina/localhost,内容如下: 可能会目录不存在,其实启动一下tomcat,目录就会有了,也可以自己创建:
vi /app01/tomcat-8.0.8/conf/Catalina/localhost/solr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="TOMCAT_HOME/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/app01/tomcat-8.0.8/solrhome" override="true" />
</Context>
我一般使用第三种方式 其实安装solr最主要的就是配置solr home,配置好之后,就可以启动tomcat了
可能会无法访问,4.4需要拷贝一些solr的jar文件过去:
再重启一下tomcat访问应该就正常了 访问测试 :
下面开始做solr的主从:
master服务器的配置:
<requestHandler name=“/replication” class=“solr.ReplicationHandler” >
<lst name=“master”>
<!� 执行commit操作后进行replicate操作同样的设置’startup’, ‘commit’, ‘optimize�>
<str name=“replicateAfter”>commit</str>
<!� 执行startup操作后进行replicate操作�>
<str name=“replicateAfter”>startup</str>
<!� 复制索引时也同步以下配置文件�>
<str name=“confFiles”>schema.xml,stopwords.txt</str>
<!� 验证信息, 由用户自定义用户名�>
<str name=“httpBasicAuthUser”>jacoxu</str>
<!� 验证信息, 由用户自定义密码�>
<str name=“httpBasicAuthPassword”>123</str>
</lst>
</requestHandler>
slave服务器的配置:
<requestHandler name=“/replication” class=“solr.ReplicationHandler” >
<lst name=“slave”>
<!� 主服务器的URL, 对于多核同步配置,一一对应即可�>
<str name=“masterUrl”>http://127.0.0.1:8080/solr/core0</str>
<!� 60秒进行一次同步操作�>
<str name=“pollInterval”>00:00:60</str>
<!� 压缩机制,来传输索引, 可选internal|external, internal内网, external外网�>
<str name=“compression”>internal</str>
<!� 设置超时时间�>
<str name=“httpConnTimeout”>50000</str>
<str name=“httpReadTimeout”>500000</str>
<!� 验证信息, 要与master服务ser器匹配�>
<str name=“httpBasicAuthUser”>jacoxu</str>
<str name=“httpBasicAuthPassword”>123</str>
</lst>
</requestHandler>
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。以下讲解具体操作步骤:
步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。
主服务器:
在solrConfig.xml中:
Xml代码 收藏代码
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="confFiles">schema.xml,solrconfig_slave.xml:solrconfig.xml</str>
<str name="commitReserveDuration">00:01:00</str>
</lst>
</requestHandler>
说明:
replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。
从服务器:
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="slave">
<str name="masterUrl">http://192.168.172.2:7100/solr/${solr.core.name}/replication</str>
<str name="pollInterval">00:08:00</str>
<!-- external 很容易有索引大小不对, 压缩文件损坏这2个问题, 导致复制无法进行, 且一直复制失败, 测试下来internal没任何问题 -->
<str name="compression">internal</str>
<str name="httpConnTimeout">1000</str>
<str name="httpReadTimeout">2000</str>
</lst>
</requestHandler>
说明:
masterUrl : 主服务器同步URL地址
pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
httpConnTimeout:设置连接超时(单位:毫秒)
httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
httpBasicAuthUser:验证用户名,需要和主服务器一致
httpBasicAuthPassword:验证密码,需和主服务器一致
compression:external or internal 使用SOLR自己的压缩算法或应用容器的
转自:http://d109wuwei.blog.51cto.com/7411207/1426884
相关问答
更多-
tomcat下,怎么安装配置php ?(linux系统)[2022-09-18]
一、安装和系统环境变量设置 1、我使用的PHP为php-5.4.31,不用5.5以上版本的原因是,因为他们都是使用VC11编译的,需要一个DLL,win7及一下都不支持。下载VC9编译的PHP 5.4(5.4.31) for X86的已编译版本。我的安装目录是D:\Application\php-5.4.31, 将安装后的路径设置到系统环境变量path中。 2、perl直接下载安装即可(会自动配置环境变量,不用操心)。 3、Tomcat用的是7.0.41版本。很多文档要求将server/lib下servle ... -
apache-tomcat 与 windowsver 2008 共用80端口[2022-10-13]
都想到用nginx了,再搜一下你应该可以解决。 如果两个域名完全无关,分别指向独立的程序,直接配两个server就好了,当然apache也可以实现,反正都是反向代理 -
“Apache-tomcat" 到底是什么?[2023-01-16]
apache 是一个国际组织,关于技术的组织 tomcat是个web服务器,是apache组织开发的,都带个前缀 -
你好,首先确认你本机上已经安装了JDK,并且配置成功,这才是前提。 配置jdk的环境变量: JAVA_HOME=E:\Java classpath=.;E:\Java\一直到lib下 path=E:\Java\一直到bin下 就这样就OK了。
-
安装apache-tomcat后还用安apache吗[2020-10-18]
具体看你干啥了,如果单独搞jsp光tomcat也足够了。php的话还得安装apache。推荐使用一键安装免配置包jspStudy,一键配好jsp+php环境 -
在apache-tomcat中的ARP信息提示[2023-07-10]
这个信息只是Tomcat报告说用于优化性能的文件缺失,大多数情况下并不影响Tomcat的功能,所以不要紧。 -
eclipse中怎么连接apache-tomcat[2023-02-09]
Eclipse中添加tomcat服务器的方式: 1、打开eclipse开发平台界面,找到头部的工具栏中的“window” 2、点击window中的Preferences选项,在打开的preferences面板中找到Server,点击Runtime Environments,再点击右边的“Add”按钮。 3、在打开的添加服务器界面,选择本次要添加的tomcat服务器版本“Apache Tomcat v7.0”再点击“Next” 按钮 4、在打开的tomcat Server界面选择好tomcat安装路径,jre ... -
.htaccess是Apache Web服务器文件,而不是Tomcat。 Tomcat只是忽略这些文件。 如果您通过mod_jk提供应用程序,那么JkMount映射到的任何内容都由Tomcat提供,并且不会处理.htaccess。 如果您需要密码保护Tomcat目录,则需要在Tomcat中创建Realm并保护Web资源。 一个古老但我认为仍然是准确的例子 .htaccess are Apache Web Server files, not Tomcat. Tomcat just ignore these f ...
-
官方答案是:将其作为独立应用程序运行。 不再支持 从Solr 5.0开始,不再支持在像Tomcat这样的servlet容器中将Solr部署为WAR的支持。 有关如何将Solr安装为独立服务器的信息,请参阅安装Solr 。 关于此举的决定的背景可以在Solr Wiki上找到。 Solr旨在成为服务器而非Java Web应用程序,类似于mysql或Apache Web服务器。 首次创建Solr时,将其设计为Web应用程序是一个方便的选择,以避免编写大量棘手的代码来构建网络层。 如今,这一设计决定已成为限制因素。 ...
-
在任何insert/select/update/delete请求之前总是PING solr服务器 $solr = new Apache_Solr_Service($hostname, $portname,$core); if(!$solr->ping()) { echo "server not responding"; exit; } $solr->search($basicQuery, $start_limit,$end_limit,$params); always PIN ...