参考:https://my.oschina.net/u/1416405/blog/821187

1、Solr 单机

1.1、Solr下载

1、solr官网:http://lucene.apache.org/solr/

2、上传到服务器,解压压缩包:

1.2、Solr单机运行

1.2.1、内置Jetty运行

1、进入solr/bin目录,运行solr(solr5以上自带jetty)

提示不要采用root启动。添加solr用户,分配组

将solr目录权限设置为solr

切换用户,运行solr

访问solr管理页面:http://192.168.112.128:8983/solr/#/

2、创建核心:

可以看到没有找到核心配置文件,solr默认根路径是solr/server/solr,将solr/example/example-DIH/solr/solr 核心配置文件拷贝到 solr/server/solr 下面

cp -r /home/solr/example/example-DIH/solr/solr /home/solr/server/solr/my_core

要从新启动服务bin/solr restart

再次创建核心成功:

cp -r /home/solr/example/example-DIH/solr/solr /home/solr/server/solr/my_core1

在添加一个核心,重启 bin/solr restart

1.2.2、Tomcat运行

solr6使用tomcat8、jdk8  创建solr根路径 solr_home:

将solr/server/solr 复制到  solr_home中

将solr工程复制到tomcat8/webapps下面

修改solr根路径,修改solr工程中中web.xml:

将solr/dist和solr/server/lib/ext 下的jar包。复制到solr工程lib目录下面

在WEB-INF 中 创建classes文件夹,将/solr/solr/server/resources 中log4j.properties 复制到classes文件夹中

启动tomcat8:

没有权限。打开solr工程中 WEB-INF/web.xml,在最后将此段代码注释掉。

重新启动tomcat8(我这里端口修改成为8983,可以自己修改tomcat端口),必须访问/index.html:

2、SolrCloud集群模式

2.1、内置Jetty运行SolrCloud

solrcloud 配置集群由zookeeper管理,zookeeper相关,请看上几篇文章。

创建solr_clound_home 创建根目录,将solr_home中文件拷贝到solr_cloud_home,删除其中的核心:

--建立一个solr home
cp -r /home/solr/server/solr/* /home/solr_cloud_home

进入solr/,solr运行命令:./solr start -cloud -p 8983 -s "/solr6/solr_cloud_home/" -z "127.0.0.1:2181"

bin/solr start -cloud -p 8983 -s "/home/solr_cloud_home/" -z "cdh1:2181,cdh2:2181,cdh3:2181"

-cloud 以cloud方式启动

-p 指定端口

-s 指定根目录

-z 指定zookeeper(用ip:端口。集群:ip:端口,ip:端口... : 列如"192.168.112.128:2181,192.168.112.128:2182,192.168.112.129:2181",如果本服务器中参与zookeeper集群,可以直接用"127.0.0.1:端口")

访问页面http://192.168.112.128:8983/solr/index.html:

同上在另一台服务器上部署solr(注意,两台要使用同一zokeeper集群):

访问页面http://192.168.112.129:8983/solr/index.html:

2.2、Tomcat运行SolrCloud

在tomcat中中bin/catalina.sh 配置zookeeper路径(zk集群用,分隔):

另外的服务器上配置号1.2.2中tomcat以及solr.启动所有tomcat

如果不使用8983端口,则要修改solr根目录中的solr.xml端口配置为需要设置的端口

2.3、Collection操作

2.3.1、创建Collection

solr索引集合由zookeeper管理,所以我们创建核心,需要将配置文件上传到zookeeper,然后创建核心。

创建配置存放目录solr_cloud_collection将配置文件放在其中(solr/example/example-DIH/solr/solr 核心配置文件),这里命名为cloud_core(该文件只要上传到zookeeper之后就只有参考作用,solr实际使用配置为上传到zookeeper中的配置),只需要在一台服务器上面操作,其他集群服务器通过zookeeper共享:

1、由solr命令 上传文件+创建核心(一步到位)

进入solr/bin目录,使用solr命令:

./solr create_collection -c cloud_core -shards 2 -replicationFactor 2 -d /solr6/solr_cloud_collection/cloud_core/conf -p 8983

-c 核心名称

-shards 分片数量

- replicationFactor 副本数量 (一般指有几台solr集群)

控制台:

可以看到上传到zookeeper中的配置在solr控制台展示:

2、可以通过命令行工具上传配置到zookeeper,然后通过访问api形式创建collection

进入/solr6/solr/server/scripts/cloud-scripts 目录:

使用命令,上传配置到zookeeper ./zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -confdir /solr6/solr_cloud_collection/cloud_core/conf -confname cloud_core1

-cmd upconfig:上传文件

-zkhost:zookeeper地址(集群用,分隔)

-confdir:配置地文件目录

- confname:名称

使用访问api形式创建collection:

curl"http://localhost:8983/solr/admin/collections?action=CREATE&name=cloud_core1&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=cloud_core1"

也可以直接在控制台创建collection:

2.3.2、删除 Collection

1、通过控制台删除collection

2、通过访问api形式删除:

http://localhost:8983/solr/admin/collections?action=DELETE&name=mycollection

删除collections不会删除zookeeper中的配置信息

2.3.3、修改上传managed-schema(schema.xml)文件

1、上传schema.xml文件与新建collection上传配置文件到zookeeper相似,替换对应配置中的schema.xml文件

./zkcli.sh -zkhost 127.0.0.1:2181 -cmd putfile /configs/cloud_core/ managed-schema /solr6/tmp/ managed-schema

-cmd putfile:修改配置

/configs/cloud_core/ managed-schema(schema.xml:solr6以下使用):为zookeeper中节点位置

重新加载collection

curl "http://127.0.0.1:8983/solr/admin/collections?action=RELOAD&name=cloud_core"

3、其他

1、solr6 最好使用tomcat8、jdk8、否则可能出现各种错误或者异常

2、solr6可以直接在管理页面新增,删除字段:

3、文章推荐

http://www.solr.cc/

http://blog.csdn.net/zcl_love_wx/article/details/51907488

http://blog.csdn.net/jiangchao858/article/details/52518190

http://blog.csdn.net/l1028386804/article/details/52090099

http://eksliang.iteye.com/blog/2124078

4、开源项目推荐(包括对solr基本操作)

https://git.oschina.net/bodsite/bodsite

SolrCloud6.3 单机、集群、内置jetty、tomcat搭建、对collection操作的更多相关文章

  1. zookeeper单机集群搭建

    1. 下载zookeeper 参考官方文档下载一节:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Download ...

  2. 阿里云构建Kafka单机集群环境

    简介 在一台ECS阿里云服务器上构建Kafa单个集群环境需要如下的几个步骤: 服务器环境 JDK的安装 ZooKeeper的安装 Kafka的安装 1. 服务器环境 CPU: 1核 内存: 2048 ...

  3. RabbitMQ入门教程(十四):RabbitMQ单机集群搭建

    原文:RabbitMQ入门教程(十四):RabbitMQ单机集群搭建 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...

  4. Zookeeper的单机&集群环境搭建

    单机环境的安装 首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 将安装包上传到Linux上: 进行解 ...

  5. 通过VMware的PowerCLI配置集群内指定主机的vMotion功能

    PowerCLI是VMware开发的基于微软(MSFT)的PowerShell的命令行管理vSphere的实现,因此在批量化操作方面CLI会减轻很多GUI环境下的繁琐重复劳作. 现有场景中有大量的物理 ...

  6. 玩转nodeJS系列:使用原生API实现简单灵活高效的路由功能(支持nodeJs单机集群),nodeJS本就应该这样轻快

    前言: 使用nodeJS原生API实现快速灵活路由,方便与其他库/框架进行整合: 1.原生API,简洁高效的轻度封装,加速路由解析,nodeJS本就应该这样轻快 2.不包含任何第三方库/框架,可以灵活 ...

  7. Elasticsearch从入门到精通之Elasticsearch集群内的原理

    上一章节我介绍了Elasticsearch安装与运行,本章节及后续章节将全方位介绍 Elasticsearch 的工作原理 在这个章节中,我将会再进一步介绍 cluster . node . shar ...

  8. Linux之为集群内的机器设定主机名

    作业二:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应该改成使用主机名的方式 1.主机信息配置并解析 [root@localhost ~]# ...

  9. Elasticsearch集群内的原理

        一个运行中的 Elasticsearch 实例称为一个 节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力.当有节点加入集群中或者从 ...

随机推荐

  1. Html显示地图

    Html可以通过JS来实现第三方地图的显示,如: 高德: 效果如下:浏览器小区域和全屏展示 代码如下:把key换成自己申请的key值 <script type="text/javasc ...

  2. Lucky Array CodeForces - 121E (线段树,好题)

    题目链接 题目大意: 定义只含数字$4,7$的数字为幸运数, 给定序列, 区间加正数, 区间询问多少个幸运数 题解: 对于每一个数, 求出它和第一个比它大的幸运数之差, 则问题转化为区间加,查询$0$ ...

  3. Cloud Commander

    一.Cloud Commander简介: Cloud Commander 是一个基于 web 的文件管理程序,它允许你通过任何计算机.移动端或平板电脑的浏览器查看.访问或管理系统文件或文件夹.它有两个 ...

  4. gradle 编译 No such property: sonatypeUsername错误解决

    No such property: sonatypeUsername for class: org.gradle.api.publication.maven.internal.ant.DefaultG ...

  5. TCP和UDP最完整的区别

    TCP与UDP基本区别  1.基于连接与无连接  2.TCP要求系统资源较多,UDP较少:   3.UDP程序结构较简单   4.流模式(TCP)与数据报模式(UDP);   5.TCP保证数据正确性 ...

  6. OC 设计模式

    设计模式 一种或几种被所有程序员广泛认同的,有某些特定功能,或者实现某些特殊作用的编码格式 单例模式 键值编码(KVC) 键值观察(KVO) 观察者模式() 工厂模式(工厂方法) ps:MVC &am ...

  7. consumer的DubboResponseTimeoutScanTimer线程

    考虑这样一种情况,由于网络延时,consumer先抛出超时异常,一段时间后又收到了已经超时的响应,dubbo是怎么处理的? 拆分为3步看: 1. consumer的DubboResponseTimeo ...

  8. Tarjan 算法求强联通分量

    转载自:http://blog.csdn.net/xinghongduo/article/details/6195337 还是没懂Tarjan算法的原理.但是感觉.讲的很有道理. 说到以Tarjan命 ...

  9. js根据选中的复选框,隐藏那一行

    如图,选择复选框,点击“隐藏”按钮,隐藏选中行 1.JavaScript代码: function getCheckedIds() { var checkedSubject = $('#showSbgl ...

  10. CUDA ---- Constant Memory

    CONSTANT  MEMORY constant Memory对于device来说只读但是对于host是可读可写.constant Memory和global Memory一样都位于DRAM,并且有 ...