zoukankan      html  css  js  c++  java
  • Solrcloud集群搭建

    Solrcloud集群搭建

    使用solrcloud有几点需要注意的: 索引数据量比较大;配置是统一的(zookeeper会保持配置信息的一致性)

    如果索引数据量不大,并且需求变动比较多,field要经常变动的可以考虑用multicore的模式。

    规划

    虚拟机环境centos6.2 64位系统 三台1G内存的虚机 网卡模式是NAT(测试环境推荐使用NAT)

    192.168.139.121 master

    192.168.139.122 slave1

    192.168.139.123 slave2

    修改 /etc/hosts 文件加入上面的域名

    修改主机名 vi /etc/sysconfig/network

    切记关闭防火墙(否则zookeeper启动 zkServer.sh status查看状态会找不到各自的角色)

    首先要搭建的是zookeeper集群

    Zookeeper集群的机器个数推荐是奇数台,半数机器挂掉,服务是可以正常提供的

    所有需要的软件首先上传到 /soft下

    使用的zookeeper.3.4.5.tar.gz 稳定版

    tar –zxvf zookeeper.3.4.5.tar.gz

    cd zookeeper.3.4.5/conf

    mv zoo_sample.cfg zoo.cfg //修改配置文件名

    mkdir /soft/zookeeper-data //zookeeper的数据存储位置

    mkdir /soft/zookeeper-data/logs //zookeeper的日志文件位置

    vi /zookeeper.3.4.5/conf/zoo.cfg

    修改

    dataDir=/soft/zookeeper-data

    dataLogDir=/soft/zookeeper-data/logs

    //添加zookeeper的集群配置

    server.1=192.168.139.121:2888:3888

    server.2=192.168.139.122:2888:3888

    server.3=192.168.139.123:2888:3888

    或者用域名

    server.1=master:2888:3888

    server.2=slave1:2888:3888

    server.3=slave2:2888:3888

    然后分别在每台机器的/soft/zookeeper-data 下创建myid文件存储该机器的标识码 比如server.1 的标识码就是 “1” myid文件的内容就一行 “1”

    配置完一台可以使用scp 把配置发到其他两台(使用scp前提是配置了无密钥通信的机器之间,省的来回换机子麻烦)。

    Scp –r /soft/zookeeper.3.4.5 master@slave1:/soft/zookeeper.3.4.5

    Scp –r /soft/zookeeper.3.4.5 master@slave2:/soft/zookeeper.3.4.5

    或者每台手动做修改

    配置完成启动服务(启动切记关闭所有的防火墙,不然启动状态会没有角色说明)

    Cd /soft/zookeeper.3.4.5/bin

    ./zkServer.sh start

    //查看启动状态

    ./zkServer.sh status

    clip_image001

    clip_image002

    查看启动的监听客户端的端口是2181 默认

    Mode:leader表示的是该zookeeper在集群中的角色

    像上述这样表名zookeeper的集群启动成功。

    Solrcloud分布式集群

    解压D:apache-solr-4.3.0examplewebappssolr.war

    并将solr-4.3.1examplelibext下面的jar 拷贝到解压后的solr/WEB-INF/lib下

    创建/usr/local/solrcloud目录

    在目录/usr/local/solrcloud/config-files 放置solr的所有配置文件比如solrconfig.xml

    该目录下的所有配置文件是 D:apache-solr-4.3.0examplesolrcollection1conf 下的所有文件

    schema.xml 等

    在目录/usr/local/solrcloud/solr-lib放置solr/WEB-INF/lib下的所有jar包

    将整理好的solr项目拷贝到/soft/apache-tomcat-6.0.37/webapps下

    创建solr的数据目录/soft/solr-cores

    并在该目录下生成solr.xml solr的核配置文件

    <?xml version="1.0" encoding="UTF-8" ?>

    <solr persistent="true">

    <logging enabled="true">

    <watcher size="100" threshold="INFO" />

    </logging>

    <cores adminPath="/admin/cores" host="${host:}" hostPort="8080" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">

    </cores>

    </solr>

    在/soft/apache-tomcat-6.0.37/conf/Catalina/localhost

    创建solr.xml

    Solr/home的配置文件

    <?xml version="1.0" encoding="UTF-8"?>

    <Context docBase="/soft/apache-tomcat-6.0.37/webapps/solr" debug="0" crossContext="true">

    <Environment name="solr/home" type="java.lang.String" value="/soft/solr-cores" override="true"/>

    </Context>

    同时修改tomcat/bin/cataina.sh

    JAVA_OPTS="-DzkHost=master:2188,slave1:2188,slave2:2188"

    clip_image003

    把修改好的tomcat 打包tomcat.zip 发送到slave1,slave2

    Scp tomcat.zip root@slave1:/soft/

    Scp tomcat.zip root@slave2:/soft/

    ./zkCli.sh -server master:2188 //连接zookeeper查看上面的文件存储情况

    clip_image004

    上传配置文件到zookeeper

    java -classpath .:/usr/local/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost master:2188 -confdir /usr/local/solrcloud/config-files/ -confname myconf

    连接zookeeper的配置内容

    java -classpath .:/usr/local/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection -confname myconf -zkhost master:2188

    cd apache-tomcat-6.0.37/bin

    ./startup.sh

    访问solr url:http://192.168.139.121:8080/solr

    因为没有穿件任何核和节点所以 会有如下的提示页

    clip_image005

    //创建数据集collection 并指定 分片数,冗余节点数

    curl 'http://192.168.139.121:8080/solr/admin/collections?action=CREATE&

    name=mycollection&numShards=1&replicationFactor=1&maxShardsPerNode=1’

    生成的节点信息 (单节点的)

    clip_image007

    多节点

    三台机器的情况:

    java -classpath .:/usr/local/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost master:2188,slave1:2188,slave2:2188 -confdir /usr/local/solrcloud/config-files/ -confname myconf

    连接zookeeper的配置信息

    java -classpath .:/usr/local/solrcloud/solr-lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection -confname myconf -zkhost master:2188,slave1:2188,slave2:2188

    创建collection 指定最多3个分片和冗余节点

    curl 'http://192.168.139.121:8080/solr/admin/collections?action=CREATE&name=collection&numShards=3&replicationFactor=3&maxShardsPerNode=3'

    执行完无报错信息 说明成功了

    clip_image009

    建好的collection 还创建未分片

    clip_image011

    正常的创建效果应该是这样的

    /soft/solr-cores/下会多出索引的存储目录

    clip_image013

    创建分片和副本

    //122,123上

    //创建121的分片和副本

    curl 'http://192.168.139.122:8080/solr/admin/cores?action=CREATE&name=collection_shard1_replica_2&collection=collection&shard=shard1'

    curl 'http://192.168.139.123:8080/solr/admin/cores?action=CREATE&name=collection_shard1_replica_2&collection=collection&shard=shard1'

    //121,123

    //创建122的分片和副本

    curl 'http://192.168.139.121:8080/solr/admin/cores?action=CREATE&name=collection_shard2_replica_2&collection=collection&shard=shard2'

    curl 'http://192.168.139.123:8080/solr/admin/cores?action=CREATE&name=collection_shard2_replica_2&collection=collection&shard=shard2'

    //122,121

    //创建123的分片和副本

    curl 'http://192.168.139.121:8080/solr/admin/cores?action=CREATE&name=collection_shard3_replica_3&collection=collection&shard=shard3'

    curl 'http://192.168.139.122:8080/solr/admin/cores?action=CREATE&name=collection_shard3_replica_3&collection=collection&shard=shard3'

  • 相关阅读:
    自定义字体(特殊字体)在网页中的应用
    面向对象中的接口和多态
    抽象类和抽象方法
    python简单的函数定义和用法实例
    python简单的函数定义和用法实例
    Python变量和字符串详解
    Python变量和字符串详解
    大数据产业发展 三大模式可毕其功于一役
    大数据产业发展 三大模式可毕其功于一役
    python实现基于两张图片生成圆角图标效果的方法
  • 原文地址:https://www.cnblogs.com/leejean/p/6103635.html
Copyright © 2011-2022 走看看