声明:写此博客是为了记录并分析solr集群搭建的全过程,防止后期时间久了不用会遗忘。希望同时也能帮到有需要的朋友
因为是在虚拟机上模拟安装,所以采用伪集群的方式进行安装,即将如果是真正的生产环境,将伪集群的ip改下就可以了,步骤是一样的。
SolrCloud架构图如下:
使用伪分布式实现solr集群。需要三个zookeeper实例,4个tomcat实例。我们是在一台虚拟机上模拟,所以将虚拟机内存设置到1G以上。
首先搭建Zookeeper集群
一、因为Zookeeper也是java开发的所以需要先安装jdk。
1.查看当前操作系统是否有预装jdk,有的话先执行卸载。没有则直接跳转到第 2 步
命令:java -version
卸载命令:
rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
1.解压jdk的压缩包(先切换管理员登录,避免后续操作权限不足的情况)
命令:tar -zxf jdk-7u55-linux-i586.tar.gz
2.创建目录/usr/java,将解压后的jdk目录移动到/usr/java下
命令:mv jdk1.7.0_55/ /usr/java/
3.打开环境变量配置文件
命令:vim /etc/profile
4.文档最后部分添加JAVA_HOME和PATH(按i键后,才可以键入内容)
export JAVA_HOME=/usr/java/jdk1.7.0_55
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
5.修改后,ctrl+c退出编辑模式,然后输入:wq(保存并退出)。并重新载入配置文件
命令:source /etc/profile
6.再次查看java版本。我们安装的版本是1.7.0_55
命令 java -version
报错:错误原因是64位系统中安装了32位程序。
7.解决报错,安装glibc。
命令:yum install glibc.i686
8.输入y,回车
9.输入y,回车
10.安装完glibc之后,再次查看java版本。
命令:java -version
java version "1.7.0_55",完美,jdk安装完毕
二、开始安装Zookeeper
1、前往安装包所在的目录下,解压缩Zookeeper安装包
命令 : cd /home/peter/Downloads
tar -zxf zookeeper-3.4.6.tar.gz
2、创建一个目录专门用来存放solrcloud相关安装文件夹,然后将解压好的zookeeper安装文件夹移动到该目录下
命令:
mkdir /usr/local/solrcloud -p
mv zookeeper-3.4.6 /usr/local/solrcloud/zookeeper1
3、在zookeeper1下创建目录data,在data下创建文件myid,在其中添加内容1
命令:mkdir zookeeper1/data -p
echo 1 >> zookeeper1/data/myid
4、切到zookeeper目录下的conf文件夹下,复制配置文件zoo_sample.cfg文件并重命名为zoo.cfg
命令:cd zookeeper1/conf
cp zoo_sample.cfg zoo.cfg -rf
5、编辑配置文件zoo.cfg,修改dataDir属性和clientPort属性,并在clientPort属性下面添加server.1/server.2/server.3属性
命令:vim zoo.cfg
添加的server.1/server.2/server.3注意修改ip、端口,并检查属性名,此处容易出错。
6、切回到solrcloud目录下,复制zookeeper1目录,出来两个新的安装文件夹zookeeper2、zookeeper3
命令:cp zookeeper1/ zookeeper2 -rf
cp zookeeper1/ zookeeper3 -rf
7、修改zookeeper2的myid
命令:vim zookeeper2/data/myid
8、修改zookeeper3的myid
命令:vim zookeeper3/data/myid
9、修改zookeeper2的zoo.cfg文件
命令:vim zookeeper2/conf/zoo.cfg
10、修改zookeeper3的zoo.cfg文件
命令:vim zookeeper3/conf/zoo.cfg
11、接下来分别启动三个zookeeper,并查看每一个的状态
命令:zookeeper1/bin/zkServer.sh start
zookeeper2/bin/zkServer.sh start
zookeeper3/bin/zkServer.sh start
zookeeper1/bin/zkServer.sh status
zookeeper2/bin/zkServer.sh status
zookeeper3/bin/zkServer.sh status
注意:1.全部启动后再查看状态。
2.如果查看状态显示的是有一个leader,两个follower就是配置成功。如果显示三个都是standalone,则配置有误,返回检查配置。