基于linux下的solr集群以及分布安装

为什么要用分布集群?

分布集群避免了单点服务器的一些弊端,当单点服务器出现故障时,将直接影响整个系统的使用,从而带来巨大的损失

传统单点服务器存在以下弊端:

1.处理能力有限,容易出现高并发问题

2.容错率低,当服务器出现故障时,会导致整个系统无法使用

3.单点服务器运算能力有限,逐渐无法满足高性能服务器需求

即三高问题,高并发,高可用,高性能。这也是为什么我们需要使用分布集群的重要原因

先配置一台服务器

前置工作:安装jdk和tomcat

1、安装solr

rz选择导入solr的文件

新建一个solr文件夹

mkdir solr

解压至solr文件夹下 tar zxvf solr文件名 -C solr

采用tomcat启动   将solr.war复制到apache下的webapp下(solr.war在解压的solr文件夹下的example下的webapps 文件夹下)

解压solr.war 并放在该目录下的solr文件夹下  

命令 unzip -oq solr.war -d solr 并删除war包防止其重新解压

导入运行所需要的jar包

jar包在solr的example的lib里面

/usr/local/solr/solr-4.10.2/example/solr/lib/ext里面

我们需要将其拷贝到tomcat下的solr中

cd /usr/local/solr/solr-4.10.2/example/solr/lib/ext

cp * /usr/local/tomcat文件夹/webapps/solr(solr.war解压存放的目录)/WEB-INF/lib

以上步骤完成后需要进入catalina.sh指定solr的home目录

cd /usr/local/tomcat文件夹/bin(windows中修改的配置文件时catalina.bat  linux 则是catalina.sh)

vi catalina.sh 进入编辑模式

添加 _OPTS="-Dsolr.solr.home=/usr/local/solr/solr-4.10.2/example/solr"以指定solr 的home目录

接下来是配置zookeeper 

首先自然是解压zookeeper文件

我的zookeeper目录在/usr/local/zookeeper-3.4.5

进入zookeeper配置文件夹

cd /usr/local/zookeeper-3.4.5/conf

zoo的配置文件  zoo_sample.cfg
但它是示例,因此我们需要重新拷贝一份重命名为zoo.cfg
而zookeeper会默认加载zoo.cfg文件
dataDir 数据目录
添加以下内容
zookeeper集群
dataDir=/usr/local/ zookeeper-3.4.5/data    //data所在目录
dataLogDir=/usr/local/ zookeeper-3.4.5/log    //日志文件所在目录
server.1=192.168.8.100:2888:3888/指定zookeeperid/2888心跳接口(是否存活)/3888数据交互接口
server.2=192.168.8.101:2888:3888
server.3=192.168.8.102:2888:3888

zookeeper默认没有data文件夹和log文件夹,因此需要我们自己创建

mkdir-m 755 data

mkdir-m 755 log

我们准备创建三个服务器  所以指定三个服务器分别为1,2,3 后面是ip地址根据自己的ip地址相应作更改

然后我们需要在data文件夹中创建myid文件指定id(很重要)克隆的虚拟机也别忘了改   每台虚拟机的id不同  按照上面server相对应 比如现在server.1=192.168.8.100

则在创建的myid中添加1

配置zookeeper的环境变量,可以在任何位置使用zookeeper命令

vi  /etc/profile

在JavaHOME下添加export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.5

在PATH下添加:$ZOOKEEPER_HOME/bin 如下所示

JAVA_HOME=/usr/local/jdk1.7.0_71
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.5
PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存退出 并source /etc/profile生效

至此第一台服务器配置完成

因为使用的是虚拟机  我们可以复制虚拟机

注意由于虚拟机为克隆所得   所以克隆的网络适配器是一样的 所以在设置高级里需要重新生成一个mac地址 保存该mac地址

启动克隆机  修改文件配置

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改mac地址以及ip地址

cd /etc/udev/     设备
有个文件夹  rules.d  是网卡文件夹
其中70-persistent-net.rules为网卡配置文件
由于是克隆的  所以需要删除  让其自动再生成一个
reboot 重启一下

-DzkHost=192.168.8.10:2181,192.168.8.11:2181,192.168.8.12:2181 //2181 客户端口  在catalina.sh中设置

_OPTS="-Dsolr.solr.home=/usr/local/solr/solr-4.10.2/example/solr -DzkHost=192.168.8.100:2181,192.168.8.101:2181,192.168.8.102:2181"

关闭防火墙

1. 永久性生效

开启:chkconfig iptables on

关闭:chkconfig iptables off

2. 即时生效,重启后失效

开启:service iptables start

关闭:service iptables stop

zkServer.sh start 启动

zkServer.sh status 查看状态

zkCli.sh 默认连接本机zookeeper服务(先启动,再连接)

zkCli.sh -p 端口( 不写-p 默认本机)

修改solr配置文件

cd /usr/local/solr/solr-4.10.2/example/solr/ 目录

solr.xml

<solrcloud>

    <str name="host">192.168.8.100</str>

    <int name="hostPort">8080</int>

    <str name="hostContext">${hostContext:solr}</str>

    <intname="zkClientTimeout">${zkClientTimeout:30000}</int>

    <boolname="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

</solrcloud>

将配置文件传到zookeeper中去(开启zkServer.sh 连接zookeeper)
脚本命令目录
/usr/local/solr/solr-4.10.2/example/scripts/cloud-scripts
配置文件目录
/usr/local/solr/solr-4.10.2/example/solr/collection1/conf

sh /usr/local/solr/solr-4.10.2/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.8.100:2181,192.168.8.101:2181,192.168.8.102:2181 -cmd upconfig -confdir /usr/local/solr/solr-4.10.2/example/solr/collection1/conf -confname solrconf

启动tomcat

网页打开http://192.168.8.100:8080/solr/







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值