• SolrCloud搭建


    什么是SolrCloud?

      SolrCloud是基于 solr 和 zookeeper 的分布式搜索方案,它的主要思想是使用zookeeper作为SolrCloud集群的配置信息中心,统一管理SolrCloud的配置。SolrCloud一般都是解决大数据量,大并发的搜索服务。 SolrCloud将索引数据进行shard拆分(分片),每个分片有多台服务器共同完成,当一个索引或搜索请求过来时会分别从不同的shard的服务器中操作索引。

    什么时候使用到SolrCloud?

      当你需要大规模,高容错率,分布式索引和检索能力时使用solrcloud。当索引量很大,搜索请求并发很高,这时需要使用solrcloud满足这些需求。当一个系统的索引数据量少的时候是不需要使用solrcloud的。

    SolrCloud有什么特色功能?

      1、集中式的配置信息:使用zk进行集中配置,启动时可以指定把solr的相关配置文件上传zookeeper,多机器共用同一套配置。这些zk中的配置不会再拿到本地缓存,solr直接读取zk中的配置信息。另外配置文件的变动,所有机器都可以感知到。

      2、自动容错:solrcloud对索引分片,并对每个分片(shard)创建多个replication。每个 replication 都可以对外提供服务。一个 replication 挂掉不会影响索引服务,更强大的是,solrcloud还能自动的在其它机器上帮你把失败机器上的索引replication重建并投入使用。

      3、近实时搜索:立即推送式的replication(也支持慢推送),可以在秒内检索到新加入索引。

      4、查询时自动负载均衡:solrcloud 索引的多个replication可以分布在多台机器上,均衡查询压力,如果压力大,可以通过扩展机器,增加replication来减缓。

      5、除此之外,solrcloud还提供了其他一些特色功能:

          a 、可将索引存储在HDFS上

          b、 通过MR批量创建索引

          c、 强大的restful API

    一、集群安装环境准备

    #首先在三台服务器上单独安装solr(做到解压到/app目录下,可以正常启动就可以了)
    可以参考:https://www.cnblogs.com/hsyw/p/13414681.html
    #zookeeper作为SolrCloud集群的配置信息中心、所以还得先安装zookeeper集群
    zookeeper集群安装:https://www.cnblogs.com/hsyw/p/13208716.html

    二、集群安装(三台机器都改)

    #进入到bin目录、修改solr.in.sh文件
    [root@t1 ~]# cd /app/solr/bin
    找到#ZK_HOST=""改下成如下
    [root@t1 bin]# vim solr.in.sh
    ZK_HOST="192.168.47.188:2181,192.168.47.189:2181,192.168.47.190:2181"

    三、启动集群

    [root@t1 bin]#  ./solr start -cloud -force(启动命令不一样了)
    NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.

    Started Solr server on port 8983 (pid=11870). Happy searching!

    [root@t1 bin]# ss -ntl|grep 8983
    LISTEN     0      50         :::8983                   :::*          
    浏览器查看页面192.168.47.188:8983(189和190都试试,确保都没有问题)

    四、测试,新建分片

    4.1、上传配置文件到zk统一管理配置文件
    [root@t1 ~]# cd /app/solr/server/scripts/cloud-scripts
    #上传配置文件(用solr自带的做测试即可)
    #如果是自己上传的配置文件,三个节点都要上传
    #多个集合,就在zk新建一个节点统一管理
    [root@t1 cloud-scripts]# ./zkcli.sh -zkhost 192.168.47.188:2181,192.168.47.189:2181,192.168.47.190:2181 /test -cmd upconfig -confdir /app/solr/server/solr/configsets/_default/conf/ -confname myconf
    -confdir: 这个指的是 本地上传的文件位置
    -confname:上传后在zookeeper中的节点名称
    ###重启solr
    [root@t2 bin]# ./solr restart -cloud -force

    ###新建分片 浏览器输入
    http://192.168.47.188:8983/solr/admin/collections?action=CREATE&name=collection1&maxShardsPerNode=3&numShards=3&replicationFactor=3

    ####然后到页面查看、大功告成了

    4.2到zk中查看节点
    [root@t2 ~]# cd /app/zktst/bin
    #默认端口
    [root@t2 bin]# ./zkCli.sh
    [zk: localhost:2181(CONNECTED) 2] ls /test
    [configs]
    [zk: localhost:2181(CONNECTED) 3] ls /test/configs
    [myconf]

     

  • 相关阅读:
    数据结构
    查找算法
    排序算法
    ThreadPoolExecutor
    Python map()函数
    Python惰性序列
    Python iterator迭代器
    Python yield关键字 和 Generator(生成器)
    Python 列表生成式(List Comprehensions)
    Python 迭代(iteration)
  • 原文地址:https://www.cnblogs.com/hsyw/p/13415399.html
Copyright © 2020-2023  润新知