转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html

一、集群搭建

1. zookeeper搭建(版本:3.4)

1.1 zoo.cfg配置文件:

dataDir=/usr/share/zookeeper/data/

clientPort=2181

server.1=10.0.67.31:2881:3881

server.2=10.0.67.32:2881:3881

server.3=10.0.67.33:2881:3881

1.2 dataDir=/usr/share/zookeeper/data/目录下新建myid文件,写入x(注:server.x中,x值与dataDir中的myid中的值对应)。

1.3 启动

./zkServer.sh start                         #启动,要从server.1开始启动

./zkServer.sh status                      #查看状态:Leader或者是Follower

./zkServer.sh stop                         #停止

2. SolrCloud搭建(版本:6.6(JDK8)):

2.1 生成cloud文件(每个服务节点都执行相同操作)

运行 $ bin/solr -e cloud -noprompt          # 在example中生成cloud文件夹

运行 $ bin/solr stop -all                           # 停止所有solr节点

2.2 启动SolrCloud(每个服务节点都执行相同操作)

$ bin/solr start -force -cloud -s example/cloud/node1/solr -p 8983 -z 10.0.67.31:2181,10.0.67.32:2181,10.0.67.33:2181

$ bin/solr start -force -cloud -s example/cloud/node2/solr -p 7574 -z 10.0.67.31:2181,10.0.67.32:2181,10.0.67.33:2181

2.3 创建collection

$ bin/solr create -force -c mycollection -d data_driven_schema_configs -s 4 -rf 2                     # 4个shard,2个副本

2.4 删除collection

http://192.168.2.68:8983/solr/admin/collections?action=DELETE&name=collectionname        # 删除collection

二、稳定性测试(测试过程中,一直在推送数据):

1. SolrCloud的分片leader转移、恢复测试:

通过关闭分片leader,测试是否副本会继承为leader。重启关闭结点,是否成功恢复。

成功完成此项测试。

2. 关闭SolrCloud重启测试:

关闭所有solr节点。重启后,shard2,3,4立即恢复,shard1的两个节点都down了,等待一段时间后,恢复正常。

成功完成此项测试。

3. 关闭zookeeper(3个节点),重启测试:

关闭leader,leader成功转移,服务正常。再关闭一个zookeeper,服务停止。

启动关闭的两个节点后,正常推送数据。

成功完成此项测试。

三、节点监控策略:

定时向各solr节点端口发送查询请求,判断节点是否正常(即,是否Gone)。如果Gone,远程调用执行:

$ bin/solr restart -force -cloud -s example/cloud/node1/solr -p 8983 -z 10.0.67.31:2181,10.0.67.32:2181,10.0.67.33:2181

附录:搭建中的问题

1. 启动后存在无用的collection:

通过zkcli删除zookeeper服务其中的collections下的对应目录。

2. 无法创建新collection,报不能加载配置或者配置不存在:

删除clusterstate.json中的对应项。可通过接口删除。

SolrCloud的搭建与稳定性测试的更多相关文章

  1. Android-monkey稳定性测试(多台设备同时进行)

                                       1.目的(原创文章,转载请注明出处-) 主要为指引开展android平台应用的稳定性测试,尽可能地在应用发布前发现crash及an ...

  2. monkey稳定性测试的步骤及策略

    1.adb的作用是什么?adb的全称:android debug bridge 安卓调试桥梁,包含在 Android SDK 平台工具软件包中.通过该命令与设备进行通信,以便进行调试adb可以同时管理 ...

  3. 共享业务稳定性测试&技术创新组

    本文其实是一篇招聘贴,不管你以前是做开发还是测试,都欢迎加入我们的小组. 2014年阿里巴巴的共享业务事业部有很大变化,共享的测试团队也做了一些调整,我不再担任共享业务的测试经理,但是仍然会留在共享测 ...

  4. Android客户端稳定性测试——Monkey

    修改时间 修改内容 修改人 2016.6.20 创建 刘永志 2016.6.29 完成 刘永志 Monkey简介: Android SDK自带的命令行测试工具,向设备发送伪随机事件流,对应用程序进行进 ...

  5. kafka环境搭建及librdkafka测试

    kafka环境搭建及librdkafka测试 (2016-04-05 10:18:25)   一.kafka环境搭建(转自http://kafka.apache.org/documentation.h ...

  6. 记录使用gogs,drone搭建自动部署测试环境

    使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台 Docker是使用go开发的开源容器引擎 Drone是一个基于容器技术的持续集 ...

  7. DBCP,C3P0,Tomcat_JDBC 性能及稳定性测试

    1.测试环境: 硬件环境: 数据库服务器:2U*8核 8G内存 测试服务器:   2U*8核 6G内存 软件环境: jdk: 1.6.29 mysql: 5.0.77 mysql_driver: my ...

  8. app测试--稳定性测试

    稳定性测试的概念有2种, 一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试.包含: 1 交互性测试,被打扰的情况,如来电,短信,低电量等.这些其实在上章的功能测试中有提到. 2 ...

  9. 【Monkey】Monkey稳定性测试常用命令

    Monkey稳定性测试常用命令: 1.adb shell monkey n 2.adb shell monkey -p  com.android.calculator2 1000 3.adb shel ...

随机推荐

  1. Python库 - Albumentations 图片数据增强库

    Python图像处理库 - Albumentations,可用于深度学习中网络训练时的图片数据增强. Albumentations 图像数据增强库特点: 基于高度优化的 OpenCV 库实现图像快速数 ...

  2. php用PDO查询mysql数据库结果中文乱码

    中文都变成问号了 解决方法:在实例化pdo对象时语句中加上charset=utf8 $db = new PDO('dblib:host=your_hostname;dbname=your_db;cha ...

  3. Babel 6 概述

    babel-core 只转换语法(如箭头函数) babel-polyfill 由core-js和regenerator runtime组成. 1 core-js用来支持新的全局变量(例如 Promis ...

  4. 从零开始学spring cloud(六) -------- Ribbon

    一.Ribbon介绍 Ribbon就是客户端侧负责均衡实现的一种方式,那么Ribbon是什么呢? Ribbon是Netflix发布的云中间层服务开源项目,其主要功能是提供客户端侧负载均衡算法.Ribb ...

  5. 实验五:任意输入10个int类型数据,排序输出,再找出素数

    一.程序编写 import java.util.*;public class Port {  public static void main(String[] args) {  // TODO 自动生 ...

  6. python抓取网页数据处理后可视化

    抓取文章的链接,访问量保存到本地 #coding=utf-8 import requests as req import re import urllib from bs4 import Beauti ...

  7. mac环境下mongodb的安装和使用

    mac环境下mongodb的安装和使用 简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据 ...

  8. PHP整理--PHP语法

    PHP是一门动态交互的计算机语言,动态交互都需要服务器; 我们所了解过的静态交互都有:html,css,js: 1.我们学习PHP需要服务器,当我们没有服务器的条件时,PHPstudy给我们提供了一个 ...

  9. 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程

    Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...

  10. Tableau可视化绘图教程

    https://www.w3cschool.cn/tableau/tableau_environment_setup.html