您的位置:首页 > 其它

solrcloud集群搭建过程(单独的zookeeper集群)

2016-09-10 00:00 471 查看

#solr集群的启动教程

solr版本是6.0.0 . 要求系统安装是jdk1.8或者以上版本。

内容分为个部分:solr单机服务启动,solrCloud集群启动。

#solr单机服务启动

######首先下载solr安装包

wget archive.apache.org/dist/lucene/solr/6.0.0/solr-6.0.0.tgz

######之后解压到安装目录(/opt/solr)

tar -zxf solr-6.0.0.tgz -C /opt/solr

######启动solr

cd /opt/solr/solr-6.0.0/
./bin/solr -p 8081 -s example/techproducts/solr/     //启动solr服务,端口为8081,-s执行solr的配置文件路径
//当看到以下输出时表示solr启动成功
Waiting up to 30 seconds to see Solr running on port 8081 [-]
Started Solr server on port 8081 (pid=28677). Happy searching!

此时访问http://localhost:8081/solr ,就可以看到solr的管理界面

######关闭solr

./bin/solr stop -p 8081   //关闭端口为8081的solr
//当只看到以下输出时,solr正常关闭
Sending stop command to Solr running on port 8081 ... waiting 5 seconds to allow Jetty process 28677 to stop         gracefully.

#solr以solrcloud集群模式启动

solr集群有两种模式。一种是主从模式,集群启动后,有一个节点是master节点,能读写数据,其他节点是slave节点,从主节点复制数据,配置过程比较简单,可以参考:http://www.cnblogs.com/likehua/p/4353354.html, 一种是solrcloud模式,下文主要就是介绍该模式。

SolrCloud是基于ZooKeeper和Solr的分布式解决方案,为Solr添加分布式功能,用于建立高可用,高伸缩,自动容错,分布式索引,分布式查询的Solr服务器集群。

###单机下集群启动:

./bin/solr start -e cloud  //之后一路Enter,就可以建立有两个节点的solr集群。

以上命令创建的ZooKeeper节点只有一个,存在单点故障问题。

###zookeeper集群单独部署方式启动集群:

启动zookeeper集群
######下载安装包并解压

wget apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar -zxf zookeeper-3.4.6.tar.gz  -C /opt/zookeeper/
cd /opt/zookeeper/zookeeper-3.4.6/

######准备zookeeper节点1的配置文件

vim conf/zoo.cfg                 #生成zookeeper节点1的配置文件,以下数据是配置文件内容
dataDir=/opt/zookeeper/data/1     #存放节点1数据目录
clientPort=2181                                #节点对外端口
initLimit=5
syncLimit=2
server.1=localhost:2888:3888         #zookeeper节点1地址
server.2=localhost:2889:3889         #zookeeper节点2地址
server.3=localhost:2890:3890         #zookeeper节点2地址
mkdir -p /opt/zookeeper/data/1        #创建节点1数据存放路径
vim /opt/zookeeper/data/1/myid      #节点1要求的另外一个配置文件,指定节点1的名称
1                                                       #myid文件内容

#####配置节点2:

vim conf/zoo1.cfg
dataDir=/opt/zookeeper/data/2
clientPort=2182
initLimit=5
syncLimit=2
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
mkdir -p /opt/zookeeper/data/2
vim /opt/zookeeper/data/2/myid
2

######配置节点3

vim conf/zoo2.cfg
dataDir=/opt/zookeeper/data/3
clientPort=2183
initLimit=5
syncLimit=2
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
mkdir -p /opt/zookeeper/data/3
vim /opt/zookeeper/data/3/myid
3

######启动zookeeper集群

./bin/zkServer.sh start conf/zoo.cfg
./bin/zkServer.sh start conf/zoo1.cfg
./bin/zkServer.sh start conf/zoo2.cfg

以上三个命令都输出start success的字眼,表示zookeeper集群启动成功。

#####上传配置文件

######进入solr目录:

cd /opt/solr/solr-6.0.0/

######上传配置文件到zookeeper集群

./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost localhost:2181,localhost:2182,localhost:2183 -confname  mlh-test -confdir ./example/techproducts/solr/techproducts/conf/

-cmd upconfig表示上传solr配置文件到zookeeper集群

-zkhost 表示zookeeper集群位置。

-confname 表示上传配置文件的命令,后面会用到

-confdir 表示上传配置文件所在路径,这里用的是solr6.0.0自带的文件路径

######为solr准备四个节点的配置文件路径,使用的配置是solr自带的配置

mkdir -p example/test/node1/core
cp example/techproducts/solr/solr.xml example/test/node1/core/
cp example/techproducts/solr/zoo.cfg example/test/node1/core/
cp -r example/test/node1/ example/test/node2
cp -r example/test/node1/ example/test/node3
cp -r example/test/node1/ example/test/node4

######启动solr,云模式

./bin/solr start -s example/test/node1/core/  -p 11000 -cloud -z localhost:2181,localhost:2182,localhost:2183 -m 128m
./bin/solr start -s example/test/node2/core/  -p 11001 -cloud -z localhost:2181,localhost:2182,localhost:2183 -m 128m
./bin/solr start -s example/test/node3/core/  -p 11002 -cloud -z localhost:2181,localhost:2182,localhost:2183 -m 128m
./bin/solr start -s example/test/node4/core/  -p 11003 -cloud -z localhost:2181,localhost:2182,localhost:2183 -m 128m

-p 指定端口

-cloud 表示以solrcloud模式启动

-z 指定zookeeper集群位置

-m 指定jvm的内存大小,默认为512m

-s 指定solr数据存放路径,该路径的父亲路径会存放solr的日志。

######创建solr的核:

curl 'http://localhost:11000/solr/admin/collections?action=CREATE&name=mlh&numShards=2&replicationFactor=2&collection.configName=mlh-test'

action=CREATE 表示创建solr一个核心。

name=mlh表示核心的名称

numShards=2表示核心分配为2个shard

replicationFactor=2表示一个shard有两个复制节点

collection.configName=mlh-test表示核心使用之前上传的配置文件,mlh-test

#参考资料

solr官网教程:http://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-6.0.pdf

solr官网:http://lucene.apache.org/solr/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr zookeeper