Ubuntu16.04和centos7安装Solr集群


2017-08-20 Ubuntu16.04LTS和centos7安装Solr集群

1、 Solr单机版安装配置

下载solr
Solr和lucene的版本是同步更新的,最新的版本是5.2.1
本课程使用的版本:4.10.3

下载地址:http://archive.apache.org/dist/lucene/solr/
下载版本:4.10.3
Linux下需要下载lucene-4.10.3.tgz,windows下需要下载lucene-4.10.3.zip。

第一步:安装tomcat

第二步:将以下的war包,拷贝到tomcat的webapps目录下
    solr-4.10.3/example/webapps下的war包拷贝

第三步:解压缩war包    解压缩之后,将war包删掉

第四步:添加solr的扩展服务包
    solr-4.10.3/example/lib/ext目录中所有jar包拷贝到tomca7.0-solr/webapps/solr/WEB-INF/lib目录下

第五步:添加log4j.properties    将以下目录的文件进行拷贝
    solr-4.10.3/example/resource目录拷贝到tomca7.0-solr/webapps/solr/WEB-INF/classes
    如果没有此目录的话,需要自己手动创建

第六步:在web.xml中指定solrhome的目录
    在<env-entry>标签中value的值改/usr/local/solr/solrhome

2、 Solrcore的安装

1    Solrcore和solrhome
    Solrhome是solr服务运行的主目录,一个solrhome目录里面包含多个solrcore目录,一个solrcore目录里面了一个solr实例运行时所需要的配置文件和数据文件。

    每一个solrcore都可以单独对外提供搜索和索引服务。
    多个solrcore之间没有关系

2    Solrcore的安装
    安装solrcore需要先安装solrhome    将以下目录的文件进行拷贝
    mkdir /usr/local/solr/solr/home
    将solr-4.10.3/example/solr/ 目录中的所有文件 拷贝到/usr/local/solr/solrhome中
    这样solrhome和solrcore就安装成功了

3、 Solr集群的架构

SolrCloud    需要用到solr+zookeeper

4、 Zookeeper

1、集群管理
    主从的管理、负载均衡、高可用的管理。集群的入口。Zookeeper必须是集群才能保证高可用。
    Zookeeper有选举和投票的机制。集群中至少应该有三个节点。

2、配置文件的集中管理
    搭建solr集群时,需要把Solr的配置文件上传zookeeper,让zookeeper统一管理。每个节点都到zookeeper上取配置文件。

3、分布式锁

4、忘了

5、 集群需要的服务器

Zookeeper:3台
Solr:4台

伪分布式,zookeeper三个实例、tomcat(solr)需要四个实例。

Zookeeper需要安装jdk

6、 集群搭建步骤

第一部分:Zookeeper集群搭建

    第一步:需要把zookeeper的安装包上传到服务器

    第二步:把zookeeper解压

    第三步:把zookeeper向/usr/local/solr-cloud目录下复制三份

    第四步:配置zookeeper。

        1、在zookeeper01目录下创建一个data文件夹

        2、在data目录下创建一个myid的文件

        3、Myid的内容为1(02对应“2”,03对应“3”)

        4、Zookeeper02、03以此类推。

        5、进入conf文件,把zoo_sample.cfg文件改名为zoo.cfg

        6、修改zoo.cfg,把dataDir=属性指定为刚创建的data文件夹

        7、修改zoo.cfg,把clientPort指定为不冲突的端口号(01:2181、02:2182、03:2183)

        8、在zoo.cfg中最后一行添加如下内容:  自己主机的IP地址
            server.1=192.168.25.154:2881:3881
            server.2=192.168.25.154:2882:3882
            server.3=192.168.25.154:2883:3883
            修改如下内容:
            dataDir=/usr/local/solr-could/zookeeper01/data/
            clientport=2181

    第四步:启动zookeeper。
        Zookeeper的目录下有一个bin目录。使用zkServer.sh启动zookeeper服务。
        启动:./zkServer.sh start
        关闭:./zkServer.sh stop
        查看服务状态:./zkServer.sh status

第二部分:搭建solr集群

    第一步:安装四个tomcat,修改其端口号不能冲突。8080~8083

    第二步:向tomcat下部署solr。把单机版的solr工程复制到tomcat下即可。

    第三步:为每个solr实例创建一solrhome

    第四步:为每个solr实例关联对应的solrhome。修改web.xml

    第五步:修改每个solrhome下的solr.xml文件。修改host、hostPort两个属性。分别是对应的ip及端口号
            ${host:主机的主机IP}
            ${jetty:port:8080}

    第六步:把配置文件上传到zookeeper。需要使用
        /root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh命令上传配置文件。
        把/usr/local/solr-cloud/solrhome01/collection1/conf目录上传到zookeeper。

        需要zookeeper集群已经启动。
        ./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

    第七步:查看是否上传成功。
        使用zookeeper的zkCli.sh命令

    第八步:告诉solr实例zookeeper的位置。需要修改tomcat的catalina.sh添加
        JAVA_OPTS="-DzkHost=192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"
        每个节点都需要添加。

    第九步:启动每个solr实例

    第十步:集群分片。
        将集群分为两片,每片两个副本。
        http://192.168.25.154:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

    第十一步:删除不用collection1
        http://192.168.25.154:8080/solr/admin/collections?action=DELETE&name=collection1

文章作者: 邓滔
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 邓滔 !
评论
  目录