solrcloud分布式集群部署&zookeeper集群安装

Solrcloud集群搭建

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

若是索引数据量不大,而且需求变更比较多,field要常常变更的能够考虑用multicore的模式。web

规划apache

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

192.168.139.121 master tomcat

192.168.139.122 slave1app

192.168.139.123 slave2curl

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

修改主机名 vi /etc/sysconfig/network分布式

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

首先要搭建的是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.0\example\webapps\solr.war

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

建立/usr/local/solrcloud目录

在目录/usr/local/solrcloud/config-files 放置solr的全部配置文件好比solrconfig.xml

该目录下的全部配置文件是 D:\apache-solr-4.3.0\example\solr\collection1\conf 下的全部文件

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'

相关文章
相关标签/搜索