zookeeper1 : 192.168.1.103
zookeeper2 : 192.168.1.104
zookeeper3 : 192.168.1.105
solr1 : 192.168.1.106
solr2 : 192.168.1.107
solr3 : 192.168.1.108

JDK安装目录:/data/jdk
Solr安装目录:/data/SolrCloud/Solr/solr
Solr配置文件目录:/data/SolrCloud/Solr/solr-config
Solr数据文件目录:/data/SolrCloud/solr-cores
Tomcat安装目录:/data/tomcat
除了安装JDK的目录不需要创建,其它目录都需要进行创建

6台集群全部安装 基础环境配置 tomcat jdk,
1. tomcat放置目录为 /data/tomcat
2. jdk 放置目录为 /data/jdk

solr集群安装:
192.168.1.106 solr1服务器上操作

解压 solr-6.2.0.tgz ,并把solr.war解压到/data/SolrCloud/Solr/solr 目录下。
tar -zxvf solr-6.2.0.tgz
mv /data/solr-6.2.0/server/solr-webapp/webapp /data/SolrCloud/Solr/solr

将 solr-6.2.0/server/lib/ext/ 目录下的jar包拷贝到 /data/SolrCloud/Solr/solr/WEB-INF/lib/ 目录下。
cp /data/solr-6.2.0/server/lib/ext/*.jar /data/SolrCloud/Solr/solr/WEB-INF/lib/

将 solr-6.2.0/server/solr/configsets/basic_configs/conf/ 目录下的文件拷贝到 /data/SolrCloud/Solr/solr-config/
cp /data/solr-6.2.0/server/solr/configsets/basic_configs/conf/* /data/SolrCloud/Solr/solr-config/

将 solr-6.2.0/example/files/conf/ 目录下的文件夹拷贝到 /data/SolrCloud/Solr/solr-config/
cp /data/solr-6.2.0/example/files/conf/lang /data/SolrCloud/Solr/solr-config/

将 /data/SolrCloud/Solr/solr 目录拷贝到 /data/SolrCloud/Tomcat/apache-tomcat-7.0.62/webapps/ 目录下。
cp /data/SolrCloud/Solr/solr /data/tomcat/webapps/

将 solr-6.2.0/server/solr/ 目录下的solr.xml文件拷贝到 /data/SolrCloud/solr-cores 目录下,这是solr的核心配置文件。
cp /data/solr-6.2.0/server/solr/solr.xml /data/SolrCloud/solr-cores

修改 /data/SolrCloud/solr-cores 目录下的solr.xml,修改hostPort和Tomcat端口一致:

<solr>

<solrcloud>

<str name="host">${host:}</str>
<int name="hostPort">8080</int>
<str name="hostContext">${hostContext:solr}</str>

<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
<int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
<str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
<str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>

在 /data/tomcat/conf/ 目录下创建Catalina/localhost目录。
mkdir -p /data/tomcat/conf/Catalina/localhost

在 /data/tomcat/conf/Catalina/localhost/ 目录下创建solr.xml,此为Solr/home的配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/data/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/data/SolrCloud/solr-cores/" override="true"/>
</Context>
~
~

修改 /data/tomcat/bin/catalina.sh 加入以下内容:
JAVA_OPTS='-DzkHost=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181'

将以上配置同步到其它服务器
scp -r /data/{SolrCloud,tomcat} 192.168.1.107:/data/
scp -r /data/{SolrCloud,tomcat} 192.168.1.108:/data/

上传配置到Zookeeper:
SolrCloud是通过Zookeeper集群来保证配置文件的变更及时同步到各个节点上,所以,需要将配置文件上传到Zookeeper集群。
solr配置文件目录:/data/SolrCloud/Solr/solr-config/

执行以下操作:
java -classpath .:/data/tomcat/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 -confdir /data/SolrCloud/Solr/solr-config/ -confname solrconfig

在192.168.1.103 zookeeper1上执行
校验Zookeeper配置文件
cd /data/Zookeeper/bin/
./zkCli.sh -server zookeeper1:2181

[root@zookeeper1 bin]# ./zkCli.sh -server zookeeper1:2181

[zk: zookeeper1:2181(CONNECTED) 2] ls /
[configs, zookeeper]
[zk: zookeeper1:2181(CONNECTED) 3] ls /configs
[solrconfig]
[zk: zookeeper1:2181(CONNECTED) 4] ls /configs/solrconfig
[currency.xml, managed-schema, protwords.txt, solrconfig.xml, synonyms.txt, elevate.xml, stopwords.txt, params.json, lang]

启动Tomcat,先启动solr1 192.168.1.106机器上的tomcat:
/data/tomcat/bin/startup.sh

启动solr2 192.168.1.107和192.168.1.108机器上的Tomcat。

访问http://solr1:8080/solr/index.html

创建Collection及初始化Shard
curl 'http://solr1:8080/solr/admin/collections?action=CREATE&name=collection_&numShards=3&replicationFactor=1'

查看 /data/SolrCloud/solr-cores/ 目录:
[root@solr1 solr-cores]# ls /data/SolrCloud/solr-cores/
collection__shard1_replica1 solr.xml

Solr6.2.0 + zookeeper 集群配置的更多相关文章

  1. zookeeper集群配置与启动——实战

    1,准备: A:三台linxu服务器: 10.112.29.177 10.112.29.172 10.112.29.174 命令 hostname 得到每台机器的 hostname vm-10-112 ...

  2. kafka集群与zookeeper集群 配置过程

    Kafka的集群配置一般有三种方法,即 (1)Single node – single broker集群: (2)Single node – multiple broker集群:    (3)Mult ...

  3. Redis 3.0 Cluster集群配置

    Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...

  4. Redis-5.0.5集群配置

    版本:redis-5.0.5 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...

  5. java:zookeeper集群配置,dubbo

    1.zookeeper集群配置: 2.dubbo:(配置见视频)

  6. zookeeper 集群配置采坑 Connection refused WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@584] - Cannot open channel to 3 at election address slave2/192.168.127.133:3888

    坑一: Cannot open channel to at election address slave1/ java.net.ConnectException: Connection refused ...

  7. solrCloud+tomcat+zookeeper集群配置

    solrcolud安装solrCloud+tomcat+zookeeper部署  转载请出自出处:http://eksliang.iteye.com/blog/2107002 http://eksli ...

  8. zookeeper集群配置与启动

    摘要:Zookeeper是一个很好的集群管理工具,被大量用于分布式计算.如Hadoop以及Storm系统中.这里简单记录下Zookeeper集群环境的搭建过程.本文以Ubuntu 12.04 LTS作 ...

  9. zookeeper集群配置

    zookeeper集群网上demo一大堆,补充一下一些不明白的地方 1 复制2份zookeeper,savle作为备份节点 2.配置zoo.cfg # The number of millisecon ...

随机推荐

  1. eclipse 高亮配对的括号

    在编辑代码框右键->preference,直接就可以看到Matching brackets highlights

  2. js 生成m位随机数入门实例

    1.根据时间生成m位随机数,最大13位随机数,并且不能保证首位不为0. 例子: function ran(m) { m = m > 13 ? 13 : m; var num = new Date ...

  3. 递归函数的用法及array_merge的用法

    $info=M('navclass')->select(); function getAllArray($data, $pid =1) { $arr = array(); foreach ($d ...

  4. 李洪强iOS经典面试题126

    1.#import和#include的区别,@class代表什么? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import 而#import比起#inc ...

  5. Hibernate笔试总结

    1.在Hibernate中,以下关于主键生成器说法错误的是(AC). A.increment可以用于类型为long.short或byte的主键. B.identity用于如SQL Server.DB2 ...

  6. 【androidstudio】将eclipse的项目导入android studio

    一.概述 最近正在实习公司迭代一个app,项目工程比较大,依赖的第三方服务.第三方库较多,比较复杂.因为公司项目一直是在ec上写的,没有android studio的版本.而大家都知道ec写代码远没有 ...

  7. [CareerCup] 18.9 Find and Maintain the Median Value 寻找和维护中位数

    18.9 Numbers are randomly generated and passed to a method. Write a program to find and maintain the ...

  8. android-发送短信

  9. android几个实用的判定代码

    之前项目有几个判定代码很实用,特此做一个整理. 一.验证手机格式是否正确 //判断手机号码是否合理 private boolean judgePhoneNums(String phoneNums) { ...

  10. CSS,bootstrap表格控制当td内容过长时用省略号表示,以及在不使用bootstrap时过长也用省略号表示

    首先需要在table中设置table-layout:fixed; <table style="table-layout:fixed"></table> 然后 ...