转http://978538.blog.51cto.com/968538/1710442
一. 安装部署
zookeeper集群部署:
节点:
10.1.12.51:2181 node1
10.1.12.52:2181 node2
10.1.12.53:2181 node3
最新稳定版下载地址(当前3.4.6):
http://mirrors.cnnic.cn/apache/zookeeper/stable/zookeeper-3.4.6.tar.gz
各节点上解压zookeeper到/usr/local
1 2 3 |
|
创建如下数据目录结构:
/data/zookeeper/
├── data
└── log
1 |
|
各节点配置zookeeper:
1 2 3 4 5 6 7 8 9 10 11 |
|
各节点的数据目录下添加唯一的node id标识
1 2 3 4 5 6 |
|
各节点修改ZOO_LOG_DIR环境变量:
1 |
|
各节点上启动zookeeper:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
#------finish-------
1 2 3 |
|
solrcloud部署(3分片2复制集):
节点:
10.1.12.51:8983 shard1-repl1 shard2-repl2
10.1.12.52:8983 shard2-repl1 shard3-repl2
10.1.12.53:8983 shard3-repl1 shard1-repl2
最新稳定版下载地址(当前5.3.1)
http://mirrors.cnnic.cn/apache/lucene/solr/5.3.1/solr-5.3.1.tgz
各节点解压安装操作:
1 2 3 |
|
各节点solr服务配置修改:
1.调整jvm堆内存大小
1 |
|
2.添加zookeeper
1 |
|
3.添加solr依赖jar包
这里使用ik分词器,支持solr5.x版本下载地址为: https://github.com/EugenePig/ik-analyzer-solr5
1 2 3 |
|
4.重启solr服务
1 |
|
创建colletion(其中一个节点下操作即可)
1 2 |
|
二. 集群操作
修改solr的collection配置后上传到zookeeper:
当前solr的collection配置副本存放在opt目录下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
对以上配置文件进行修改后需要手动上传到zookeeper:
1)整个配置目录上传
1 2 3 |
|
2)单文件上传
1 2 |
|
三. solr 的一些常规操作:
基于命令:
<solr_install_dir>/bin/solr command [options...]
支持的command如下:
start, stop, restart, status, healthcheck, create, create_core, create_collection, delete
其中start,stop,restart,status操作已经封装到sysv风格的服务脚本中,例如重启solr服务:
1 |
|
检查solr集群各节点状态:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
|
创建集合:
1 |
|
这里说明一下选项:
-c: 指定集合或core名称(对于单实例模式的solr,colletion和core的意思基本相同,集群模式下,colletion等于每个shard下对应的core的集合)
-d:指定本地的solr配置目录(一个临时目录,用于存放solr配置文件,如solrconfig.xml,schema.xml),每次该目录的配置发生修改都需要手动上传到zookeeper的/configs目录节点下
-n: 指定zookeeper的/configs目录节点下创建的子目录节点名称,这里为/configs/core_bingdu
-s: 指定对应集合的分片数, 指定分片数后solr会根据各个节点上的负载在其上创建分片
-rf: 指定每个shard创建多少个复制节点
-port: 指定solr服务端口,不指定默认为8983
删除集合:
1 |
|
基于solr api方式的操作:
创建集合:
1 |
|
删除集合:
1 |
|
重新载入集合:
1 |
|
列出所有集合:
1 |
|
将一个分片拆分成两个分片(用于集群扩展):
1 |
|
为指定集合创建别名:
1 |
|
删除集合别名:
1 |
|
删除复制节点:
1 |
|
添加复制节点:
1 |
|
查看overseer状态:
solr集群中唯一负责action处理的节点,负责其他分片,节点的状态跟踪,为节点分配分片
1 |
|
集群状态检查:
1 |
|
还有其他集合api,详细说明请参考:
https://cwiki.apache.org/confluence/display/solr/Collections+API
创建全量索引
1 |
|
创建增量索引
1 |
|
更多请参阅官方文档:
http://mirrors.cnnic.cn/apache/lucene/solr/ref-guide/apache-solr-ref-guide-5.3.pdf