##安装环境及版本:
- 系统:ubuntu 18.04 LTS
- jdk: 1.8.0
- Tomcat: 9.0.22
- Solr: 8.2.0
- 单机版:https://www.jianshu.com/p/59a3b9d3ba6d
一. 官方方式(简单,推荐)
- 下载压缩包,上传并解压
Solr: https://lucene.apache.org/solr/downloads.html
官方安装教程:https://lucene.apache.org/solr/guide/8_1/solr-tutorial.html - 启动(交互式启动)Welcome to the SolrCloud example!
1
2
3
4
5// -force 显示进度
./bin/solr -e cloud -force
```
这将启动一个交互式会话,引导您完成设置带有嵌入式ZooKeeper的简单SolrCloud集群的步骤。
该脚本首先询问您要在本地群集中运行多少个Solr节点,默认值为2。
This interactive session will help you launch a SolrCloud cluster on your local workstation.
To begin, how many Solr nodes would you like to run in your local cluster? (specify 1-4 nodes) [2]
1 | 该脚本支持最多启动4个节点,但我们建议在启动时使用默认值2。这些节点将分别存在于一台计算机上,但将使用不同的端口来模拟不同服务器上的操作。 |
Please enter the port for node1 [8983]
1 | 为每个节点选择任何可用端口; 第一个节点的默认值为8983,第二个节点的默认值为7574。该脚本将按顺序启动每个节点,并显示它用于启动服务器的命令,例如: |
solr start -cloud -s example/cloud/node1/solr -p 8983
1 | 第一个节点还将启动绑定到端口9983的嵌入式ZooKeeper服务器。第一个节点的Solr主目录example/cloud/node1/solr位于-s选项所指示的位置。 |
Please provide a name for your new collection: [gettingstarted]
1 | 建议的默认值是“gettingstarted”,但您可能希望选择更适合您的特定搜索应用程序的名称。 |
// 删除此集合
bin/solr delete -c techproducts
// 然后创建一个新的集合
bin/solr create -c
// 要停止我们启动的两个Solr节点,请发出以下命令
bin/solr stop -all
//重新启动Solr
./bin/solr start -c -p 8983 -s example/cloud/node1/solr -force
//完成后启动第二个节点,并告诉它如何连接到ZooKeeper
./bin/solr start -c -p 7574 -s example/cloud/node2/solr -z localhost:9983 -force
1 |
|
//解压
tar zxvf apache-zookeeper-3.5.5-bin
//复制到自己的路径
cp apache-zookeeper-3.5.5-bin /usr/local/zookeeper/zk1 -r
cp apache-zookeeper-3.5.5-bin /usr/local/zookeeper/zk2 -r
cp apache-zookeeper-3.5.5-bin /usr/local/zookeeper/zk3 -r
1 | 2 把zookeeper/zk1/conf/zoo_sample.cfg复制一份改为zoo.cfg,并修改 |
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
1 | ``` |
3.在zookeeper/zk1 目录下新建data文件夹,并新建文件myid,内容分别对应为zookeeper的编号(1,2,3)
1 | cd data/ |
- 分别启动即可
2. solr集群
- 首先搭建单机版,并测试通过
https://www.jianshu.com/p/59a3b9d3ba6d - 复制四份solr的tomcat,每个tomcat都是单机版的solr
以下修改,四个solr的tomcat文件都要同步修改
3. 修改tomcat/binserver.xml的端口,分别为60** ,70** ,80** ,90**
1 | //第一处 |
- 修改tomcat*/webapps/solr/WEB-INF/web.xml的 标签
1
2# 这个路径对应上面的solrhome全路径(tomcat1,tomcat2,tomcat3,tomcat4)
<env-entry-value>/usr/local/solr-cloud/tomcat1/solrhome</env-entry-value> - 修改solrhorm下的solr.xml
1
2//分别对应步骤3的端口(6080,7080,8080,9080)
<int name="hostPort">${jetty.port:9080}</int> - 修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址:
1
JAVA_OPTS="-DzkHost=192.168.234.129:2181,192.168.234.129:2182,192.168.234.129:2183"
- 启动四个tomat
浏览器访问:http://ip:8080/solr/index.html3 新建collections/core核心
- 新建索引,会报错
2 打开solr原始目录(solr安装包解压后的目录),找到 /server/scripts/cloud-scripts/zkcli.sh,使用这个脚本来上传core配置到zookeeper,命令如下:1
2
3//-zkhost:后面是zookeeper的地址, -cmd upconfig:上传命令
// -confdir:上传文件的路径 -confname myconf:上传后的名称
./zkcli.sh -zkhost 192.168.234.129:2181,192.168.234.129:2182,192.168.234.129:2183 -cmd upconfig -confdir /home/lrxc/solr-8.2.0/server/solr/configsets/_default/conf -confname myconf - 再次创建即可
Java连接代码
1 | // solr的core名称(索引库) |