Solr是一个企业级搜索服务器,对外提供Web-Service接口,用户可以通过http请求,向搜索引擎提交xml或者json格式的数据,生成索引;然后可以通过http get请求查找,获取返回的xml或者json等多种格式的数据。

  首先去官网下载solr安装包,网址是:https://lucene.apache.org/solr/  进入后单击导航栏的DOWNLOAD按钮,稍等几秒页面会自动跳转至镜像选择页面,选择相应的服务器即可,比如此时我的最终网址为:http://mirror.bit.edu.cn/apache/lucene/solr/5.4.1/当然我们要下载其他版本直接将后面的5.1.4目录去掉,访问上一级即可,这时候就可以选择相应的版本了,我这里选择solr 5.2.1的版本配置,这里我下载solr-5.2.1.tgz安装包

  

  下载完之后上传到服务器指定目录,安装solr的前提是必须配置zookeeper,当然包括一系列的主机名网络配置等等,在配置好zookeeper的前提下,另外要关闭防火墙,一定要3台机器都先启动zookeeper服务,这里三台主机分别为:hadoopha,hadoop1,hadoop2

  做好准备工作后就可以开始安装了,进入solr安装包所在的目录,执行命令提取安装脚本:

tar xzf solr-5.2..tgz solr-5.2./bin/install_solr_service.sh --strip-components=

  释放完脚本之后开始执行安装

./install_solr_service.sh solr-5.2..tgz -i /opt -d /var/solr -u solr -s solr -p 

  其中参数的意义-i代表安装的目录,默认为/opt;-d指定solr写文件的目录,包括索引、日志、初始配置等,默认为/var/solr;-u指定solr文件和进程所属用户,默认为solr,在安装过程中脚本会自动创建solr账号;-s指定创建到系统服务的名称,默认是solr,也就是/etc/init.d/solr可以用service来启动;-p指定服务的监听端口默认为8983。可以看出上面指定的参数都是默认所以安装命令可以等效为:

./install_solr_service.sh solr-5.2..tgz

  稍微等待安装成功服务就自动启动了,接下来修改配置文件

vim /var/solr/solr.in.sh

  将SOLR_JAVA_MEM前的#去掉,默认为:SOLR_JAVA_MEM="-Xms512m -Xmx512m",这个根据自己计算机的硬件配置进行设置,我这里虚拟机内存为1G,所以这里直接默认512m没有修改。

  

  然后同样的方式配置ZK_HOST="hadoopha:2181,hadoop1:2181,hadoop2:2181"这里指定的是zookeeper所有节点的列表,用英文逗号分隔,如果是为了统一放在zookeeper下的指定节点中,比如/solr下,那么应该写成:ZK_HOST="hadoopha:2181,hadoop1:2181,hadoop2:2181/solr",到运行的时候这个节点需要自己进行create

  

  然后配置SOLR_HOST="hadoopha"

  

  根据上面的注释解释可以知道,当单机测试时默认使用localhost;生产环境中应该使用所在集群中的名称,因此这里应配置本机的主机名,待会其他两个节点应该分别填写hadoop1、hadoop2

  到这里就配置完了,保存退出,然后使用命令:/etc/init.d/solr restart启动solr

  然后其他两个节点进行相同的配置,最终都启动起来

  接下来测试新建一个collection,进入其中任何一台主机,分别执行下面命令:

$ cd /opt/solr/server/scripts/cloud-scripts
$ ./zkcli.sh -zkhost localhost: -cmd upconfig -confdir /opt/solr/server/solr/configsets/sample_techproducts_configs/conf -confname test

  同样说明,如果上面指定了zookeeper的地址是/solr,那么-zkhost参数应该写localhost:2181/solr

  好了,执行到这就完成了上传配置操作,然后新建collection:

curl "http://192.168.1.42:8983/solr/admin/collections?action=CREATE&name=test&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=test"

  或者直接用浏览器访问上面的url就建立好了一个test的collection,几台节点之间都可以创建副本从而进行同步检索,可以通过浏览器访问http://192.168.1.42:8983/solr点击Cloud->Graph可以看到节点的分布情况

  

  到这里Solr集群就配置完毕了,可以用多种方式灵活的添加索引进行检索等等更多的API可以参考官方wiki:http://wiki.apache.org/solr/

SolrCloud环境配置的更多相关文章

  1. Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper【转】

    Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper 1.软件工具箱 在本文的实践中,需要用到以下的软件: Tomcat-7.0.62+solr-5.0.0+ ...

  2. uboot环境配置

    uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...

  3. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  4. Electron的环境配置

    原文地址http://huisky.com/blog/161218121551123 本文介绍了Electron的环境配置,包括Electron下载.nodejs下载安装.NPM+Bower安装配置. ...

  5. Python开发环境配置

    好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...

  6. PHP_环境配置_python脚本_2017

    Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...

  7. PHP环境配置

    PHP环境配置 1.Apache的安装 第一步: 1.    双击httpd-2.2.17-win32-x86-no_ssl.msi.出现 Windows 标准的软件安装欢迎界面,直接点“Next”继 ...

  8. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  9. windows 7下React Native环境配置

    React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...

随机推荐

  1. 获取Executor提交的并发执行的任务返回结果的两种方式/ExecutorCompletionService使用

    当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直 ...

  2. SQL Server 2012不支持从SQL Server 2000的备份进行还原

    错误: dbbackup failed: Unable to restore database 'ppt'Not valid backupThe database was backed up on a ...

  3. ktouch移动端事件库

    最近闲来无事,写了个移动端的事件库,代码贴在下面,大家勿拍. /** @version 1.0.0 @author gangli @deprecated 移动端触摸事件库 */ (function ( ...

  4. AngularJS 使用ngOption实现下拉列表

    最近使用到了ngOption实现下拉选择列表,由于需要实现分组等功能,百度了下没有太好的文章,就百度到一篇英文的帖子,按照其中的代码很顺利的搞定了. 本篇根据文中代码,详细讲述下如何实现下拉列表 更多 ...

  5. ACM_1 大数求和

    /*1 *2014.11.18 *大数求和 */ #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <strin ...

  6. LR测试登陆后进行的操作时 绕过登录

    oadrunner web_add_cookie web_add_cookie 这个的函数原来真的能过逃过登录,哈哈,这个苦苦纠结我的问题呀. 函数原型:int web_add_cookie( con ...

  7. mysql基础面试

    php面试题之五--MySQL数据库(基础部分) 五.MySQL数据库 mysql_num_rows() mysql_affected_rows() 这两个函数都作用于 mysql_query($qu ...

  8. MySQL Python教程(4)

    Class cursor.MySQLCursorBuffered 该类从Class cursor.MySQLCursorBuffered继承,如果需要,可以在执行完SQL语句后自动缓冲结果集合.imp ...

  9. 京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)

    在上次推送的文章中(传送门),田琪老师分享了他的DockerCon 2015峰会见闻.在“QCon高可用架构群”中,田老师分享之后,几位专家也参与了讨论.他们是: 闫国旗:京东资深架构师,京东架构技术 ...

  10. ORACLE 数据库建了非法表后无法操作和删除问题

    问题描述: oracle 用PL/SQL DEVELOPER 可视化建表时,表名没有按照规范,建立一个非法格式的表 ICD-10th-Version (中间有横杆,非法).但是不知道怎么回事却建成功了 ...