废话不多说,直接开始吧
先声明一下软件的版本: 我用的是 zookeeper 3.4.5 + solr 5.4.0
主机环境:
三台服务器
192.168.15.43
192.168.15.44
192.168.15.45
为了以后ssh方便 我修改了 43 的/etc/hosts:
192.168.15.43 solr1
192.168.15.44 solr2
192.168.15.45 solr3
1. zookeeper 的安装
1.1 zookeeper 下载
复制到服务器上 解压安装
目录: ~/software
software下 installed-package 下存储安装软件包
1.2 zookeepe 目录以及配置
新建/software/zookeeper-data 文件夹 //zookeeper的数据存储位置
将/soft/ zookeeper-3.4.5/ conf 下的zoo_sample.cfg文件名改为zoo.cfg 并修改zoo.cfg文件如下:
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 stored.# do not use /tmp for storage, /tmp here is just# example sakes.# 注意此处写绝对路径 否则找不到dataDir=/root/software/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 maintenance 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#autopurge.purgeInterval=1server.1=192.168.15.43:2888:3888server.2=192.168.15.44:2888:3888server.3=192.168.15.45:2888:3888
1.3 之后将~/software 这个文件夹分发
分发到 192.168.15.44 和 192.168.15.45 ~下面
但是发现 software下面的快捷方式消失了, 但是配置没有小时,我们需要重新 ln -s zookeeper
1.4 创建myid
分别在每台机器的/soft/zookeeper-data 下创建myid文件存储该机器的标识码 比如server.1 的标识码就是 “1” myid文件的内容就一行: 1
三台服务器分别为 1, 2, 3
注: 有问题可以查看 bin下面的 zookeeper.out 文件,这个下面是会有异常报出的。
2 部署solr集群
2.1 解压
首先将solr-5.4.0.tar.gz包分别展开到各台服务器的指定目录下,例如:/root/solr-5.4.0
2.2 创建solr_home
选择一台服务器在/root/下创建solr_home目录,里面用来临时存放自定义的solr配置文件。结构如下:(注:solr4com是用户自定义的索引核心配置,可以从5.4自带的/root/solr-5.4.0/server/solr/configsets/sample_techproducts_configs/中的文件作为基础修改得到)
/root/solr_home/configsets/....
-/solr4com/conf/solrconfig.xml,schema.xml,... (自定义的core)
-/solr.xml,zoo,cfg
需要说明的是:各个自定义模块的solrconfig.xml内容中的以下内容用系统默认的配置。
${solr.data.dir:}
schema.xml与单机版无异。
2.3 上传配置到zk
执行solr配置文件上传到zk命令
选择那台有solr_home配置文件的服务器,进入/root/solr-5.4.0/server/scripts/cloud-scripts下,执行:
./zkcli.sh -cmd upconfig -confdir /root/solr_home/solr4com/conf -confname solr4com -z solr1:2181,solr2:2181,solr3:2181
2.4 执行将配置与collection连接起来的命令
进入/root/solr-5.4.0/server/scripts/cloud-scripts下,执行:
./zkcli.sh -cmd linkconfig -collection mycollectionname -confname solr4com -z solr1:2181,solr2:2181,solr3:2181
2.5 启动solr服务
分别进入cloud1,cloud2,cloud3各台solr节点服务器的/root/solr-5.4.0/bin 下,执行:
./solr start -cloud -p 8080 -s "/root/solr-5.4.0/server/solr" -z solr1:2181,solr2:2181,solr3:2181
稍等片刻,就可以通过浏览器访问http://cloud1:8080/solr/ 查看solr的部署情况。这里solr已经将使用Jetty做为默认的web服务器。
2.6 创建内核和Shard
在web浏览器地址栏输入:
http://cloud1:8080/solr/admin/collections?action=CREATE&name=col4com&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=solr4com
其中:col4com 为集合(collection)名,solr4com 为关联的 config名(单机下的core名)
进入solr管理界面即可见到很帅的cloud节点图。