1.查询性能不同。当实时建立索引的时候,solr会产生io阻塞,而es则不会,es查询性能要高于solr
2.检索效率不同。在不断动态添加数据的时候,solr的检索效率会变的低下,而es则没有什么变化
3.管理方式不同。Solr利用zookeeper进行分布式管理,而es自身带有分布式系统管理功能。Solr一般都要部署到web服务器上
4.文件格式不同。Solr支持更多的格式数据[xml,json,csv等],而es仅支持json文件格式
1.2. tomcat调优调优tomcat 加大内存和连接数
MaxThread 500
MinSpareThread 25
MaxSpareThread75
Xmx 1024M
1.3. *** 作系统网络参数优化
用做测试的各台服务器,均在/etc/sysctl.conf配置文件中增加如下内核参数:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 5
1.4. 下载solr
下载地址:http://lucene.apache.org/solr/
详情请见:http://lucene.apache.org/solr/
2. 安装过程
2.1. 安装tomcat6
安装完tomcat后修改./conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
注:如果没有设置URIEncoding="UTF-8",在提交查询的select的url会出现乱码,当然也就查不到了。
2.2. 拷贝solr.war
将下载的solr包下面的dist文件夹中的apache-solr-1.4.1.war 拷贝到 tomcat的webapps 并且改名为 solr.war 一般情况下会自动生成相应的文件夹。
2.3. 拷贝其它
新建/opt/solr-tomcat/solr文件夹,把下载的solr包中的example/solr文件夹下面的所有文件放入到/opt/solr-tomcat/solr里面。
2.4. 配置solr.home
最后一步 配置添加solr.home环境变量,可以有二种方式(两种取其一即可):
a)基于环境变量
linux在当前用户的环境变量中(.bash_profile)或在./bin/catalina.sh中添加如下环境变量:
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr-tomcat/solr"
b)基于JNDI
在tomcat的conf文件夹建立Catalina文件夹,然后在Catalina文件夹中在建立localhost文件夹,在该文件夹下面建立 solr.xml,Xml代码:
<Context docBase="/usr/local/tomcat6/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="Java.lang.String" value="/opt/solr-tomcat/solr" override="true" />
</Context>
注:如果没有设定solr.solr.home环境变量或JNDI的情况下,Solr查找./solr,因此在启动时候需要切换到/opt/solr-tomcat
3. 验证安装
访问solr管理界面 http://ip:port/solr
3.1. 打开管理后台
打开浏览器,输入:http://192.168.10.85:18080/solr/admin/
(注:多核心时为这个地址http://192.168.10.85:18080/solr/,首页会列出多核的链接,点击进入),就可以访问solr服务了
3.2. 如果出现如下图示,表示配置成功
一般对于数据量在千万级一下,单机版的solr足以应付日常查询。相对于solr集群不同,单机版的solr一旦服务器出现问题,不仅数据丢失还回造成查询应用崩溃,所以建立主从配置进行数据备份或者备用服务器还是比较重要的。搭建好两个solr服务,一个在window上运行作为从服务器,用于备份数据,一个主服务器运行在linux上,solr单机版搭建(6.4.2)参照linux搭建solr6.4.2。
solr用于备份是利用了replication handler,如果没有从服务器,主服务器直接进行备份可以将数据在主服务器本机做一次备份,可以使用http执行或者curl方法执行,下面是直接在地址栏执行:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)