solr cloud重新设置schema

solr cloud重新设置schema

solr 配置文件目录结构

单个主机:

<solr-home-directory>/
    solr.xml
    core_name1/
        core.properties
        conf/
            solrconfig.xml
            managed-schema
            data/
    core_name2/
        core.properties
        conf/
            solrconfig.xml
            managed-schema
            data/

SolrCloud

<solr-home-directory>/
    solr.xml
    core_name1/
        core.properties
        data/
    core_name2/
        core.properties
        data/

比较下发现cloud模式下,没有schema文件。其实文件存在zookeeper上。zookeeper路径:
/core_name/configs/ranger_audits/managed-schema

问题

在solr的控制台添加dynamic filed,name=“resourced”。名字的前后没有“*”。虽然添加成功了,但是solr加载配置的时候抛异常:无法加载resourced,名字前后缺少星号。
查看zookeeper上的配置,发现最后一行多了

<dynamicField name="resourced*" type="string" docValues="true" indexed="true" stored="true"/>

需要把这行去掉,solr才能成功启动。

替换solr的schema

solr提供了操作zookeeper的脚本:zkcli.sh(由于和zookeeper的zkCli.sh名字差不多,最开始我就搞错了,使用了zookeeper的脚本。)
位置:/usr/lib/ambari-infra-solr/server/scripts/cloud-scripts/
命令:./zkcli.sh -z zkhost:2181 -cmd putfile /core_name/configs/ranger_audits/managed-schema ~/myschema.xml
参数:
-z,zookeeper的地址和端口
-cmd putfile:上传文件替换schema。第一个参数是zookeeper路径,第二个参数是本地文件。
ambari启动solr的命令如下。我们可以从命令中找出jvm设置和文件路径设置。

/usr/jdk64/jdk1.8.0_60/bin/java
 -server
 -Xms1024m
 -Xmx2048m
 -XX:NewRatio=3
 -XX:SurvivorRatio=4
 -XX:TargetSurvivorRatio=90
 -XX:MaxTenuringThreshold=8
 -XX:+UseConcMarkSweepGC
 -XX:+UseParNewGC
 -XX:ConcGCThreads=4
 -XX:ParallelGCThreads=4
 -XX:+CMSScavengeBeforeRemark
 -XX:PretenureSizeThreshold=64m
 -XX:+UseCMSInitiatingOccupancyOnly
 -XX:CMSInitiatingOccupancyFraction=50
 -XX:CMSMaxAbortablePrecleanTime=6000
 -XX:+CMSParallelRemarkEnabled
 -XX:+ParallelRefProcEnabled
 -verbose:gc
 -XX:+PrintHeapAtGC
 -XX:+PrintGCDetails
 -XX:+PrintGCDateStamps
 -XX:+PrintGCTimeStamps
 -XX:+PrintTenuringDistribution
 -XX:+PrintGCApplicationStoppedTime
 -Xloggc:/data/log/ambari-infra-solr/solr_gc.log
 -Dcom.sun.management.jmxremote
 -Dcom.sun.management.jmxremote.local.only=false
 -Dcom.sun.management.jmxremote.ssl=false
 -Dcom.sun.management.jmxremote.authenticate=false
 -Dcom.sun.management.jmxremote.port=18886
 -Dcom.sun.management.jmxremote.rmi.port=18886
 -DzkClientTimeout=60000
 -DzkHost=zk1:2181,zk2:2181,zk3:2181,zk4:2181/core_name
 -Djetty.port=8886
 -DSTOP.PORT=7886
 -DSTOP.KEY=solrrocks
 -Duser.timezone=UTC
 -Djetty.home=/usr/lib/ambari-infra-solr/server
 -Dsolr.solr.home=/data/ambari_infra_solr/data
 -Dsolr.install.dir=/usr/lib/ambari-infra-solr
 -Dlog4j.configuration=file:/etc/ambari-infra-solr/conf/log4j.properties
 -XX:OnOutOfMemoryError=/usr/lib/ambari-infra-solr/bin/oom_solr.sh
 8886
 /data/log/ambari-infra-solr
 -jar
 start.jar
 --module=http

solr schema field api

更新

curl -X POST -H 'Content-type:application/json' --data-binary '{"replace-field" : { "name":"resource2","type":"key_lower_case","multiValued":false }}' http://solrhost:8886/solr/core_name/schema

删除

curl -X POST -H 'Content-type:application/json' --data-binary '{"delete-field" : { "name":"resource2"}}' http://solrhost:8886/solr/core_name/schema

添加

curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field" : { "name":"resource2","type":"key_lower_case","multiValued":false}}' http://solrhost:8886/solr/core_name/schema

solr 查询

按照字段值(repo),时间段(evtTime),分页(start,rows)查询solr。

http://solrhost:8886/solr/core_name/select?fq=repo:test_hive&fq=evtTime:[2017-10-23T00:00:00Z+TO+2017-11-01T16:57:34Z]&indent=on&q=*:*&wt=json&start=0&rows=1000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值