linux系统中
先搭建zookeeper集群
zookeeper下载:https://download.youkuaiyun.com/download/ly_linyuan/10377506
solr下载:https://download.youkuaiyun.com/download/ly_linyuan/10373271
1.上传zookeeper-3.4.6到linux服务器中并解压
2.复制为三份:
新建一个solr-cloud文件,复制到该目录下
cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01
cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02
cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03
3.进入solr-cloud目录:cd /usr/local/solr-cloud/
再进入第一个节点目录中:cd zookeeper01
4.创建data文件:mkdir data
进入data目录下:cd data
创建新文件myid:touch myid
5.编辑myid:vim myid
添加:1 保存并退出
后面分别添加2,3
6.进入zookeeper01的conf目录下,将zoo_sample.cfg改名为zoo.cfg
mv zoo_sample.cfg zoo.cfg
7.编辑zoo.cfg: vim zoo.cfg
(1)将dataDir=/root/zookeeper-3.4.6/data改为我们的实际目录
dataDir=/usr/local/solr-cloud/zookeeper01/data/
(2)配置集群中每一个节点的ip地址和端口号
server.1=192.168.64.129:2881:3881
server.2=192.168.64.129:2882:3882
server.3=192.168.64.129:2883:3883
注意:2881:zookeeper之间内部通信端口,3881:选举端口,不能和客户端访问的端口号一样即可
(3)clientPort=2181 客户端访问的端口号需要改,三个节点不能一样
这里第一个不改,改变其他两个节点分别为2882,2883
8.重复步骤3-7,配置其他两个节点(注意更改端口号)
9.写一个批处理启动所有节点
在solr-cloud目录下:vim start-zookeeper.sh
cd zookeeper01/bin
./zkServer.sh start
cd ../../
cd zookeeper02/bin
./zkServer.sh start
cd ../../
cd zookeeper03/bin
./zkServer.sh start
cd ../../
10.授权可执行:chmod u+x start-zookeeper.sh
启动:./start-zookeeper.sh
查看状态:cd zookeeper01/bin
./zkServer.sh status
solr集群的搭建
解压tomcat至solr-cloud目录中
tar zxf apache-tomcat-7.0.47.tar.gz -C /usr/local/solr-cloud/
进入solr-cloud目录再复制三份tomcat
cp -r tomcat01 tomcat02
2.修改每个tomcat的端口号
进入solr-cloud目录:cd /usr/local/solr-cloud
vim tomcat01/conf/server.xml
这里改为8180,8280,8380进行测试
3.将之前配置好单机版的solr复制过来
参考:https://blog.youkuaiyun.com/ly_linyuan/article/details/80101218
cp -r ../solr/tomcat/webapps/solr/ tomcat01/webapps
cp -r ../solr/tomcat/webapps/solr/ tomcat02/webapps
cp -r ../solr/tomcat/webapps/solr/ tomcat03/webapps
cp -r ../solr/tomcat/webapps/solr/ tomcat04/webapps
4.将单机版的solrhome也复制过来
cp -r ../solr/solrhome/ slorhome01
cp -r ../solr/solrhome/ slorhome02
cp -r ../solr/solrhome/ slorhome03
cp -r ../solr/solrhome/ slorhome04
5.依次修改四个solrhome的配置(进入solrhome01目录下编辑solr.xml)
vim solr.xml
节点信息
<solrcloud>
<str name="host">${host:}</str>
<int name="hostPort">${jetty.port:8983}</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
修改为
<solrcloud>
<str name="host">192.168.64.129</str>
<int name="hostPort">8180</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
6.更改tomcat中solr下的web.xml(将solrhome,solr与tomcat关联)
vim tomcat01/webapps/solr/WEB-INF/web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
改为:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr-cloud/solrhome01</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
7.tomcat,solr和zookeeper关联关系配置
cd tomcat01/bin
vim catalina.sh
在下面语句下一行加入
#JAVA_OPTS=”$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=umask
“(下一行加入)
JAVA_OPTS=”-DzkHost=192.168.64.129:2181,192.168.64.129:2182,192.168.64.129:2183”
8.将配置文件上传到zookeeper
ll solrhome01/collection1/conf/(随便找的)
需要使用工具
进入solr-4.10.3下的example下的scripts下的cloud-scripts的下面有一个zkcli.sh文件
命令:./zkcli.sh -zkhost 192.168.64.129:2181,192.168.64.129:2182,192.168.64.129:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf/ -confname myconf
进入zookeeper的bin目录下执行连接zookeeper:./zkCli.sh
./zkCli.sh -server 192.168.64.129:2182(连接zookeeper的2182端口命令)
quit退出
9.编写一个批处理启动tomcat,
vim start-tomcat.sh
/usr/local/solr-cloud/tomcat01/bin/startup.sh
/usr/local/solr-cloud/tomcat02/bin/startup.sh
/usr/local/solr-cloud/tomcat03/bin/startup.sh
/usr/local/solr-cloud/tomcat04/bin/startup.sh
保存并退出
加上可执行权限:chmod +x start-tomcat.sh
启动:./start-tomcat.sh
查看启动日志:
1、先切换到:cd /usr/system/apache-tomcat-7.0.62/logs
2、 tail -f catalina.out
效果图: