solr部署在tomcat下
solr默认启动用自带的jetty服务器,如果想将solr 部署在tomcat下,
如下操作能在 window / linux环境下都可以启动:
0 版本: solr-5.2.0 + apache-tomcat-7.0.68
1 将apache-tomcat-7.0.68.tar.gz解压到 /opt/tomcat7下, solr-5.2.0.zip解压到/opt/soft/solr-5.2.0下
2 将solr部署到Tomcat中
2.1)、将/opt/soft/solr-5.2.0/example/example-DIH目录下的solr文件夹复制到tomcat的根目录下,即:/opt/tomcat7下, 如下图:
2.2)、将/opt/soft/solr-5.2.0\server\webapps目录下的solr.war包复制到 /opt/tomcat7/webapps目录下,此时,启动Tomcat,成功启动Tomcat后,在该目录下会自动生成一个solr的文件夹,如下图
2.3)、修改/opt/tomcat7/webapps/solr/WEB-INF/web.xml,找到<env-entry>节点,该结点处于被注释状态,
去掉注释,按如下代码修改: 注意 /opt/solr_home 需要提前创建。 这样我们的solr collection和索引数据就会在这个目录上
这个在工作中,弄出80G内存映射成磁盘路径eg /tmp/memory,然后如下修改后在这个路径下创建的所有索引库和数据都存在了内存,这是我们工作中的一个应用案例!!!
1 <env-entry>
2 <env-entry-name>solr/home</env-entry-name>
3 <!--此路径应该是Tomcat的根目录-->
4 <env-entry-value>/opt/solr_home</env-entry-value>
5 <env-entry-type>java.lang.String</env-entry-type>
6 </env-entry>
2 <env-entry-name>solr/home</env-entry-name>
3 <!--此路径应该是Tomcat的根目录-->
4 <env-entry-value>/opt/solr_home</env-entry-value>
5 <env-entry-type>java.lang.String</env-entry-type>
6 </env-entry>
4)、将/opt/soft/solr-5.2.0/server/lib/ext目录下的所有jar包复制到/opt/tomcat7/webapps/solr/WEB-INF/lib目录下。
将/opt/soft/solr-5.2.0/dist/solr-dataimporthandler-5.2.0.jar 复制到/opt/tomcat7/webapps/solr/WEB-INF/lib目录
5)、将/opt/soft/solr-5.2.0/server/resources目录下的log4j.properties放到/opt/tomcat7/webapps/solr/WEB-INF/classes目录下,如果classes文件夹不存在就手动新建一个。
6 ) 重启tomcat, 查看是否启动成功可以看日志:
或者用命令:
然后浏览器访问 solr: http://hadoop3:8080/solr/
7) 创建索引库并在界面添加测试数据:
7.1) 创建索引库壳子: 这里我是用solr5.2的一个example,工作中需要自己定义你自己索引库的schema.xml(里面是你工作业务列的定义声明)
7.2) solr界面:
7.3) solr界面 向 new_core索引库添加测试数据:
7.4) 查询结果如下:
7.5) 如下上面案例 new_core索引数据位置:
8 solr日志位置:
tomcat + solr下,日志看两个地方: 以我上面安装案例为例
1 /opt/tomcat7/bin/logs/solr.log solr的日志
2 /opt/tomcat7/logs/catalina.out查看细节信息 比如tomcat重启后加载solr索引库信息
/opt/tomcat7/logs/catalina.2016-04-10.log 看tomcat启动是否正常日志
9 在一个节点上安装tomcat+solr,如果这个机器安装多个tomcat,如何查看我的tomcat是否开启:
15191是进程号
[root@hadoop3 ~]# ps -ef|grep tomcat root 15191 1 0 08:35 ? 00:02:07 /opt/jdk1.7/bin/java -Djava.util.logging.config.file=/opt/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/tomcat7/endorsed -classpath /opt/tomcat7/bin/bootstrap.jar:/opt/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat7 -Dcatalina.home=/opt/tomcat7 -Djava.io.tmpdir=/opt/tomcat7/temp org.apache.catalina.startup.Bootstrap start root 19063 18796 0 20:19 pts/1 00:00:00 grep tomcat
或者用:
# netstat -ntlp 查看你启动的端口是否开启了 n- numic l-listen p-program t-topic
tcp 0 0 ::ffff:172.16.251.113:8031 :::* LISTEN 3722/java tcp 0 0 ::ffff:172.16.251.113:8032 :::* LISTEN 3722/java tcp 0 0 ::ffff:172.16.251.113:8033 :::* LISTEN 3722/java tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 15191/java tcp 0 0 :::2181 :::* LISTEN 7228/java tcp 0 0 :::8009 :::* LISTEN 15191/java tcp 0 0 :::3306 :::* LISTEN 2238/mysqld tcp 0 0 :::8080 :::* LISTEN 15191/java
或者 # jps -l l-full package name for application
19101 sun.tools.jps.Jps 7228 org.apache.hadoop.hbase.zookeeper.HQuorumPeer 15191 org.apache.catalina.startup.Bootstrap 3396 org.apache.hadoop.hdfs.server.datanode.DataNode 3583 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode 3307 org.apache.hadoop.hdfs.server.namenode.NameNode 3722 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
或者 # jps -v : the arguments passed to the JVM
7228 HQuorumPeer -Dproc_zookeeper -XX:OnOutOfMemoryError=kill -9 %p -Xmx1000m -XX:+UseConcMarkSweepGC -Dhbase.log.dir=/opt/hbase-0.98.12/bin/../logs -Dhbase.log.file=hbase-root-zookeeper-hadoop3.log -Dhbase.home.dir=/opt/hbase-0.98.12/bin/.. -Dhbase.id.str=root -Dhbase.root.logger=INFO,RFA -Dhbase.security.logger=INFO,RFAS 15191 Bootstrap -Djava.util.logging.config.file=/opt/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/tomcat7/endorsed -Dcatalina.base=/opt/tomcat7 -Dcatalina.home=/opt/tomcat7 -Djava.io.tmpdir=/opt/tomcat7/temp
或者 ps -ef | grep tomcat:
[root@hadoop3 ~]# ps -ef | grep tomcat root 15191 1 0 09:16 ? 00:02:17 /opt/jdk1.7/bin/java -Djava.util.logging.config.file=/opt/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/tomcat7/endorsed -classpath /opt/tomcat7/bin/bootstrap.jar:/opt/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat7 -Dcatalina.home=/opt/tomcat7 -Djava.io.tmpdir=/opt/tomcat7/temp org.apache.catalina.startup.Bootstrap start root 19743 19539 0 22:50 pts/1 00:00:00 grep tomcat
10 tomcat+ solr下 , 如果 solr索引库很多,如何修改 tomcat 配置文件增加 jvm配置:
在 tomcat/bin/catalina.sh cygwin=false前,增加配置:
export JAVA_OPTS="-Xms4096m -Xmx4096m -XX:MaxNewSize=1024m -XX:MaxPermSize=8096m "
-Xms: 初始heap大小,即最小内存,CPU高时此值应该大一些 -Xmx: heap最大值,即最大内存 -XX:MaxNewSize 堆中设置新生代最大值 -XX:MaxPermSize 设定最大内存的永久保存区 永久代(方法区 类信息 静态属性 常量池)
相关推荐
年轻就要对味 2014-07-11
etnahh 2014-07-11
向日葵Solros 2014-07-11
向日葵Solros 2014-07-10
yaodilu 2020-05-10
SXIAOYI 2020-09-16
有心就有方向 2012-09-03
zfyaixue 2013-06-14
pigsmall 2020-11-19
Ladyseven 2020-07-25
whileinsist 2020-06-24
gufudhn 2020-06-12
冰蝶 2020-06-05
LinuxAndroidAI 2020-06-04
supperme 2020-05-28
e度空间 2020-04-27
云端漂移 2020-04-09
peterwzc 2020-03-17