SOLRCLOUD安装

多节点彻底分布式SolrCloudjson

Node Name         IP     HostName   浏览器

Node1          192.168.182.128     vm11   curl

Node2      192.168.182.129     vm22分布式

Node3      192.168.182.130     vm33oop

三个节点安装ZooKeeper,三个节点安装Solr,IP/HOST同上。优化

2.1 运行ZooKeeper(不使用Solr内嵌的)url

    下载、解压ZooKeeper,我用的是zookeeper-3.4.6.tar.gz,安装目录是/home/hadoop/tools/zookeeper-3.4.6rest

    cd /home/hadoop/tools/zookeeper-3.4.6server

    mkdir dataxml

    echo "1" >data/myid       (这个在后面的配置文件用到)

    cd conf

    vi zoo.cfg   (里面的内容是这样的)

dataDir=/home/hadoop/tools/zookeeper-3.4.6/data

clientPort=2181

initLimit=5

syncLimit=2

server.1=vm11:2888:3888

server.2=vm22:2888:3888

server.3=vm33:2888:3888

    dataDir 把内存中的数据存储成快照文件snapshot的目录,同时myid也存储在这个目录下(myid中的内容为本机server服务的标识)是ZK存放数据的目录,最好放在其余的目录,不要在安装目录下。

  clientPort 客户端链接server的端口,即zk对外服务端口,通常设置为2181。

  initLimit  Leader容许Follower在initLimit时间内完成这个工做。默认值为10,即10 * tickTime

  syncLimit  Leader发出心跳包在syncLimit以后,尚未从Follower那里收到响应,那么就认为这个Follower已经不在线了。默认为5,即5 * tickTime

  tickTime    ZK中的一个时间单元。ZK中全部时间都是以这个时间单元为基础,进行整数倍配置的。

  server.X   hostname为机器ip,第一个端口n为事务发送的通讯端口,第二个n为leader选举的通讯端口,默认为2888:3888

  配置好了以后,就能够启动ZK了。

 ./bin/zkServer.sh start

 在其余的节点上重复作这个,惟一须要注意的是myid这个文件,在其余的节点上修改成2,3,再启动。

 这样ZK就创建起来了。

[hadoop@vm22 bin]$ ./zkServer.sh status

JMX enabled by default

Using config: /home/hadoop/tools/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: leader

2.2 安装运行Solr

下载解压Solr,我用的是solr-5.3.0 solr5的一大feature就是能做为独立的App运行,不须要和其余的

Node Name         IP     HostName   

Node1          192.168.182.128     vm11   

Node2      192.168.182.129     vm22

Node3      192.168.182.130     vm33

三个节点安装ZooKeeper,三个节点安装Solr,IP/HOST同上。

2.1 运行ZooKeeper(不使用Solr内嵌的)

    下载、解压ZooKeeper,我用的是zookeeper-3.4.6.tar.gz,安装目录是/home/hadoop/tools/zookeeper-3.4.6

    cd /home/hadoop/tools/zookeeper-3.4.6

    mkdir data

    echo "1" >data/myid       (这个在后面的配置文件用到)

    cd conf

    vi zoo.cfg   (里面的内容是这样的)

dataDir=/home/hadoop/tools/zookeeper-3.4.6/data

clientPort=2181

initLimit=5

syncLimit=2

server.1=vm11:2888:3888

server.2=vm22:2888:3888

server.3=vm33:2888:3888

    dataDir 把内存中的数据存储成快照文件snapshot的目录,同时myid也存储在这个目录下(myid中的内容为本机server服务的标识)是ZK存放数据的目录,最好放在其余的目录,不要在安装目录下。

  clientPort 客户端链接server的端口,即zk对外服务端口,通常设置为2181。

  initLimit  Leader容许Follower在initLimit时间内完成这个工做。默认值为10,即10 * tickTime

  syncLimit  Leader发出心跳包在syncLimit以后,尚未从Follower那里收到响应,那么就认为这个Follower已经不在线了。默认为5,即5 * tickTime

  tickTime    ZK中的一个时间单元。ZK中全部时间都是以这个时间单元为基础,进行整数倍配置的。

  server.X   hostname为机器ip,第一个端口n为事务发送的通讯端口,第二个n为leader选举的通讯端口,默认为2888:3888

  配置好了以后,就能够启动ZK了。

 ./bin/zkServer.sh start

 在其余的节点上重复作这个,惟一须要注意的是myid这个文件,在其余的节点上修改成2,3,再启动。

 这样ZK就创建起来了。

[hadoop@vm22 bin]$ ./zkServer.sh status

JMX enabled by default

Using config: /home/hadoop/tools/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: leader

 

 

容器绑定,优化安装配置 我解压到 /home/hadoop/tools/solr-5.3.0。激动人心的时刻就要到来了。

咱们知道ZooKeeper 就是为了解决统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等而来的。

1) 首先要上传配置文件,放在Zk里面,让Solr从ZK里面来得到配置,管理集群,这个的确是一件美好的事情

在Solr的目录下面有个server/scripts/cloud-scripts目录,里面提供了一个脚原本作这个事情(固然在ZK里面也有脚原本作这个,Solr里面的这个是作了一个封装)

./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir ./server/solr/configsets/basic_configs/conf -confname myconf -z vm11:2181,vm22:2181,vm33:2181

这几个参数的意义仍是比较容易看出来的。

创建Link between collection and conf

./server/scripts/cloud-scripts/zkcli.sh -cmd linkconfig -collection mycol -confname myconf -z vm11:2181,vm22:2181,vm33:2181

能够经过ZK的命令查看是否成功:cd /home/hadoop/tools/zookeeper-3.4.6/bin

./zkCli.sh -server vm22:2181

[zk: vm22:2181(CONNECTED) 2] ls /configs/myconf

[_rest_managed.json, currency.xml, solrconfig.xml, protwords.txt, stopwords.txt, synonyms.txt, lang, schema.xml]

[zk: vm22:2181(CONNECTED) 3] ls /collections/mycol

[state.json, leader_elect, leaders]

 

2) 下面就能够把每一个启动solr节点都启动了。

./bin/solr start -cloud -p 8983 -s "/home/hadoop/tools/solr-5.3.0/server/solr" -z vm11:2181,vm22:2181,vm33:2181

-cloud指定运行为cloud模式  -p 端口

-s 就是要指定solr.xml所在的目录,就是不少时候说的solr.solr.home(solr的官方文档也是这样)这个名字真的是很奇葩,开始的时候很难理解,这么说吧,solr.home就是通常说的solr的安装目录,就像万能的Java_home,hadoop_home.而solr.solr.home能够理解为每一个solr运行时的配置目录,包括core,等等。固然也能够copy里面的几个文件,把-s指向其余的目录

-z ZK配置,多个的时候中间用,隔开

三个节点都运行这个命令,运行起来后,这样cloud就跑起来了。

 

3) 下面来建立Shard,经过curl来执行

curl ’http://vm11:8983/solr/admin/collections?action=CREATE&name=mycol&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=myconf‘

这个myconf从上面上传到zk里面的配置,咱们在前面早就配置好了。其余的几个参数很明显。

在一个节点上运行就能够了。开始打开浏览器:http://192.168.182.128:8983

 

 

几个地方我高亮出来了,很容易看出来。再来看看solr.solr.home。例如Node1,这个里面包括三个shard,每一个的一个replica

相关文章
相关标签/搜索