设为首页 收藏本站
查看: 1372|回复: 0

[经验分享] CentOS下用Tomcat+Zookeeper+Nginx+Solr完美搭建SolrCloud平台(一)

[复制链接]

尚未签到

发表于 2015-7-18 09:33:13 | 显示全部楼层 |阅读模式
  最近单位要用一套能支持日均几十万人访问,存储数据在超百亿条以上的全文检索系统。设想最好的方案是使用Hadoop,用Hadoop存储这超百亿数据不是个问题,但要用Hadoop的MapReduce对这超百亿的数据进行全文检索并不是件易事,要学习MapReduce需要一个较长的时间。之前我们有接触过Solr,也用Solr做过单机环境下的实际项目,从Solr4.0开始,Solr已经开始支持SolrCloud云功能,因此此次项目选用最新的Solr 4.5.1进行开发和部署。
  在部署SolrCloud过程中,虽然百度了很多文章(每篇文章资料都不是很全),但还是走了不少弯路,花了近一个星期才完成一个近似完美的SolrCloud平台的搭建。在此,我把搭建部署SolrCloud过程的每一步记录下来,供大家学习参考。
  一、大致框架和软硬件环境
  1、硬件环境:6台虚拟主机,内存各为16GB,系统分区为100GB,存放Solr、Zookeeper数据的分区为独立的磁盘或RAID盘(加载到/media目录下)
  2、软件环境:CentOS 6.3 (64位) + Java 1.7.0_25 + Nginx 1.4.3 + Tomcat 7.0.42 + Zookeeper 3.4.5 + Solr 4.5.1
  3、大致框架:5台虚拟主机跑Tomcat+Zookeeper+Solr形成一个云环境,1台虚拟主机跑Nginx用于负载均衡。另外还需要一台DNS服务器用于域名的解析(该服务如果原生产环境中没有,可以将DNS服务跑在Nginx主机上,本人的环境里有一台Windows Server在跑DNS),使用DNS最大的好处是在以后增加新的SolrCloud节点服务器时,可以不用更新之前每台服务器上的hosts文件。
  4、Web服务的端口配置:
  由于为了充分利用主机资源,我们的SolrCloud运行包和开发的程序应用包都跑在同一个主机的同一个Tomcat下,这会导致对Solr有点了解的人可以通过URL直接连入SolrCloud的管理界面进行节点的增删改,这是我们的项目不希望看到的。因此,本文将开发的程序应用包跑在Tomcat的80端口下,而SolrCloud包则运行在Tomcat的9998下。
  这样配置后,我们输入网址 http://nginx.jyga.com 将访问到我们的项目工程界面,输入网址 http://nginx.jyga.com:8080/solr 将访问到SolrCloud的管理界面,以方便项目的开发测试。
  5、DNS解析情况:
  

dns1.jyga.com        192.168.0.1dns2.jyga.com        192.168.0.2nginx.jyga.com       192.168.0.10solr1.jyga.com       192.168.0.11solr2.jyga.com       192.168.0.12solr3.jyga.com       192.168.0.13solr4.jyga.com       192.168.0.14solr5.jyga.com       192.168.0.15
DSC0000.jpg
  二、准备工作
  1、安装 Java 1.7.0_25  (每台虚拟主机都要安装,可以先安装一台,然后克隆出其它虚拟主机。如果是多台物理主机,就只能一台一台安装了)
  (1)检查系统是已安装的Java的版本
  

[iyunv@nginx 桌面]# java -versionjava version "1.6.0.24"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.11.1.el6-x86_64)OpenJDK 64-bit Server VM (build 20.0-b12, mixed mode)
  
  (2)如果已安装的版本为openjdk或版本低于1.7.0(CentOS 6.3默认安装的是OpenJDK 1.6),请安装Java 1.7.0。  如果安装的版本已经是1.7.0,则可以不用再安装。
  

[iyunv@nginx 桌面]# rpm -ivh jdk-7u25-linux-x64.rpmPreparing...                        ######################### [100%]    1:jdk                            ######################### [100%]Uppacking JAR files...         rt.jar...         jsse.jar...         charsets.jar...         tools.jar...         localedata.jar...
  (3)修改 /etc/profile 文件,在该文件的尾部添加下述JAVA的环境变量
  
  

export JAVA_HOME=/usr/java/jdk1.7.0_25export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin
  (4)不重启使 /etc/profile 立即生效
  
  

[iyunv@nginx 桌面]# source /etc/profile
  (5)修改系统使用的Java版本,使已安装的Java 1.7.0_25生效(输入选择的号码2)
  

[iyunv@nginx 桌面]# update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_03/bin/java 60[iyunv@nginx 桌面]# update-alternatives --config java共有 2 个程序提供"java"。  选择      命令-----------------------------------------------*+ 1              /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java   2              /usr/java/jdk1.7.0_25/bin/java按 Enter 来保存当前选择[+],或键入选择号码:2
  (6)确认当前使用的Java版本
  
  

[iyunv@nginx 桌面]# java -versionjava version "1.7.0_25"Java(TM) SE Runtime Environment (build 1.7.0_25-b15)Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
  2、配置主机名称及网络环境
  (1)修改 /etc/sysconfig/network 文件,变更主机的主机名。(其它主机按照分配的域名进行修改)
  

HOSTNAME=nginx.jyga.com
  (2)修改 /etc/hosts 文件,变更主机指向。(其它主机按照分配的域名进行相应的修改)
  

127.0.0.1   nginx.jyga.com localhost localhost.localdomain::1         localhost localhost.localdomain
  (3)修改主机的IP、网关、子网掩码及DNS指向。(其它主机按照分配的IP进行相应的修改)
  
DSC0001.jpg
  3、应用程序和工作目录的设置
  (1)格式化独立的磁盘(或RAID盘),分区格式为 ext4,设置分区的卷标为 solr 。同时将分区挡挂载到 /media 目录下(如图)
DSC0002.jpg
  (2)设置为启动自动挂载分区。修改 /etc/fstab 文件,在尾部加入下述一行:
  

/dev/sdb           /media/solr           ext4   defaults 0 0
  (3)创建Tomcat、Zookeeper和Nginx的工作目录为 /media/solr/app
  

[iyunv@nginx 桌面]# mkdir /media/solr/app
  (4)创建Zookeeper和SolrCloud的数据存储目录为 /media/solr/data
  
  

[iyunv@nginx 桌面]# mkdir /media/solr/data
  4、(可选,视实际情况而定)关闭防火墙。因为Zookeeper、Tomcat和nginx都要通过开放相应的端口进行服务,为了方便将防火墙关闭。
  
  

[iyunv@nginx 桌面]# chkconfig iptables off

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87880-1-1.html 上篇帖子: solr error logs org.apache.solr.common.SolrException: ERROR: [doc=17] unknown fi 下篇帖子: solr连接数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表