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. shell编程其实真的很简单(三)

    通过前两篇文章,我们掌握了shell的一些基本写法和变量的使用,以及基本数据类型的运算.那么,本次就将要学习shell的结构化命令了,也就是我们其它编程语言中的条件选择语句及循环语句. 不过,在学习s ...

  2. JAVA文件名命名规范

    JAVA语言,有严格的大小写区分要示. JAVA源文件名必须符合以下规则: 1.必须以.java结尾.这样才能被编辑器javac.exe所编辑. 2.源文件中如果只有一个类,文件名必须与该类名相同. ...

  3. Vuex核心知识(2.0)

    Vuex 是一个专门为 Vue.js 应该程序开发的状态管理模式,它类似于 Redux 应用于 React 项目中,他们都是一种 Flux 架构.相比 Redux,Vuex 更简洁,学习成本更低.希望 ...

  4. final对于访问效率的影响

    在能够通过编译的前提下,无论局部变量声明时带不带final关键字修饰,对其访问的效率都一样. 并且:重复访问一个局部变量比重复访问一个成员或静态变量快:即便将其final修饰符去掉,效果也一样. 例如 ...

  5. Android注解学习(2)

    最近考试周没什么时间写,回归正题.前面的一次简单的讲了关于注解的的基础部分,这一次分析xutils注解封装的源码(奉上github源码). 补充下:xUtils 2.x对Android 6.0兼容不是 ...

  6. Java线程中yield()的用法

    Thread.yield()方法的作用:暂停当前正在执行的线程,并执行其他线程.(可能没有效果) yield()让当前正在运行的线程回到可运行状态,以允许具有相同优先级的其他线程获得运行的机会.因此, ...

  7. 申请免费的SSL证书(Win7,PowerShell,Let's Encrypt)

    随着网络安全形势的发展,SSL已是各大网站的标配,启用SSL的好处自然不必多说,然后每份SSL证书也要花费不菲的银子,按最便宜的DV证书来看,每年也要个四五百呢. 有趋势有需求,自然也有免费可用.免费 ...

  8. c#访问存储过程

    // 2015/07/04 // 访问存储过程 using System; using System.Collections.Generic; using System.Linq; using Sys ...

  9. TypeScript-01-变量、基本类型和运算符

    基本类型 基本类型有boolean.number.string.array.void.所有类型在TypeScript中,都是一个唯一的顶层的Any Type 类型的自类型.any关键字代表这种类型. ...

  10. 【异构计算】在Windows下使用OpenCL配置

    前言 目前,NVIDIA 和 AMD 的 Windows driver 均有支持OpenCL(NVIDIA 的正式版 driver 是从自195.62 版开始,而 AMD则是从9.11 版开始).NV ...