六、SolrCloud集群部署
1、基本环境
(1)、我们需要三台服务器,也就是三台虚拟机。分别是:
192.168.206.101
192.168.206.102
192.168.206.103
(2)、每台及其上都需要部署以下环境:
JDK:基本Java运行环境 jdk1.8
Tomcat:装载Solr服务 tomcat8.5
Solr-4.10.2:Solr服务 solr4.10
Zookeeper:对Solr云进行管理 zookeeper3.4.5
(3)、使用工具:Xshell5 Xftp4 Vmware14
我们用的是虚拟机,我们可以先安装一台,然后把虚拟机进行复制!下面就开如单机部署:
2、软件包上传 、上传到当前目录(使用Xshell5连接centos_01)
(1)、创建安装目录myapp
#mkdir /usr/local/myapp
(2)、上传tar.gz包
![](/qrcode.jpg)
(3)、上传完成
3、jdk安装
(1)、解压
#tar –xzvf jdk1.8.0_181.tar.gz
(2)、配置环境变量 (jdk安装目录/usr/local/myapp/jdk1.8.0_181)
#vim /etc/profile
最后加这二句
export JAVA_HOME=/usr/local/myapp/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
重启profile、不报错就说明配置正确
#Source /etc/profile
(3)、查看是否安装正确:
看到上面版本不对、java运行的是系统自代的openjdk
解决:
原因是:由于在配置环境path的时候, PATH放在了PATH放在了JAVA_HOME前面, 导致先找到对应的open jdk版本
或直接删除系统安装的OpenJdk
编辑Hello.java 、里面写上一段System.out.pring("hello java");
到此jdk安装成功
4、Tomcat安装
(1)、解压:
[root@localhost myapp]# tar -xzvf apache-tomcat-8.5.23.tar.gz
(2)、配置环境变量 :/usr/local/myapp/apache-tomcat-8.5.23
#Vim /etc/profile 最后加
export CATALINA_HOME=/usr/local/myapp/apache-tomcat-8.5.23
#Source /etc/profile
(3)、启动Tomcat
[root@localhost bin]# cd /usr/local/myapp/apache-tomcat-8.5.23/bin
[root@localhost bin]# sh startup.sh && tail -f ../logs/catalina.out
(4)、关闭防iptables
访问:http://192.168.206.101:8080
Tomcat安装成功
5、Solr安装
(1)、解压:
#tar –xzvf solr-4.10.2.tgz
(2)、修改tomcat的bin目录下的catalina.sh文件,添加启动的参数,指向solr的索引文件夹
#cd /usr/local/myapp/solr-4.10.2/example/solr
[root@localhost solr]# vim /usr/local/myapp/apache-tomcat-8.5.23/bin/catalina.sh
(3)、将solr-4.10.2/example/solr/webapps/solr.war复制到tomcat的webapps目录下
[root@localhost webapps]# cd /usr/local/myapp/
[root@localhost myapp]# cp solr-4.10.2/example/webapps/solr.war apache-tomcat-8.5.23/webapps/
解压:
#unzip -oq solr.war -d solr (请先关闭tomcat)
#rm -rf solr.war //删除后war包
(5)、上传启动日志包的jar包
(6)、上传classes文件夹到WEB-INF里、里面是log4j.properties
(7)、启动Tomcat
访问http://192.168.206.101:8080/solr/
6、Zookeeper安装
(1)、解压 :
#tar –xzvf zookeeper-3.4.5.tar.gz
(2)、重命名
(3)、修改配置文件、复制模板文件
[root@localhost conf]# cd zookeeper/conf
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
(4)、修改配置文件、添加以下内容
#vim zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
#dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
dataDir=/usr/local/myapp/zookeeper/data
dataLogDir=/usr/local/myapp/zookeeper/log
server.1=192.168.206.101:2888:3888
server.2=192.168.206.102:2888:3888
server.3=192.168.206.103:2888:3888
说明:
dataDir:数据目录
dataLogDir:日志目录
server.1=x.x.x.x:port1:port2 指定所有zookeeper的节点信息
server后的数字是节点ID,port1是心跳端口,port2是数据端口
(5)、创建数据目录和日志目录
A:先进入zookeeper目录
B:创建目录
mkdir -m 755 data
mkdir -m 755 log
这样两个命令可以在创建目录的同时指定文件夹的权限
(6)、添加节点ID信息
进入data目录,创建文件myid,并且写上ID信息:1
vi myid
插入内容:1
注意,其它节点的ID必须与配置文件中的ID一直,分别是2和3
(7)、配置zookeeper的环境变量,可以在任何位置使用zookeeper命令
A:vi /etc/profile(修改文件)
B:添加内容:
export ZOOKEEPER_HOME=/usr/local/myapp/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
C:重新编译文件:
# source /etc/profile
(8)、zookeeper启动命令:
启动zookeeper: zkServer.sh start
停止zookeeper: zkServer.sh stop
查看状态: zkServer.sh status