windows环境下solrcloud的配置安装(单机模拟多服务器)

本文是在单机环境下模拟集群环境,进行solrcloud的配置安装。

-------------------------------------------

所用环境及软件:

------------------------------------------

1. Windows 7 64bit:

2. Jdk v1.7

3. Tomcat v7.0.20 下载地址: http://tomcat.apache.org/

4. Zookeepr v3.4.6 下载地址: http://zookeeper.apache.org/releases.html

5.  Solr v4.7.0 下载地址: https://lucene.apache.org/solr/

-------------------------------------------------------------------------------------------------------------------------------------------------

zookeeper的集群安装

-------------------------------------------------------------------------------------------------------------------------------------------------

1. 下载Zookeeper,解压之;

2. 在D:\appservers\hadoop\zookeeper\zookeeperv3.4.6 建立如下目录:

zookeeperA|zookeeperB|zookeeperC用于存放刚才解压过的zookeeper,将刚才解压过的zookpeer文件分别拷入这3个文件夹;

zookeeperA_data|zookeeperB_data|zookeeperC_data 用于存放数据快照及日志文件,并在此文件夹下建立data和logs目录;

3.以zookeeperA为例,配置zoo.cfg文件

拷贝zookeeperA/conf/zoo_sample.cfg,并修改文件名为zoo.cfg;

修改zoo.cfg文件(参见附件):

tickTime=2000

initLimit=10

syncLimit=5

dataDir=D:/appservers/hadoop/zookeeper/zookeeperv3.4.6/zookeeperA_data/data

clientPort=2181

server.1=127.0.0.1:2788:3788

server.2=127.0.0.1:2888:3888

server.3=127.0.0.1:2988:3988

dataLogDir=D:/appservers/hadoop/zookeeper/zookeeperv3.4.6/zookeeperA_data/logs

参数说明:

tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间

initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
            clientPort:服务的监听端口,
            dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里

(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)

dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
            syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。

4. 修改ZookeeperB和zookeeperB中的zoo.cfg文件:

在ZookeeperB中clientPort=2281

在ZookeeperC中clientPort=2381

5. 创建myid文件:

ZookeeperA:在ZookeeperA_data/data中创建myid文件,文件内容为1。

ZookeeperB:在ZookeeperB_data/data中创建myid文件,文件内容为2。

ZookeeperC:在ZookeeperC_data/data中创建myid文件,文件内容为3。

6. 依次启动Zookeeper:

zookeeperA ZookeeperA/bin/zkServer
zookeeperB ZookeeperB/bin/zkServer
zookeeperC ZookeeperC/bin/zkServer

依次启动zookeeper,启动第一台zookeeper后,你可以观察bin下的zookeeper.out可以看到报错,connection refused,没有关系,

zookeeper需要等待其他另个节点的加入,全部启动之后就正常了。

7. 客户端连接zookeeper:(以ZookeeperA为例)

zookeeperA ZookeeperA/bin/zkCli -server localhost:2181
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1]

备注:执行ls /命令后,可能会显示如下目录和文件(此时还未做solrcloud配置,故只显示zookeeper),
        configs:保存上传的配置文件信息

clusterstate.json:集群状态json

aliases:别名json

live_node:当solr服务器启动的时候,会注册到这里

overseer:保存shard信息

overseer_elect:节点选举

collections:所有的collection

-----------------------------------------------------------------------------------------------------------------------------------------------

TomCat安装及配置

-----------------------------------------------------------------------------------------------------------------------------------------------

在D:\appservers\apache-tomcat-7.0.20\apache-tomcat-7.0.20-test-solrcloud目录中,创建如下目录:

apache-tomcat-7.0.20-solrcloudA|apache-tomcat-7.0.20-solrcloudB|apache-tomcat-7.0.20-solrcloudC

1.创建solr.xml文件

在<Tomcat.home>/conf/catalina/localhost目录下创建solr文件,文件内容为:

<?xml version="1.0" encoding="utf-8"?>

<Context docBase="../../../webapps/solr.war" debug="0" crossContext="true">

<Environment name="solr/home" type="java.lang.String" value="D:/projects/search-engine/solrcloudv47/solrCloudA"     override="true"/>

</Context>

备注:

apache-tomcat-7.0.20-solrcloudA:solr/home的value为D:/projects/search-engine/solrcloudv47/solrCloudA;

apache-tomcat-7.0.20-solrcloudB:solr/home的value为D:/projects/search-engine/solrcloudv47/solrCloudB;

apache-tomcat-7.0.20-solrcloudC:solr/home的value为D:/projects/search-engine/solrcloudv47/solrCloudc;

2. 修改<Tomcat.home>/conf/Server.xml文件中端口:

apache-tomcat-7.0.20-solrcloudA:

<Server port="7005" shutdown="SHUTDOWN">

<Connector port="7080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="7443" />

<Connector port="7009" protocol="AJP/1.3" redirectPort="7443" />

apache-tomcat-7.0.20-solrcloudB:

<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

apache-tomcat-7.0.20-solrcloudC:

<Server port="9005" shutdown="SHUTDOWN">

<Connector port="9080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="9443" />

<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />

3.分别启动这3个tomcat,测试是否能成功启动。

-------------------------------------------------------------------------------------------------------------------------------------------------

solrcloud的安装及配置

-------------------------------------------------------------------------------------------------------------------------------------------------

1. 创建Solrcloud相关目录

在D:\projects\search-engine\solrcloudv47下创建solrcloudA|solrcloudB|solrcloudC目录:

以solrCloudA为例,在solrCloudA下创建collection1和lib目录,在collections1下建立conf和data目录,

solrcloundB和solrCloudC也建立同样目录结构

2. solr基本配置:

a) 下载的SOLR的压缩包解压缩,将solr-4.7.0\example\webapps\solr.war解开,

b) 将solr-4.7.0\example\webapps\solr\WEB-INF\lib和solr-4.7.0\example\lib\ext中的jar文件

拷贝到solr-4.7.0\example\webapps\solr\WEB-INF\lib中;

c) 然后传到服务器的Tomcat下的webapps目录下。

d) 将solr-4.7.0\example\webapps\solr\WEB-INF\lib和solr-4.7.0\example\lib\ext下面的jar文件都拷贝到指定目录solrcloudA/lib/中。

e) 将solr-4.7.0\contrib目录下的jar文件拷贝到指定目录solrcloudA/lib/中。

f) 将solr-4.7.0\dist目录下的jar文件拷贝到指定目录solrcloudA/lib/中。

3. 创建solr文件(参见附件):

在<solr.home>下建立slor文件,如solrcloudA,则是在solrcloudA目录下建立,即:solrcloudA/solr.xml

在solrcloudB和solrcloudC中也建立solr.xml文件。

该文件中指定了ZooKeeper的相关配置,以及Solr Core的配置内容:

<?xml version="1.0" encoding="UTF-8" ?>

<solr persistent="true">

<cores defaultCoreName="collection1" host="${host:}" adminPath="/admin/cores"     zkClientTimeout="${zkClientTimeout:15000}" hostPort="8080" hostContext="${hostContext:solr}">

</cores>

</solr>

注意:hostPort在solrcloudA中为7080;在solrCloudB中为8080;在solrCloudC中为9080;

这里,我们并没有配置任何的core元素,这个等到整个配置安装完成之后,通过SOLR提供的REST接口,来实现Collection以及Shard的创建,从而来更新这些配置文件。

------------------------------------------------------------------------------------------------------------------------------------------------

Zookeeper管理监控配置文件

------------------------------------------------------------------------------------------------------------------------------------------------

1、上solr配置文件到Zookeeper

java -classpath .;D:/projects/search-engine/solrcloudv47/solrCloudA/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 -confdir D:/projects/search-engine/solrcloudv47/solrCloudA/collection1/conf -confname testconf

2、把将上传到zookeeper上的配置文件和目标collection联系起来

java -classpath .;D:/projects/search-engine/solrcloudv47/solrCloudA/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection collection1 -confname testconf -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381

-confname 与第一个命令中的-confname一致

3、检查zookeeper上的存储情况:

D:\appservers\hadoop\zookeeper\zookeeperv3.4.6\zookeeperA\bin>zkCli -server localhost:2181

其中的命令为:ls /    ls /configs    ls /configs/testconf

-------------------------------------------------------------------------------------------------------------------------------------------------

Tomcat 配置修改

-------------------------------------------------------------------------------------------------------------------------------------------------

1、修改bin/catalina.bat

分别在apache-tomcat-7.0.20-solrcloudA

apache-tomcat-7.0.20-solrcloudB

apache-tomcat-7.0.20-solrcloudC中设置:

set JAVA_OPTS=%JAVA_OPTS% -DzkHost=127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381

这就是solr和zookeeper交互的地方。

2、启动Tomcat

分别在apache-tomcat-7.0.20-solrcloudA

apache-tomcat-7.0.20-solrcloudB

apache-tomcat-7.0.20-solrcloudC中启动 tomcat:

bin/statup.bat

3、查看zookeeper中的数据状态

D:\appservers\hadoop\zookeeper\zookeeperv3.4.6\zookeeperA\bin>zkCli -server localhost:2181

ls /live_nodes 中可以看出存在3个活跃节点。

4、访问solr,多出Cloud菜单

6、创建collectoin、shard、replication

http://localhost:7080/solr/admin/collections?action=CREATE&name=testcollection&numShards=3&replicationFactor=1

参数说明:

name                待创建Collection的名称

numShards           分片的数量

replicationFactor   复制副本的数量

如果成功,响应内容如下:

7、查看zookeeper中的数据状态

D:\appservers\hadoop\zookeeper\zookeeperv3.4.6\zookeeperA\bin>zkCli -server localhost:2181

8、访问solr

9、查看<solr.home>/solr.xml, solr.xml的内容已自动发生了变化

D:\projects\search-engine\solrcloudv47\solrCloudA>type solr.xml

<?xml version="1.0" encoding="UTF-8" ?>

<solr persistent="true">

<cores defaultCoreName="collection1" host="${host:}" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="9080" hostContext="${hostContext:solr}">

<core numShards="3" name="testcollection_shard3_replica1" instanceDir="testcollection_shard3_replica1" shard="shard3" collection="testcollection" coreNodeName="192.168.56.1:9080_solr_testcollection_shard3_replica1"/>

</cores>

</solr>

10、创建Replication

创建shard3的replication

http://localhost:8080/solr/admin/cores?action=CREATE&collection=testcollection&name=testcollection_shard3_replica2&shard=shard3

http://localhost:9080/solr/admin/cores?action=CREATE&collection=testcollection&name=testcollection_shard3_replica3&shard=shard3

创建Shard2的replication

http://localhost:7080/solr/admin/cores?action=CREATE&collection=testcollection&name=testcollection_shard2_replica2&shard=shard2

http://localhost:8080/solr/admin/cores?action=CREATE&collection=testcollection&name=testcollection_shard2_replica3&shard=shard2

创建Shard1的replication

http://localhost:7080/solr/admin/cores?action=CREATE&collection=testcollection&name=testcollection_shard1_replica2&shard=shard1

http://localhost:9080/solr/admin/cores?action=CREATE&collection=testcollection&name=testcollection_shard1_replica3&shard=shard1

------------------------------------------------

索引数据

------------------------------------------------

cd D:\projects\framework_refrence\searchEngine\solr\solr-4.7.0\solr-4.7.0\example\exampledocs

java -Durl=http://localhost:7080/solr/testcollection/update -jar post.jar *.xml

备注:

----------------------

如果要修改solr的data目录的位置,可以在<solr.home>/conf目录下建立solrcore.properties文件,在

solrcore.properties文件中加入如下内容

solr.data.dir=/home/hadoop/applications/storage/cloud/data

---------------------- org.apache.solr.cloud.ZkCLI的使用--------------------------

查看命令帮助:

java -classpath .;D:/projects/search-engine/solrcloudv47/solrCloudA/lib/* org.apache.solr.cloud.ZkCLI -cmd help -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381

删除已有configs:

java -classpath .;D:/projects/search-engine/solrcloudv47/solrCloudA/lib/* org.apache.solr.cloud.ZkCLI -cmd clear /configs -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381

------------------------删除collectoin----------------------------------------------

http://localhost:7080/solr/admin/collections?action=DELETE&name=testcollection

----------------------------删除索引------------------------------------------------------------

http://localhost:8080/solr/testcollection/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&stream.contentType=text/xml;charset=utf-8&commit=true

参考:

solrcloud,tomcat,外部zookeeper配置详解

SolrCloud 4.3.1+Tomcat 7安装配置实践

附件列表

时间: 2024-10-19 10:53:05

windows环境下solrcloud的配置安装(单机模拟多服务器)的相关文章

windows环境下mysql主从配置

原文:windows环境下mysql主从配置 mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的ip地址:127.0.0.1 主库的端口:3306 从库所在的操作系统:win7 从库的版本:mysql-5.6.38-winx64.zip 从库的ip地址:127.0.0.1 从库的端口:3307 下载地址:https://www.mysql.com/d

windows环境下一块网卡配置双Ip或者多个Ip

倘若 有 69.231和238两台机器 ,其中这两台机器的站点部署一致互相为冷备份.如果69.231挂了,只要69.238这台冷备份的机器上面部署的站点内容和69.231一致就可以通过在69.238这个机器上配置双Ip的方式进行切换! windows环境下一块网卡配置双Ip或者多个Ip

《高可用MySQL》1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容. Master-Slave这东西吧.在很多公司都是标配.开发中基本天天都用.遇到的问题自然也不少(如主从不同步,Master宕机).但操作权限很有限.有些东西,仅仅有自己看了.做了,才干真正知道原理是什么,也才干更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从

《高可用MySQL》读书笔记1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天天都用,遇到的问题自然也不少(如主从不同步,Master宕机),但操作权限非常有限.有些东西,只有自己看了.做了,才能真正知道原理是什么,也才能更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从官

Windows环境下dig工具的安装及使用

Dig 工具全称为域名信息搜索器(Domain Information Groper),能够显示详细的DNS查询过程,是一个非常强大的DNS故障诊断工具.一般Linux和Unix系统都已内置了该功能,但是在Windows环境中只有nslookup工具,下面我来介绍一下如何在Windows环境下安装Dig工具. 下载Dig工具安装包Bind 进入以下FTP镜像站点,下载最新版的bind安装包: ftp://ftp.nominum.com/pub/isc/bind9/ 根据自己系统下载对应的安装包

基于Windows环境下Myeclipse10.0下载安装破解及jdk的下载安装及环境变量的配置

jdk的安装及环境变量的配置 1.安装JDK开发环境 附上jdk安装包的百度云链接 链接:http://pan.baidu.com/s/1mh6QTs8 密码:jkb6(当然自行去官网下载最好哒,可以下载到最新版) 正规安装下载流程见下面操作: 百度搜索:jdk 你将看到以下界面: 下载网站:http://www.oracle.com/ 开始安装JDK: 修改安装目录如下: 确定之后,单击“下一步”. 注:当提示安装JRE时,可以选择不要安装. 2.配置环境变量: 对于Java程序开发而言,主要

windows环境下wampserver的配置教程

对于初做PHP网站的朋友来说,第一步肯定是希望在自己电脑是搭建PHP环境,省去空间和上传的麻烦!但搭建环境也不是件容易的事情,特别是对于新手同学来说!因此在这里跟大家介绍我作为一名新手在使用的方便好用的PHP服务器架设软件,那就是wampserver,这款软件在安装的过程中就已经把Apache.MySQL.PHP继承好了,而且也做好了相应的配置,除此之外,还加上了SQLitemanager和Phpmyadmin,省去了很多复杂的配置过程,让我们能把更多的时间放在程序开发上.更值得高兴地是这款软件

windows环境下无法引用全局安装的模块问题

问题 在node项目中,往往需要安装一些依赖的包,通常我们采取全局安装的方式,来减少一些包重复安装带来的烦恼. 但是全局安装后出现无法使用的情况,可能是你NODE_PATH没有设置或者不正确造成的. 解决方案 那么,什么是NODE_PATH呢? NODE_PATH是node为模块提供寻找路径的一个环境变量.关于node模块加载策略,可以参考这里. 那么,如何配置NODE_PATH呢? 很简单,只需要在环境变量中新添加一个名为NODE_PATH的变量,值为npm的安装目录,例如: C:\Users

Windows环境下使用pip install安装lxml库

lxml是Python语言和XML以及HTML工作的功能最丰富和最容易使用的库.lxml是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整性.高效率解析Xpath,用于操作爬虫爬取网址url. 而在Windows中由于原始Python3的版本中并没有集成lxml库,在PyCharm中如果直接引用lxml库可能会出现Install Package Failed错误,并提示:error:Microsoft Visual C++10.0 i