1、索引集合包括两个Shard(shard1和shard2),shard1和shard2分别由三个Core组成,其中一个Leader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个Core的索引数据一致,解决高可用问题。用户发起索引请求分别从shard1和shard2上获取,解决高并发问题。1.2.2.1 collectionCollection在SolrCloud集群中是一个逻辑意义上的完整的索引结构。它常常被划分为一个或多个Shard(分片),它们使用相同的配置信息。比如:针对商品信息搜索可以创建一个collection。 co
2、llection=shard1+shard2+.+shardX1.2.2.2 Core每个Core是Solr中一个独立运行单位,提供 索引和搜索服务。一个shard需要由一个Core或多个Core组成。由于collection由多个shard组成所以collection一般由多个core组成。1.2.2.3 Master或SlaveMaster是master-slave结构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务器或备服务器)。同一个Shard下master和slave存储的数据是一致的,这是为了达到高可用目的。1.2.2.4 ShardC
3、ollection的逻辑分片。每个Shard被化成一个或者多个replication,通过选举确定哪个是Leader。2 SolrCloud搭建SolrCloud结构图如下:2.1 环境准备 CentOS-6.5-i386-bin-DVD1.iso jdk-7u72-linux-i586.tar.gz apache-tomcat-7.0.57.tar.gz zookeeper-3.4.6.tar.gz solr-4.10.3.tgz 服务器7台: zookeeper三台:192.168.0.5,192.168.0.6,192.168.0.7 Solr四台:192.168.0.1,192.168
4、.0.2,192.168.0.3,192.168.0.42.2 环境安装2.3 CentOs 6.5安装略2.4 jdk7安装2.5 zookeeper集群安装2.5.1 解压zookeeper 安装包tar -zxvf zookeeper-3.4.6.tar.gz将zookeeper-3.4.6拷贝到/usr/local下并将目录 名改为zookeeper至此zookeeper的安装目录为/usr/local/zookeeper2.5.2 进入zookeeper文件夹,创建data 和logs 创建目录并赋于写权限 指定zookeeper的数据存放目录和日志目录2.5.3 拷贝zookeep
5、er配制文件zoo_sample.cfg拷贝zookeeper配制文件zoo_sample.cfg并重命名zoo.cfg cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper /conf/zoo.cfg2.5.4 修改zoo.cfg 加入 dataDir=/usr/local/zookeeper/data dataLogDir=/ usr/local/zookeeper/logss server.1=192.168.0.5:2888:3888 server.2=192.168.0.6: server.3=192.168
6、.0.7:zoo.cfg配制完后如下:# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is s
7、tored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/usr/local/zookeeper/data# the port at which the clients will connectclientPort=2181# the maximum number of client connections.# increase this if you need to handle more clients#maxClientCnxns=60# Be sure to read the main
8、tenance section of the # administrator guide before turning on autopurge.# http:/zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance# The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to 0 to disable auto purge feature#autopur
9、ge.purgeInterval=1#dataLogDir=/usr/local/zookeeper/logsserver.1=192.168.0.5:server.2=192.168.0.6:server.3=192.168.0.7:2.5.5 进入data文件夹 建立对应的myid文件 例如server.1为192.168.0.5则 data文件夹下的myid文件内容为1echo 1 myidserver.2为192.168.0.6则 data文件夹下的myid文件内容为2依此类推2.5.6 拷贝zookeeper文件夹到其他机器(192.168.0.6和192.168.0.7)2.5.7
10、 开启zookeeper的端口/sbin/iptables -I INPUT -p tcp -dport 2181 -j ACCEPT/sbin/iptables -I INPUT -p tcp -dport 2888 -j ACCEPT/sbin/iptables -I INPUT -p tcp -dport 3888 -j ACCEPT/sbin/iptables -I INPUT -p tcp -dport 8080 -j ACCEPT -这里开启tomcat 8080端口/etc/rc.d/init.d/iptables save #将更改进行保存/etc/init.d/iptable
11、s restart #重启防火墙以便改动生效2.5.8 启动三台服务器的zookeeper 进入/usr/local/zookeeper /bin./zkServer.sh start查看集群状态./zkServer.sh status 刚启动可能会有错误,集群中其他节点一并起来后就正常了2.6 tomcat安装将apache-tomcat-7.0.57.tar.gz拷贝到/usr/local下并解压cd /usr/localtar -zxvf apache-tomcat-7.0.57.tar.gz2.7 solr单机部署2.7.1 解压solr.4.10.3.tgz在其中一台服务器上解压so
12、lr.4.10.3.tgz,将solr.4.10.3.tgz拷贝到/usr/local下,解压缩:tar -zxvf solr-4.10.3.tgz压缩后在/usr/local下有 solr-4.10.3目录 。2.7.2 solrhome在/home下创建solr作为solrhome 并赋于读写权限2.7.3 部署solr.war参考solr单机部署方法。启动tomcat 访问 http:/192.168.0.1:8080/solr 如图,至此单机版solr配制完成2.8 solrCloud部署2.8.1 启动zookeepersolrCloud部署依赖zookeeper,需要先启动每一台z
13、ookeeper服务器。2.8.2 zookeeper管理配置文件由于zookeeper统一管理solr的配置文件(主要是schema.xml、solrconfig.xml), solrCloud各各节点使用zookeeper管理的配置文件。将上边部署的solr单机的conf拷贝到/home/solr下。执行下边的命令将/home/solr/conf下的配置文件上传到zookeeper(此命令为单条命令,虽然很长o()o):sh /usr/local/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.0.5:2181,192.168.0.6:2181,192.168.0.7:2181 -cmd upconfig -confdir /usr/local/solr-4.10.3/example/solr/collection1/conf -confname myconf 登陆zookeeper服务器查询配置文件:cd /usr/local/zookeeper/bin/./zkCli.sh2.8.3 修改SolrCloud监控端口为8080:修改每个solr的/home/solr/so
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1