部署基于tomcat 8 的solrCloud 5.5集群
2017-08-02 14:29
666 查看
部署基于tomcat 8 的solrCloud 5.5集群
@(OTHERS)[solr]部署基于tomcat 8 的solrCloud 55集群
一版本及准备工作
二准备solr相关webapp内容并复制至tomcat
三准备配置文件并上传至zk
注意这里使用了managed-schema而不是schemaxml之后再分析
四准备solr的索引数据目录及配置
五配置tomcat并启动
有个小问题如果上面的URL不加上indexhtml则加载不成功看哪里的设置把默认加载index的配置去掉了这会不会影响索引等下试一下
六添加其它节点
七创建core
八使用API索引与搜索
1索引
2索引
九zk中的内容
十创建新的core
(一)版本及准备工作
1、下载并解压tomcat, solr至目录/home/hadoop/tomcat, /home/hadoop/solr其中版本为:
solr-5.5.2 tomcat-8.5.4
(二)准备solr相关webapp内容,并复制至tomcat
1、将/home/hadoop/solr-5.5.2/server/lib/ext/*中的jar包复制到/home/hadoop/solr-5.5.2/server/solr-webapp/webapp/WEB-INF/lib,主要是slf4j与log4j相关的jar包,tomcat加载solr时要用到这些jar包。cp /home/hadoop/solr-5.5.2/server/lib/ext/* /home/hadoop/solr-5.5.2/server/solr-webapp/webapp/WEB-INF/lib
2、将上述solr webapp整个目录复制到tomcat/webapps中,并重命名为solr
cp -r /home/hadoop/solr-5.5.2/server/solr-webapp/webapp /home/hadoop/tomcat-8.5.4/webapps/solr
(三)准备配置文件并上传至zk
1、准备一个collection配置文件一个collection需要至少schema.xml与solrconfig 2份配置文件,除此以外还有一些stopword,同义词等配置文件。我们使用官方提供的基本配置basic_configs
mkdir /home/hadoop/solr-5.5.2/conf cp -r /home/hadoop/solr-5.5.2/server/solr/configsets/basic_configs/conf /home/hadoop/solr-5.5.2/conf/basic_configs
注意这里使用了managed-schema,而不是schema.xml。之后再分析。
2、将配置文件上传至zkjava -classpath .:/home/hadoop/tomcat-8.5.4/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 10.120.69.101:2181,10.120.69.100:2181,10.120.69.102:2181/solr55 -confdir /home/hadoop/solr-5.5.2/conf/basic_configs -confname basic_configs
然后再到zk中检查配置是否成功上传。
(四)准备solr的索引数据目录及配置
1、创建用于保存索引文件的目录mkdir /disk1/solr55/data/solr-core chown -R hadoop:hadoop /disk1/solr55
注意这个目录的权限。
2、将solr.xml复制到上述目录
cp /home/hadoop/solr-5.5.2/server/solr/solr.xml /disk1/solr55/data/solr-core/
3、 修改solr.xml,修改hostPort和Tomcat端口一致
<int name="hostPort">8080</int>
(五)配置tomcat并启动
1、在tomca/conf目录下创建Catalina/localhost目录mkdir -p /home/hadoop/tomcat-8.5.4/conf/Catalina/localhost
2、在上述目录中创建solr.xml,此为Solr/home的配置文件。
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/home/hadoop/tomcat-8.5.4/webapps/solr" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/disk1/solr55/data/solr-core/" override="true"/> </Context>
3、修改bin/catalina.sh中的JAVA_OPTS变量,加上zk的配置:
JAVA_OPTS="$JAVA_OPTS -DzkHost=10.120.69.101:2181,10.120.69.100:2181,10.120.69.102:2181/solr55"
4、启动tomcat
bin/startup.sh
注意先为几个脚本加上权限:
chmod +x startup.sh shutdown.sh catalina.sh
5、验证UI
http://10.120.69.104:8080/solr/index.html
有个小问题:如果上面的URL不加上index.html则加载不成功,看哪里的设置把默认加载index的配置去掉了。这会不会影响索引,等下试一下。
6、建一个测试collection验证功能因为目前只有一台机器,所以只能建一个shard, 一个副本了。
配置文件使用上面的basic_configs
curl 'http://10.120.69.104:8080/solr/admin/collections?action=CREATE&name=collection_1&numShards=1&replicationFactor=1&collection.configName=basic_configs'
然后在UI上查看是否已经创建成功。
(六)添加其它节点
1、将/home/hadoop/solr-5.5.2、/home/hadoop/tomcat-8.5.4与/disk1/solr55/data/ 三个目录复制到其它机器相同的目录中。2、启动tomcat
(七)创建core
curl ‘http://10.120.69.104:8080/solr/admin/collections?action=CREATE&name=collection_2&numShards=2&replicationFactor=2&collection.configName=basic_configs’创建的2个core分别如下图:
(八)使用API索引与搜索
1、索引
public class IndexDemo { private static final String DEFAULT_COLLECTION = "collection4"; //private static final String SOLR_ZK = "10.120.69.101:2181/solr"; private static final String SOLR_ZK = "10.120.69.101:2181/solr55"; public static void main(String[] args) throws SolrServerException, IOException { SolrInputDocument doc = new SolrInputDocument();// 实例化索引Doc doc.addField("id", "index_demo");// 添加主键 //doc.addField("qualifier_col", "valuedemo");// 添加主键 CloudSolrClient client = new CloudSolrClient(SOLR_ZK);// cloud模式 client.setDefaultCollection(DEFAULT_COLLECTION); client.add(doc); //client.add("collection1", doc); client.commit(); client.close(); } }
2、索引
public class QueryDemo { private static final String DEFAULT_COLLECTION = "collection4"; private static final String SOLR_ZK = "10.120.69.101:2181/solr55"; // private static final String SOLR_ZK = "10.120.69.101:2181/solr"; public static void main(String[] args) throws SolrServerException, IOException { try (CloudSolrClient client = new CloudSolrClient(SOLR_ZK);) {// cloud模式 //根据id查doc SolrDocument doc = client.getById(DEFAULT_COLLECTION, "index_demo"); if(null != doc){ for (String field : doc.getFieldNames()) { System.out.println(field + " : " + doc.getFieldValues(field)); } } //根据field查doc SolrQuery query = new SolrQuery(); //query.setQuery(mQueryString); query.setRequestHandler("/query"); // query.set("q", "qualifier_col:valuedemo");//返回index_demo // query.set("q", "qualifier_col:valuedemo OR id:index_demo2");//返回index_demo // query.set("q", "qualifier_col:valuedemo AND id:index_demo2");//返回空 // query.set("q", "qualifier_col:valuede*");//返回index_demo QueryResponse response = client.query(DEFAULT_COLLECTION, query); for(SolrDocument doc2 :response.getResults()){ System.out.println(doc2.getFieldValue("id")); } } } }
(九)zk中的内容
[zk: 10.120.69.101(CONNECTED) 16] get /solr5/ configs clusterstate.json aliases.json live_nodes overseer overseer_elect collections
通过命令上传的配置文件都在configs目录中,collections中是各个collection的信息。
其它目录的详细信息以后再分析。
(十)创建新的core
1、准备配置文件2、上传至zk
java -classpath .:/home/hadoop/tomcat-8.5.4/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 10.120.69.101:2181,10.120.69.100:2181,10.120.69.102:2181/solr55 -confdir /home/hadoop/solr/myconf/ -confname myconf
3、创建core
curl 'http://10.120.69.104:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=1&collection.configName=myconf'
相关文章推荐
- SolrCloud+Solr-4.3.1+Tomcat-8.5.20+zookeeper-3.4.6+mmseg4j-1.9.1分布式集群部署
- 基于tomcat的solr4.0集群部署
- 基于tomcat的solr3.5集群部署
- 基于Tomcat的Solr3.5集群部署
- SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)
- SolrCloud 分布式集群安装部署(solr+ zookeeper +tomcat)
- 基于Docker 分布式部署solrCloud
- solr + tomcat 集群安装与部署
- solrCloud+tomcat+zookeeper集群配置
- solrCloud 4.9 分布式集群部署及注意事项
- solrcloud集群启动管理过程基于源码的分析
- Solr5.5集群安装部署及使用
- solr安装-tomcat+solrCloud构建稳健solr集群
- centos7自学之6-基于solr6.6的solrcloud集群搭建
- 170825、SolrCloud 分布式集群部署步骤
- windows下tomcat7+solr5.1+zookeeper3.4.6 伪集群SolrCloud配置
- SolrCloud集群部署
- solrCloud+tomcat+zookeeper集群配置
- solr安装-tomcat+solrCloud构建稳健solr集群
- SolrCloud集群部署