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.9.tar.gz

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

  tar -zxvf zookeeper-3.4.9.tar.gz

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

  4)进入zookeeper-3.4.9/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.9/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

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

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

    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. iOS 导航栏遮挡问题 --- iOS开发系列 ---项目中成长的知识七

    不知大家有没有遇见过自己写的tableview被导航栏遮挡住的问题,反正我是遇见过! 因为在ios7以后所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的 ...

  2. centOS下lnamp安装

    首先安装apache,mysql ,最后安装php 1>apache安装 安装:yum install -y httpd 运行:/bin/systemctl start httpd.servic ...

  3. linux 下 docker-compose安装

    docker和dockers-compose的版本兼容对照 以下是我的服务器的相关信息 linux版本 [root@izbp16fm097gaw3tdaog2wz bin]# cat /proc/ve ...

  4. 如何用纯 CSS 创作一个方块旋转动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/gjgyWm 可交互视频 ...

  5. Python json和simplejson的使用

    在Python中,json数据和字符串的转换可以使用json模块或simplejson模块. json从Python2.6开始内置到了Python标准库中,我们不需要安装即可直接使用. simplej ...

  6. nrf51822微信开发2:[转]airkiss/airsync介绍

    "微信蓝牙"专题共分为8部分 1.airkiss/airsync介绍 2.eclipes的j2ee软件使用教程 3.微信公众号使用Dome(airkiss/airsync) 4.新 ...

  7. 欧拉函数:HDU1787-GCD Again(欧拉函数的模板)

    GCD Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. Linux学习-软件管理员简介

    Linux 界的两大主流: RPM 与 DPKG 目前在 Linux 界软件安装方式最常见的有两种,分别是: dpkg: 这个机制最早是由 Debian Linux 社群所开发出来的,透过 dpkg ...

  9. MongoDB学习-->设置通用的自增ID替代ObjectId

    插入mongodb数据时,会为其分配一个随机id,想要设置通用的自增id,可以进行以下操作 1.创建自增序列 package com.tangzhe.autoid; import lombok.Dat ...

  10. dataTable组件使用

    dataTable组件使用:引入JS $("#id").DataTable({ scrollY:450,    //开始滚动高度 lengthChange:false ,   // ...