1.启动和关闭

a.启动和重启

启动和重启命令有很多选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper。

  1. bin/solr start [options]
  2. bin/solr start -help
  3. bin/solr restart [options]
  4. bin/solr restart -help

当使用重启命令,必须传入当初启动时的所有参数。Solr重启之前将被关闭。如果没有节点正在运行,restart将跳过关闭,直接启动Solr。

可用参数

参数 描述 示例
-a "<string>"

使用JVM参数启动Solr,例如-X。

如果传入以"-D"开头的JVM参数,则可以删除-a选项

bin/solr start -a "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044"
-cloud

如果以SolrCloud模式启动,将启动包含Solr的内置ZooKeeper实例

可简写为-c

bin/solr start -c
-d <dir> 定义服务器目录,默认值是$SOLR_HOME/server。一般不定义这个选项。通常情况是每个实例使用相同服务器目录并且使用唯一的Solr home目录 bin/solr start -d newServerDir
-e <name>

使用示例配置启动Solr。这些示例用来帮助你更快入门Solr,或者尝试特性。

可用选项有:clound、techproducts、dih、schemaless

bin/solr start -e schemaless
-f 在前台启动Solr;使用-e选项时不能使用这个选项 bin/solr start -f
-h <hostname> 使用自定义hostname启动Solr,默认值'localhost' bin/solr start -h search.mysolr.com
-m <memory> 使用自定义值作为JVM的最小和最大堆值 bin/solr start -m 1g
-noprompt

无提示,默认完全接受

示例:当使用-cloud时,会有交互式引导你多个选项,如果你想都默认接收,只需要使用这个选项

bin/solr start -e cloud -noprompt
-p <port> 指定端口 bin/solr start -p 8655
-s <dir>

设置solr.solr.home系统属性。Solr将在该目录下创建core目录。这将允许你在相同host上跑多个实例,使用相同服务器目录,使用-d选项

一旦设置,指定目录需要包含solr.xml文件,除非solr.xml在ZooKeeper中存在,默认值是server/solr

当运行示例(-e)时,该参数将被忽略,因为solr.solr.home取决于哪个示例在跑

bin/solr start -s newHome
-V 打印冗余信息 bin/solr start -V
-z <zkHost> 使用自定义ZooKeeper connection string启动Solr。该选项只能在-c选项,即SolrCloud模式下使用。如果该选项未提供,Solr将启动内置ZooKeeper实例 bin/solr start -c -z server1:2181,server2:2181

为了强调默认设置是如何起作用的,花点时间了解下面的命令:

  1. bin/solr start
  2. bin/solr start -h localhost -p 8983 -d server

没有必要定义所有选项,因为有些默认就可以了。

b.设置Java系统属性

使用-D给JVM传入属性

示例:设置自动soft-commit频率为3秒

  1. bin/solr start -Dsolr.autoSoftCommit.maxTime=3000

c.SolrCloud模式

  1. bin/solr start -c/cloud

如果指定ZooKeeper连接字符串,例如"-z 192.168.1.4:2181",Solr将连接到ZooKeeper并加入集群。如果以cloud模式启动,但没有指定-z选项,则Solr启动内置ZooKeeper服务器,坚挺在Solr端口+1000,例如Solr在端口8983,则内置ZooKeeper监听在端口9983

d.使用示例配置运行

  1. bin/solr start -e <name>
  • cloud:在一个机器上启动1-4节点的SolrCloud集群。
  • techproducts:以standalone模式启动。由于没有SolrCloud,也没有启动schemaless模式,因此fields必须显式地定义在schema.xml中。配置文件的目录在$SOLR_HOME/server/solr/configsets/sample_techproducts_configs
  • dih:以standalone模式启动。使用DataImportHandler(DIH)和一些dataconfig.xml文件
  • schemaless:以standalone模式启动。使用托管schema(将在后文讲解),提供最小化配置。Solr将运行在Schemaless模式,Solr将在运行时创建fields并猜测field类型。配置文件在$SOLR_HOME/server/solr/configsets/data_driver_schema.configs

注意:运行在前台(-f)选项在使用-e选项失效,因为脚本需要执行额外任务。

e.停止

stop命令向正在运行的Solr节点发送STOP请求,该命令等待5s让Solr顺滑停止,之后会强制杀进程(kill -9)

  1. bin/solr stop [options]
  2. bin/solr stop -help

f.可用参数

参数 描述 示例
-p <port> 在指定端口关闭Solr。如果正在运行多个实例或者SolrCloud模式,你需要分别指定端口关闭或者使用-all选项 bin/solr stop -p 8983
-all 关闭所有运行的Solr bin/solr stop -all
-k <key> Stop key用来防止误关闭,默认值是"solrrocks" bin/solr stop -k solrrocks

2.查看信息

a.版本

  1. bin/solr version

b.状态

status命令行展示基本的JSON格式的信息。status命令行使用SOLR-PID-DIR环境变量来定位Solr进程号文件来找到运行的Solr实例,SOLR-PID-DIR默认值是bin目录

  1. bin/solr status

输出

  1. Found 1 Solr nodes:
  2.  
  3. Solr process 975 running on port 8983
  4. {
  5. "solr_home":"/Users/hs/package/solr/server/solr",
  6. "version":"5.4.1 1725212 - jpountz - 2016-01-18 11:51:45",
  7. "startTime":"2016-02-14T02:06:05.35Z",
  8. "uptime":"0 days, 0 hours, 0 minutes, 13 seconds",
  9. "memory":"36 MB (%7.3) of 490.7 MB"}

c.健康检测

前提是SolrCloud模式启动。健康检测报告提供关于对于所有shards的每个replica的状态,包括提交文档的个数和当前状态

  1. bin/solr healthcheck [options]
  2. bin/solr healthcheck -help

d.可用参数

参数 描述 示例
-c <collection> 运行健康监测的集群对象名称 bin/solr healthcheck -c gettingstarted
-z <zkhost> ZooKeeper connection string,默认值是localhost:8983。如果不是8983,需要指定端口,默认是Solr端口+1000 bin/solr healthcheck -z localhost:2181

下面是一个健康检测示例

  1. ./solr healthcheck -c gettingstarted -z localhost:

输出为

  1. {
  2. "collection":"gettingstarted",
  3. "status":"healthy",
  4. "numDocs":0,
  5. "numShards":2,
  6. "shards":[
  7. {
  8. "shard":"shard1",
  9. "status":"healthy",
  10. "replicas":[
  11. {
  12. "name":"core_node2",
  13. "url":"http://10.8.204.89:8983/solr/gettingstarted_shard1_replica1/",
  14. "numDocs":0,
  15. "status":"active",
  16. "uptime":"0 days, 0 hours, 4 minutes, 27 seconds",
  17. "memory":"85.6 MB (%17.5) of 490.7 MB",
  18. "leader":true},
  19. {
  20. "name":"core_node3",
  21. "url":"http://10.8.204.89:7574/solr/gettingstarted_shard1_replica2/",
  22. "numDocs":0,
  23. "status":"active",
  24. "uptime":"0 days, 0 hours, 4 minutes, 21 seconds",
  25. "memory":"41.4 MB (%8.4) of 490.7 MB"}]},
  26. {
  27. "shard":"shard2",
  28. "status":"healthy",
  29. "replicas":[
  30. {
  31. "name":"core_node1",
  32. "url":"http://10.8.204.89:8983/solr/gettingstarted_shard2_replica1/",
  33. "numDocs":0,
  34. "status":"active",
  35. "uptime":"0 days, 0 hours, 4 minutes, 27 seconds",
  36. "memory":"85.9 MB (%17.5) of 490.7 MB",
  37. "leader":true},
  38. {
  39. "name":"core_node4",
  40. "url":"http://10.8.204.89:7574/solr/gettingstarted_shard2_replica2/",
  41. "numDocs":0,
  42. "status":"active",
  43. "uptime":"0 days, 0 hours, 4 minutes, 21 seconds",
  44. "memory":"41.4 MB (%8.4) of 490.7 MB"}]}]}

3.Collections和Cores

a.创建

注意:执行create命令的用户要和启动Solr的用户一致

create命令行会检测到Solr的运行状态(standalone或SolrCloud),根据状态创建core或collection

  1. bin/solr create options
  2. bin/solr create -help

可用参数

参数 描述 示例
-c <name> 创建core或collection的名称 bin/solr create -c mycollection
-d <confdir> 配置目录,默认值是data_driven_schema_configs bin/solr create -d basic_configs
-n <configName> 配置文件名。默认和core或collection同名 bin/solr create -n basic
-p <port> 指定Solr端口。当运行多个standalone实例时需要指定 bin/solr create -p 8983

-s <shards>

-shards

分割collection为shards的数量,默认1。前提是SolrCloud模式 bin/solr create -s 2

-rf <replicas>

-replicationFactor

集群中每个document的拷贝数量,默认值1(没有replication) bin/solr create -rf 2

4.配置目录和SolrCloud

在创建SolrCloud集群前,使用的配置目录必须上传到ZooKeeper。需要你做主要决定的是在ZooKeeper中的配置目录是否应该分享到多个集群。下面通过示例来了解配置目录是如何在SolrCloud中工作的。

首先,如果没有提供-d或-n选项,默认配置($SOLR_HOME/server/solr/configsets/data_driven_schema_cinfigs/conf)被上传到ZooKeeper,使用和集群相同的名称。例如,下面的命令将导致data-driven_schema_configs配置被上传到ZooKeeper

  1. bin/solr create -c contacts

如果创建另一个集群

  1. bin/solr create -c contacts2

另一个data_driven_schema_configs的拷贝将被上传到ZooKeeper,在/configs/contacts2下。对contacts集群做的变化不会影响contacts2。简而言之,默认为每个collection创建独一无二的配置目录拷贝。

使用-n选项可以覆盖ZooKeeper的配置目录。示例

  1. bin/solr create -c logs -d basic_configs -n basic

将上传server/solr/configsets/basic_configs/conf目录到ZooKeeper作为/configs/basic

注意,我们使用-d选项指定不同的配置目录。Solr提供了多个内置配置,在server/solr/configsets下。然而,你也可以提供你自己的配置目录路径。示例:

  1. bin/solr create -c mycoll -d /tmp/myconfigs

将上传/tmp/myconfigs到ZooKeeper目录/configs/mycoll下。再次重申,配置目录的名称和集群一致,除非使用-n指定

其他集群可以共享配置,使用-n选项。示例:创建一个共享之前创建的basic配置的新集群

  1. bin/solr create -c logs2 -n basic

a.Data-driven schema和共享配置

data_driven_schema_configs将转变为索引数据。因此,建议不要共享配置,除非确定所有集群应该继承一个集群的索引变化。

b.Delete

delete命令行检测到Solr的运行模式,delete core或collection

  1. bin/solr delete [options]
  2. bin/solr delete -help

如果在SolrCloud模式,delete命令行检查配置目录是否有其他集群使用,如果没有,也将从ZooKeeper中被删除。

可用参数

参数 描述 示例
-c <name> core/collection名称 bin/solr delete -c mycoll
-deleteConfig <trueIfalse>

从ZooKeeper删除配置目录,默认值为true

如果配置目录被其他集群使用,指定true也不会被删除

bin/solr delete -deleteConfig false
-p <port> 多个standalone实例时有用 bin/solr delete -p 8983

solr 常用命令的更多相关文章

  1. solr常用命令

    1.启动和关闭 a.启动和重启 启动和重启命令有很多选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper. bin/solr star ...

  2. Solr常用命令总结

    前提条件: 安装solr版本:4.8.0 部署solr路径:/data/solr-4.8.0 1. 通过zookeeper上传一些配置信息: 通过zk命令将配置信息上传到zk环境中: /data/so ...

  3. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  4. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  5. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  8. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  9. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

随机推荐

  1. Pty的字符串(string)

    题目描述 在神秘的东方有一棵奇葩的树,它有一个固定的根节点(编号为1).树的每条边上都是一个字符,字符为a,b,c中的一个,你可以从树上的任意一个点出发,然后沿着远离根的边往下行走,在任意一个节点停止 ...

  2. FOJ ——Problem 1759 Super A^B mod C

     Problem 1759 Super A^B mod C Accept: 1368    Submit: 4639Time Limit: 1000 mSec    Memory Limit : 32 ...

  3. html状态码

    100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本 200——交易成功201——提示知道新文件的URL202——接受和处理.但处理未完成203——返回信息不确定或不完整 ...

  4. java:网络编程(InetAddress,InetSocketAddress,URL,TCP(Socket与SeverSocket),TCP与UDP的区别)

    InerAddress: /**IP地址:在网络上唯一标示一台计算机 * 端口号:标示计算机上不同的应用程序 * java.net.InetAddress类:此类表示互联网协议 (IP) 地址. * ...

  5. mysql索引记

    如果字段是数值型,where 是字符串型,走索引但是,如果字段是字符串型,但是where 是数值型,不走索引

  6. Hibernate中用注解配置一对多双向关联和多对一单向关联

    Hibernate中用注解配置一对多双向关联和多对一单向关联 Hibernate提供了Hibernate Annotations扩展包,使用注解完成映射.在Hibernate3.3之前,需单独下载注解 ...

  7. javascript jquery document.ready window.onload

    网易 博客 下载LOFTER客户端 注册登录  加关注 凡图的编程之路 2012年7月从一个编程新手的点点滴滴 首页 日志 LOFTER 相册 博友 关于我     日志       关于我 Holy ...

  8. [ CodeVS冲杯之路 ] P1169

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1169/ 感觉这题目好恐怖,莫名其妙乱码一堆就AC了…… 它看上去是两个子问题,实际上可以看成从起点找两条不相交的路径使 ...

  9. Linux Mint---shutter截图软件

    shutter 可以说是linux下最好的截图软件了,默认安装好后不能编辑截图,解决方法如下: 1-关闭shutter 2-sudo apt-get install shutter libgoo-ca ...

  10. [C++对象模型][8]多重继承与虚函数表

    转载: [C++对象模型][8]多重继承与虚函数表 一 多重继承 1) 代码: Code #include <iostream> using namespace std; class B1 ...