1.选取三台服务器

  由于机器比较少,现将zookeeper和solr都部署在以下三台机器上。(以下操作都是在172.16.20.101主节点上进行的哦)

  172.16.20.101 主节点

  172.16.20.102 从节点

  172.16.20.103 从节点

2.Zookeeper集群部署

  1)访问官网下载zookeeper安装包,我用的是zookeeper-3.4.8.tar.gz

  2)解压安装包,我是解压到自己新建的目录/data/zookeeper下。

  tar -zxvf zookeeper-3.4.8.tar.gz

  3)在/data/zookeeper目录下新建data,logs两个文件夹。

  4)进入zookeeper-3.4.8/conf目录,把zoo_sample.cfg文件改成zoo.cfg

  cp zoo_sample.cfg zoo.cfg

  5)修改zoo.cfg文件,需要修改以下几个地方

  dataDir=/data/zookeeper/data

  dataLogDir=/data/zookeeper/logs

  clientPort=2181

  在文件末尾添加:

  server.1=172.16.20.101:2888:3888

  server.2=172.16.20.102:2888:3888

  server.3=172.16.20.103:2888:3888

  6)将配置好的zookeeper复制到另外两台服务器上。

  scp -r /data/zookeeper root@172.16.20.102:/data

  scp -r /data/zookeeper root@172.16.20.103:/data

  7)分别在三台服务器的/data/zookeeper/data目录下新建myid文件,内容分别为server.1,server.2,server.3后面的数字,例如:

  echo "1" > myid

  8)分别进入三台服各器的/data/zookeeper/zookeeper-3.4.8/bin目录下,启动服务。

  ./zkServer.sh start

  9)启动完成后,查看服务状态。

  ./zkServer.sh status

3.Solr分布式集群部署

  1)访问Apache官网下载solr安装包,我用的是solr-5.2.1.zip包。

  2)解压安装包,我是解压到自己新建的目录/data/solr下。

  unzip solr-5.2.1.zip

  3)修改/data/solr/solr-5.2.1/bin/solr.in.sh文件

  SOLR_JAVA_MEM="-Xms1G -Xmx1G"

  ZK_HOST="172.16.20.101:2181,172.16.20.102:2181,172.16.20.103:2181"

  4)将配置好的solr复制到另外两台服务器上。

  scp -r /data/solr root@172.16.20.102:/data

  scp -r /data/solr root@172.16.20.103:/data

  5)在每个节点启动solr服务,进入/data/solr/solr-5.2.1,执行如下命令

  bin/solr start

  6)在每个节点查看solr运行状态

  bin/solr status

  7)solr集群搭建完毕,访问solr界面。

  http://172.16.20.101:8983/solr

4.Solr集群的操作

  以下的操作均是以http://172.16.20.101:8983/solr这个开头访问的,然后跟在这个url后面才是完整的路径。如:我写的/admin/collections?action=DELETE&name=article,则访问路径是:http://172.16.20.101:8983/solr/admin/collections?action=DELETE&name=article

  4.1 创建collection

  两种方式创建collection,根据路由方式的不同:

  第一种implicit路由方式

  /admin/collections?action=CREATE&name=article&router.name=implicit&shards=shard1,shard2,shard3&maxShardsPerNode=5&collection.configName=collection3Conf

  第二种compositeId路由方式

  /admin/collections?action=CREATE&name=article&router.name=compositeId&numShards=5&replicationFactor=1&maxShardsPerNode=5&collection.configName=collection3Conf

  或者

  /admin/collections?action=CREATE&name=application&router.name=compositeId&numShards=1&replicationFactor=2&maxShardsPerNode=2&collection.configName=application&createNodeSet=172.16.20.102:8983_solr,172.16.20.103:8983_solr

  4.2删除collection

  /admin/collections?action=DELETE&name=article

  4.3增加分片shard

  implicit路由实现该需求比较简单,只要创建Shard即可。

  /admin/collections?action=CREATESHARD&collection=article&shard=shard1&name=article_shard1_replica2

  compositeId路由实现该需求稍微麻烦一下,通过分裂(SPLITSHARD)操作实现。

  /admin/collections?action=SPLITSHARD&collection=article&shard=shard1

  4.4删除分片shard

  /admin/collections?action=DELETESHARD&collection=article&shard=shard1

  4.5上传SolrCloud的配置文件到zookeeper,统一保存配置文件

  java -classpath .:/data/solr/solr-5.2.1/server/solr-webapp/webapp/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 172.16.20.101:2181,172.16.20.102:2181,172.16.20.102:2181 -confdir /data/solr/solr-5.2.1/server/solr/configsets/sample_techproducts_configs/conf/ -confname collection1Conf

  4.6将上传到ZooKeeper中配置文件与Collection相关联

  java -classpath .:/data/solr/solr-5.2.1/server/solr-webapp/webapp/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection1 -confname collection1Conf -zkhost 172.16.20.101:2181,172.16.20.102:2181,172.16.20.103:2181

  4.7将配置上传到zookeeper,如果要让正在运行的solr同步加载这些文件,需要让solr重新加载一下配置文件

  /admin/collections?action=RELOAD&name=article

1.访问官网下载zookeeper-3.4.8.tar.gz安装包。

Solr5.2.1+Zookeeper3.4.8分布式集群搭建的更多相关文章

  1. Solr5.2.1+Zookeeper3.4.9分布式集群搭建

    1.选取三台服务器 由于机器比较少,现将zookeeper和solr都部署在以下三台机器上.(以下操作都是在172.16.20.101主节点上进行的哦) 172.16.20.101 主节点 172.1 ...

  2. ubuntu18.04.2 hadoop3.1.2+zookeeper3.5.5高可用完全分布式集群搭建

    ubuntu18.04.2 hadoop3.1.2+zookeeper3.5.5高可用完全分布式集群搭建 集群规划: hostname NameNode DataNode JournalNode Re ...

  3. kafka系列二:多节点分布式集群搭建

    上一篇分享了单节点伪分布式集群搭建方法,本篇来分享一下多节点分布式集群搭建方法.多节点分布式集群结构如下图所示: 为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建. 一.安装Jdk 具体安 ...

  4. 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  5. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  6. hbase完整分布式集群搭建

    简介: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop2.8 ha 集群搭建 hbase完整分布式集群搭建 hadoop完整集群遇到问题汇总 Hb ...

  7. HBase完全分布式集群搭建

    HBase完全分布式集群搭建 hbase和hadoop一样也分为单机版,伪分布式版和完全分布式集群版,此文介绍如何搭建完全分布式集群环境搭建.hbase依赖于hadoop环境,搭建habase之前首先 ...

  8. Hadoop上路-01_Hadoop2.3.0的分布式集群搭建

    一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...

  9. hadoop伪分布式集群搭建与安装(ubuntu系统)

    1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...

随机推荐

  1. 编写JQuery插件-2

    继续上一节的代码 (function(){ /* code */ })() 来我们介绍一下吧,首先定义一个匿名函数 fnction(){/* 这里放置代码 */} 然后用括号括起来, (fnction ...

  2. 如何编写一个gulp插件

    很久以前,我们在"细说gulp"随笔中,以压缩JavaScript为例,详细地讲解了如何利用gulp来完成前端自动化. 再来短暂回顾下,当时除了借助gulp之外,我们还利用了第三方 ...

  3. JDK分析工具&JVM垃圾回收(转)

    转自:http://blog.163.com/itjin45@126/blog/static/10510751320144201519454/ 官方手册:http://docs.oracle.com/ ...

  4. git命令实战之血泪记录

    注意: 本文章所写所有命令均在Git命令行窗口执行!非cmd窗口! 打开git命令行窗口步骤为:到项目根目录下执行bash命令行操作:右键点击Git Bash Here菜单,打开git命令窗口,不是c ...

  5. android之intent显式,显式学习

    intent,意图 当从一个Activity到另一个Activity时调用,这里重点学习显式,隐式的使用 使用语句上的区别: 隐式意图:                 显式意图: setAction ...

  6. vs2010 入门程序

    #include <stdio.h> int main(){ printf("hello world!\n"); getchar(); //此处避免执行完程序自动退出 ...

  7. JUnit4 与 JMock 之双剑合璧

    引言 单元测试可以保证代码的质量,最大程度降低修复系统 bug 的时间和成本.能被称为测试的阶段有:单元测试.集成测试.系统测试和用户测试.修复系统 bug 的时间和成本随着这些阶段的推移呈指数级增长 ...

  8. angularJS+requireJS实现controller及directive的按需加载

    最近因为项目的比较大,需要加载的js文件较多,为了提高首屏页面的加载速度,需要对js文件进行按需加载,然后网上参考了一些资料,自己也深入研究一番之后,实现了按需加载控制器js文件及指令js文件的效果: ...

  9. esri-leaflet入门教程(4)-加载各类图层

    esri-leaflet入门教程(4)-加载各类图层 by 李远祥 在leaflet中图层一般分为底图(Basemap)和叠加图层(Overlay).前面章节已经介绍过底图其实也是实现了TileLay ...

  10. 怎么写jquery插件

    1. 添加js文件到html文件中,放下面的两行到html文档底部,</body>之前. <script src="js/jquery-1.9.1.min.js" ...