13544870125 发表于 2017-12-20 06:16:27

SolrCloud6.3 单机、集群、内置jetty、tomcat搭建、对collection操作

  参考:https://my.oschina.net/u/1416405/blog/821187
1、Solr 单机
1.1、Solr下载
  1、solr官网:http://lucene.apache.org/solr/
https://static.oschina.net/uploads/space/2017/0109/103817_WLsP_1416405.png
https://static.oschina.net/uploads/space/2017/0109/103826_5BYd_1416405.png
https://static.oschina.net/uploads/space/2017/0109/103837_aPbr_1416405.png
  2、上传到服务器,解压压缩包:
https://static.oschina.net/uploads/space/2017/0109/103842_239B_1416405.png
1.2、Solr单机运行
1.2.1、内置Jetty运行
  1、进入solr/bin目录,运行solr(solr5以上自带jetty)
  提示不要采用root启动。添加solr用户,分配组
https://static.oschina.net/uploads/space/2017/0109/103851_bK67_1416405.png
  将solr目录权限设置为solr
https://static.oschina.net/uploads/space/2017/0109/103854_xWd8_1416405.png
  切换用户,运行solr
https://static.oschina.net/uploads/space/2017/0109/103859_kXVc_1416405.png
  访问solr管理页面:http://192.168.112.128:8983/solr/#/
https://static.oschina.net/uploads/space/2017/0109/103903_cnwK_1416405.png
  2、创建核心:
https://static.oschina.net/uploads/space/2017/0109/103908_TsEd_1416405.png

  可以看到没有找到核心配置文件,solr默认根路径是solr/server/solr,将solr/example/example-DIH/solr/solr 核心配置文件拷贝到 solr/server/solr 下面
https://static.oschina.net/uploads/space/2017/0109/103911_EYNJ_1416405.png
  cp -r /home/solr/example/example-DIH/solr/solr /home/solr/server/solr/my_core
  要从新启动服务bin/solr restart
  再次创建核心成功:
https://static.oschina.net/uploads/space/2017/0109/103914_JizM_1416405.png
https://static.oschina.net/uploads/space/2017/0109/103919_ynHQ_1416405.png

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:
https://static.oschina.net/uploads/space/2017/0109/103922_XSsH_1416405.png
  将solr/server/solr 复制到solr_home中
https://static.oschina.net/uploads/space/2017/0109/103926_MiZA_1416405.png
  将solr工程复制到tomcat8/webapps下面
https://static.oschina.net/uploads/space/2017/0109/103930_4qtX_1416405.png
  修改solr根路径,修改solr工程中中web.xml:
https://static.oschina.net/uploads/space/2017/0109/103932_rN5H_1416405.png
https://static.oschina.net/uploads/space/2017/0109/103941_qKZl_1416405.png
  将solr/dist和solr/server/lib/ext 下的jar包。复制到solr工程lib目录下面
https://static.oschina.net/uploads/space/2017/0109/103946_cMzu_1416405.png
https://static.oschina.net/uploads/space/2017/0109/103954_xtZ6_1416405.png
  在WEB-INF 中 创建classes文件夹,将/solr/solr/server/resources 中log4j.properties 复制到classes文件夹中
https://static.oschina.net/uploads/space/2017/0109/104002_9PSg_1416405.png
  启动tomcat8:
https://static.oschina.net/uploads/space/2017/0109/104005_hINt_1416405.png
  没有权限。打开solr工程中 WEB-INF/web.xml,在最后将此段代码注释掉。
https://static.oschina.net/uploads/space/2017/0109/104009_egTg_1416405.png
  重新启动tomcat8(我这里端口修改成为8983,可以自己修改tomcat端口),必须访问/index.html:
https://static.oschina.net/uploads/space/2017/0109/104013_ipYI_1416405.png
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
https://static.oschina.net/uploads/space/2017/0109/104019_slWA_1416405.png
  进入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:端口")
https://static.oschina.net/uploads/space/2017/0109/104029_xb30_1416405.png
  访问页面http://192.168.112.128:8983/solr/index.html:
https://static.oschina.net/uploads/space/2017/0109/104033_IwuA_1416405.png
  同上在另一台服务器上部署solr(注意,两台要使用同一zokeeper集群):
  访问页面http://192.168.112.129:8983/solr/index.html:
https://static.oschina.net/uploads/space/2017/0109/104038_K1Mi_1416405.png
2.2、Tomcat运行SolrCloud
  在tomcat中中bin/catalina.sh 配置zookeeper路径(zk集群用,分隔):
https://static.oschina.net/uploads/space/2017/0109/104043_0oJA_1416405.png
  另外的服务器上配置号1.2.2中tomcat以及solr.启动所有tomcat
https://static.oschina.net/uploads/space/2017/0109/104047_nTUG_1416405.png
  如果不使用8983端口,则要修改solr根目录中的solr.xml端口配置为需要设置的端口
https://static.oschina.net/uploads/space/2017/0109/104052_TdRs_1416405.png
https://static.oschina.net/uploads/space/2017/0109/104058_Q6Do_1416405.png
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共享:
https://static.oschina.net/uploads/space/2017/0109/104104_HNRr_1416405.png
  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集群)
https://static.oschina.net/uploads/space/2017/0109/104109_N90o_1416405.png
  控制台:
https://static.oschina.net/uploads/space/2017/0109/104113_nI3u_1416405.png
https://static.oschina.net/uploads/space/2017/0109/104116_WoQg_1416405.png
  可以看到上传到zookeeper中的配置在solr控制台展示:
https://static.oschina.net/uploads/space/2017/0109/104121_j1pc_1416405.png
  2、可以通过命令行工具上传配置到zookeeper,然后通过访问api形式创建collection
  进入/solr6/solr/server/scripts/cloud-scripts 目录:
https://static.oschina.net/uploads/space/2017/0109/104125_wD4Z_1416405.png
  使用命令,上传配置到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:名称
https://static.oschina.net/uploads/space/2017/0109/104130_ROfL_1416405.png
https://static.oschina.net/uploads/space/2017/0109/104133_1fnQ_1416405.png
  使用访问api形式创建collection:
  curl"http://localhost:8983/solr/admin/collections?action=CREATE&name=cloud_core1&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=cloud_core1"
https://static.oschina.net/uploads/space/2017/0109/104142_j4Ln_1416405.png
  也可以直接在控制台创建collection:
https://static.oschina.net/uploads/space/2017/0109/104146_35or_1416405.png
https://static.oschina.net/uploads/space/2017/0109/104151_NIvA_1416405.png
2.3.2、删除 Collection
  1、通过控制台删除collection
https://static.oschina.net/uploads/space/2017/0109/104154_tcUg_1416405.png
  2、通过访问api形式删除:
  http://localhost:8983/solr/admin/collections?action=DELETE&name=mycollection
https://static.oschina.net/uploads/space/2017/0109/104200_8Nei_1416405.png
  删除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中节点位置
https://static.oschina.net/uploads/space/2017/0109/104207_a9DZ_1416405.png
  重新加载collection
  curl "http://127.0.0.1:8983/solr/admin/collections?action=RELOAD&name=cloud_core"
3、其他
  1、solr6 最好使用tomcat8、jdk8、否则可能出现各种错误或者异常
  2、solr6可以直接在管理页面新增,删除字段:
https://static.oschina.net/uploads/space/2017/0109/104212_JijW_1416405.png
  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
页: [1]
查看完整版本: SolrCloud6.3 单机、集群、内置jetty、tomcat搭建、对collection操作