CentOS 6.5, JDK 1.7, Solr 5.0.0, ZooKeeper 3.6.6
一、服务器规划
A服务器 10.201.80.14
B服务器 10.201.80.15
C服务器 10.201.80.16
软件安装:三台全部安装ZooKeeper 3.3.6,Solr 5.0.0, JDK 1.7
服务安装:每台服务器上分别启动ZooKeeper服务和Solr服务
二、安装、配置、启动、查看ZooKeeper Ensemble服务
【安装】
tar xzf zookeeper-3.3.6.tar.gz #解压缩到任意目录
【配置】
A服务器配置如下:
1. vi <ZK_HOME>/conf/zoo.cfg
#创建配置文件, 并添加以下内容:
tickTime=2000 #定义每一次tick的毫秒数
dataDir=/var/lib/zookeeper/data #ZooKeeper存放集群数据的目录,启动实例时,此目录必须为空目录
clientPort=2181 #solr访问ZooKeeper的端口号
initLimit=5 #连接和同步leader的tick数
syncLimit=2 #与ZooKeeper同步的tick数
server.1=10.201.80.14:2888:3888 #实例1的ID和location的定义
server.2=10.201.80.15:2888:3888 #实例2的ID和location的定义
server.3=10.201.80.16:2888:3888 #实例3的ID和location的定义
#注意:server.X, X即为实例的ID, 值域为[1-255]
2. vi <dataDir>/myid #创建配置文件,并将实例ID写入文件,实例1的ID为'1'
3. B、C与A上的<ZK_HOME>/conf/zoo.cfg是完全一样的,只是<dataDir>/myid中的值不同,A中的myid为1, B中的myid为2, C中的myid为3
【启动】
bin/zkServer.sh start conf/zoo.cfg #启动服务
注意:启动前,请关闭防火墙服务
【查看】
bin/zkServer.sh status conf/zoo.cfg #查看服务
其它管理脚本:
zkServer.sh脚本:
bin/zkServer.sh [start|restart|stop|status] conf/zoo.cfg #启动、重启、停止、状态
zkCli.sh脚本:
bin/zkCli.sh -server localhost:2181 #zooKeeper客户端,可查看文件信息
三、安装、配置、启动、查看Solr服务
【安装】
1. 下载solr-5.0.0.tgz包
2. 从压缩包中抽出安装脚本
tar xzf solr-5.0.0.tgz solr-5.0.0/bin/install_solr_service.sh --strip-components=2
3. 运行安装脚本
sudo bash ./install_solr_service.sh solr-5.0.0.tgz
或
sudo bash ./install_solr_service.sh solr-5.0.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
#注意:以上两条命令效果一样:
#-i /opt 指定solr的安装目录,默认为/opt(安装时会生成指向安装目录的符号连接 /opt/solr -> /opt/solr-5.0.0)
#-d /var/solr 指定写文件的目录,包括索引、日志、初环境变量设置等,默认为/var/solr
#-u solr 指定solr文件和运行进程的所属用户, 默认为solr(安装脚本自动创建了solr账号)
#-s solr solr服务的名称, 默认为solr
#-p 8983 solr服务的监听端口,默认为8983
【配置】
vi /var/solr/solr.in.sh
修改如下:
内存设置
SOLR_JAVA_MEM="-Xms10g -Xmx10g" #solr服务JVN内存设置
solrCloud模式运行
SOLR_MODE=solrcloud #solr服务以cloud模式运行
ZK_HOST="10.201.80.14:2181,10.201.80.15:2181,10.201.80.16:2181" #指定zookeeper ensemble
SOLR_HOST="10.201.80.14" #指定A服务器上的host
【启动】
sudo service solr start
或
/etc/init.d/solr start
#注意:solr服务默认安装是开机启动的
【查看】
sudo service solr status
或
/etc/init.d/solr status
其它管理脚本:
sudo service solr start/stop/restart/status
或
/etc/init.d/solr start/stop/restart/status
四、上传配置文件
1. 登录A,B,C任何一台启动了ZooKeeper服务的机器
2. 执行操作
cd /opt/solr/server/scripts/cloud-scripts
./zkcli.sh -zkhost localhost:2181 -cmd upconfig -confdir /opt/solr/server/solr/configsets/sample_techproducts_configs/conf -confname ganjie
#上传sample_techproducts_configs配置目录下的所有文件,并命名为ganjie
五、创建Collection
创建Collection:
请求 URL:http://10.201.80.14:8983/solr/admin/collections?action=CREATE&name=ganjie&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=ganjie
# 创建collection, 名称为ganjie, shard数为3, 副本数为3, 使用zooKeeper实例中名称为ganjie的配置
删除Collection:
http://10.201.80.14:8983/solr/admin/collections?action=DELETE&name=ganjie
其它Collection API请访问:
https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1