导航:首页 > IDC知识 > solr服务器搭建

solr服务器搭建

发布时间:2020-10-27 03:31:36

1、如何备份solr集群的数据到Linux本地?

一般对于数据量抄在千万级一下,单机版的solr足以应付日常查询。相对于solr集群不同,单机版的solr一旦服务器出现问题,不仅数据丢失还回造成查询应用崩溃,所以建立主从配置进行数据备份或者备用服务器还是比较重要的。
搭建好两个solr服务,一个在window上运行作为从服务器,用于备份数据,一个主服务器运行在linux上,solr单机版搭建(6.4.2)参照linux搭建solr6.4.2。
solr用于备份是利用了replication handler,如果没有从服务器,主服务器直接进行备份可以将数据在主服务器本机做一次备份,可以使用http执行或者curl方法执行,下面是直接在地址栏执行:

2、solr部署在weblogic上,项目中做增删改查,每次都要重启solr才行,不报错,在本地好的,服务器上就不行了

看下配置文件是否出问题了

3、什么样的网站需要solrcloud吗

现在我们来剖析下这样一个简单的集群构建的基本流程:
先从第一台solr服务器说起:
1) 它首先启动一个嵌入式的Zookeeper服务器,作为集群状态信息的管理者,
2) 将自己这个节点注册到/node_states/目录下
3) 同时将自己注册到/live_nodes/目录下
4)创建/overseer_elect/leader,为后续Overseer节点的选举做准备,新建一个Overseer,
5) 更新/clusterstate.json目录下json格式的集群状态信息
6) 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
7)上传本地配置文件到Zookeeper中,供集群中其他solr节点使用
8) 启动本地的Solr服务器,
9) Solr启动完成后,Overseer会得知shard中有第一个节点进来,更新shard状态信息,并将本机所在节点设置为shard1的leader节点,并向整个集群发布最新的集群状态信息。
10)本机从Zookeeper中再次更新集群状态信息,第一台solr服务器启动完毕。
然后来看第二台solr服务器的启动过程:
1) 本机连接到集群所在的Zookeeper,
2) 将自己这个节点注册到/node_states/目录下
3) 同时将自己注册到/live_nodes/目录下
4) 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
5) 从集群中保存的配置文件加载Solr所需要的配置信息
6) 启动本地solr服务器,
7) solr启动完成后,将本节点注册为集群中的shard,并将本机设置为shard2的Leader节点,
8) 本机从Zookeeper中再次更新集群状态信息,第二台solr服务器启动完毕。
示例2,包含2个shard的集群,每个shard中有replica节点

4、linux服务器上solr怎么更新数据库数据

全部实时更新耗资源,敏感表实时更新,非敏感数据定时更新就行。写个SQL脚本,放在linux服务器定时执行,开AB数据库对linux服务器的增、改、查权限。

5、怎么在Eclipse中将文件传给Solr服务器

用tortiseSVN登陆SVN,右键单击选择create folder可以创建文件件,然后将项目的文件夹传上去;或者右键单击选择 add folder 把项目的文件夹传上去。如果在eclipse下需要安装一个SVN的插件,才能checkout/in文件或工程项目。

6、如何向solr服务器提交大日志文件

public static void main(String[] args) {
    try {
      //Solr cell can also index MS file (2003 version and 2007 version) types.
      String fileName = "c:/Sample.pdf"; 
      //this will be unique Id used by Solr to index the file contents.
      String solrId = "Sample.pdf"; 
       
      indexFilesSolrCell(fileName, solrId);
       
    } catch (Exception ex) {
      System.out.println(ex.toString());
    }
  }
   
  /**
   * Method to index all types of files into Solr. 
   * @ fileName
   * @param solrId
   * @throws IOException
   * @throws SolrServerException
   */
  public static void indexFilesSolrCell(String fileName, String solrId) 
    throws IOException, SolrServerException {
     
    String urlString = "http://localhost:8983/solr"; 
    SolrServer solr = new CommonsHttpSolrServer(urlString);
     
    ContentStreamUpdateRequest up 
      = new ContentStreamUpdateRequest("/update/extract");
     
    up.addFile(new File(fileName));
     
    up.setParam("literal.id", solrId);
    up.setParam("uprefix", "attr_");
    up.setParam("fmap.content", "attr_content");
     
    up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
     
    solr.request(up);
     
    QueryResponse rsp = solr.query(new SolrQuery("*:*"));
     
    System.out.println(rsp);
  }

7、为什么要使用solrcloud

现在我们来剖析下这样一个简单的集群构建的基本流程:
先从第一台solr服务器说起:
1) 它首先启动一个嵌入式的Zookeeper服务器,作为集群状态信息的管理者,
2) 将自己这个节点注册到/node_states/目录下
3) 同时将自己注册到/live_nodes/目录下
4)创建/overseer_elect/leader,为后续Overseer节点的选举做准备,新建一个Overseer,
5) 更新/clusterstate.json目录下json格式的集群状态信息
6) 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
7)上传本地配置文件到Zookeeper中,供集群中其他solr节点使用
8) 启动本地的Solr服务器,
9) Solr启动完成后,Overseer会得知shard中有第一个节点进来,更新shard状态信息,并将本机所在节点设置为shard1的leader节点,并向整个集群发布最新的集群状态信息。
10)本机从Zookeeper中再次更新集群状态信息,第一台solr服务器启动完毕。
然后来看第二台solr服务器的启动过程:
1) 本机连接到集群所在的Zookeeper,
2) 将自己这个节点注册到/node_states/目录下
3) 同时将自己注册到/live_nodes/目录下
4) 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
5) 从集群中保存的配置文件加载Solr所需要的配置信息
6) 启动本地solr服务器,
7) solr启动完成后,将本节点注册为集群中的shard,并将本机设置为shard2的Leader节点,
8) 本机从Zookeeper中再次更新集群状态信息,第二台solr服务器启动完毕。
示例2,包含2个shard的集群,每个shard中有replica节点

8、如何向solr服务器提交大日志文件

java代码041424344public static void main(String[] args) { try { //Solr cell can also index MS file (2003 version and 2007 version) types. String fileName = "c:/Sample.pdf"; //this will be unique Id used by Solr to index the file contents. String solrId = "Sample.pdf"; indexFilesSolrCell(fileName, solrId); } catch (Exception ex) { System.out.println(ex.toString()); } } /** * Method to index all types of files into Solr. * @param fileName * @param solrId * @throws IOException * @throws SolrServerException */ public static void indexFilesSolrCell(String fileName, String solrId) throws IOException, SolrServerException { String urlString = "localhost:8983/solr"; SolrServer solr = new CommonsHttpSolrServer(urlString); ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract"); up.addFile(new File(fileName)); up.setParam("literal.id", solrId); up.setParam("uprefix", "attr_"); up.setParam("fmap.content", "attr_content"); up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); solr.request(up); QueryResponse rsp = solr.query(new SolrQuery("*:*")); System.out.println(rsp); }

9、solrcloud怎样删除配置文件

现在我们来剖析下这样一个简单的集群构建的基本流程:
先从第一台solr服务器说起:
1) 它首先启动一个嵌入式的Zookeeper服务器,作为集群状态信息的管理者,
2) 将自己这个节点注册到/node_states/目录下
3) 同时将自己注册到/live_nodes/目录下
4)创建/overseer_elect/leader,为后续Overseer节点的选举做准备,新建一个Overseer,
5) 更新/clusterstate.json目录下json格式的集群状态信息
6) 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
7)上传本地配置文件到Zookeeper中,供集群中其他solr节点使用
8) 启动本地的Solr服务器,
9) Solr启动完成后,Overseer会得知shard中有第一个节点进来,更新shard状态信息,并将本机所在节点设置为shard1的leader节点,并向整个集群发布最新的集群状态信息。
10)本机从Zookeeper中再次更新集群状态信息,第一台solr服务器启动完毕。
然后来看第二台solr服务器的启动过程:
1) 本机连接到集群所在的Zookeeper,
2) 将自己这个节点注册到/node_states/目录下
3) 同时将自己注册到/live_nodes/目录下
4) 本机从Zookeeper中更新集群状态信息,维持与Zookeeper上的集群信息一致
5) 从集群中保存的配置文件加载Solr所需要的配置信息
6) 启动本地solr服务器,
7) solr启动完成后,将本节点注册为集群中的shard,并将本机设置为shard2的Leader节点,
8) 本机从Zookeeper中再次更新集群状态信息,第二台solr服务器启动完毕。
示例2,包含2个shard的集群,每个shard中有replica节点

10、solr5.2.1怎么得到SolrServer实例,求各位大神指点迷津

SolrServer实例化类型有httpClient,和本地化,如果Solr服务器不在本地就用httpClient,在本地就用EmbeddedSolrServer
SolrServer可以操作索引,包括更新删除查询等操作
以下是httpClient实例化方式,需要tomcat运行Solr服务
1、ConcurrentUpdateSolrServer实例化SolrServer,该类实例化多用于更新删除索引操作

ConcurrentUpdateSolrServer(String solrServerUrl, int queueSize, int threadCount)

solrServerUrl是Solr服务器的地址,

queueSize缓冲区大小

threadCount 后台线程数<br><br>

2、HttpSolrServer 实例化SolrServer,该类实例化多用于查询操作

HttpSolrServer(String baseURL)

baseURL是Solr的服务器地址

3、LBHttpSolrServer实例化SolrServer,用于有多个Solr服务器,负载均衡

LBHttpSolrServer(String... solrServerUrls)

solrServerUrls是多个Solr的服务器地址,用,号分隔
以下是本地实例化,即项目包含Solr服务,不需要tomcat运行Solr服务
EmbeddedSolrServer

private static CoreContainer.Initializer initializer = null;
private static CoreContainer coreContainer = null;
private static EmbeddedSolrServer server = null;
static {
try {
System.setProperty("solr.solr.home", "D://test//solrcore//core0");
initializer = new CoreContainer.Initializer();
coreContainer = initializer.initialize();
server = new EmbeddedSolrServer(coreContainer, "");
} catch (Exception e) {
e.printStackTrace();
}
}

与solr服务器搭建相关的知识