下面总结一下solr的相关概念和集群的搭建过程:
【概念】
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。
那么Zookeeper能作什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的cgi(向总服务器发出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要让正在提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以搜索提供服务了。使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器。
【搭建过程】
第一步:需要把zookeeper的安装包上传到服务器。
第二步:把zookeeper解压。命令:tar -zxf zookeeper-3.4.6.tar.gz
第三步:创建目录:mkdir /usr/local/solr-cloud
把zookeeper向/usr/local/solr-cloud目录下复制三份。
命令:cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01 -r
第四步:配置zookeeper,修改zookeeper端口
1. 在zookeeper01目录下创建一个data文件夹。
2. 在data目录下创建一个myid的文件
3. Myid的内容为1(02对应“2”,03对应“3”)
4.Zookeeper02、03以此类推。
5. 进入conf文件,复制zoo_sample.cfg文件,改名为zoo.cfg
6. 修改zoo.cfg,把dataDir=属性指定为刚创建的data文件夹。
7. 修改zoo.cfg,把clientPort指定为不冲突的端口号(01:2181、02:2182、03:2183)
/usr/local/solr-cloud/zookeeper02/data/
8. 在zoo.cfg中添加如下内容:01,02,03此处添加内容一样
server.1=192.168.25.133:2881:3881
server.2=192.168.25.133:2882:3882
server.3=192.168.25.133:2883:3883
第五步:启动zookeeper。
Zookeeper的目录下有一个bin目录,使用zkServer.sh启动zookeeper服务。
启动:./zkServer.sh start
关闭:./zkServer.sh stop
查看服务状态:./zkServer.sh status
到这里说明zookeeper集群搭建成功,leader为主节点,follower为从节点。