第一步准备一台装了solr的虚拟机,并且能正常打开
在此之前我们已经在hadoop这台机器上装了solr.然后要做的就是吧hadoop这台机器上的solr的配置拷贝两份到我们node3,node2这两台机器上面.
按照我们之前的约定.先在三个虚拟机上都建这样的目录,方便做统一的管理
1.拷贝tomcat4solr的文件到node3,node2
scp -r /export/servers/tomcat4solr/ node3:/export/servers/
scp -r /export/servers/tomcat4solr/ node2:/export/servers/
2. 拷贝solr_home的文件到node3,node2
scp -r /export/data/solr_home/ node3:/export/data/
scp -r /export/data/solr_home/ node2:/export/data/
3.拷贝logs/solr的文件到node3,node2
scp -r /export/logs/solr/ node3:/export/logs/
scp -r /export/logs/solr/ node2:/export/logs/
这样就在三台机器上都完成了安装solr.然后我们在node3,node2尝试启动然后并访问以 下 solr 命令: /export/servers/tomcat4solr/bin/startup.sh
4.然后会发现报了404的问题.
原因是因为:
在拷贝的时候,tomcat会重新解压solr.war包
之前拷贝的log4j.properties 、jar包都没有了。
需要重新拷贝。
或者,直接删除solr.war之后。运行tomcat。
在我们hadoop机器上 进入到该目录
cd /export/servers/tomcat4solr/webapps/solr/WEB-INF
然后在node3,node2的机器,删除lib目录和web.xml的配置文件,然后pwd,显示路径
然后在hadoop上拷贝 classes ,web.xml ,lib 三个文件内容到node3,和node2
scp -r classes/ node3: PWDscp−rclasses/node2: PWD
scp -r lib/ node3: PWDscp−rlib/node2: PWD
scp -r web.xml/ node3: PWDscp−rweb.xml/node2: PWD
$PWD的意思就是在另一个虚拟机的当前路径
然后关闭一下服务,,,然后在启动
/export/servers/tomcat4solr/bin/shutdown.sh
/export/servers/tomcat4solr/bin/startup.sh
然后在浏览器访问 发现可以正常打开了
然后开始准备配置我们的solrCloud
1.将solr的配置文件上传到zookeeper
主要是solrconfig.xml和scheme.xml、
在任意一台机器上进入到这个目录
cd /export/servers/solr/example/scripts/cloud-scripts
然后通过zkcli.sh的命令上传我们的配置文件
./zkcli.sh -zkhost hadoop:2181,node3:2181,node2:2181 -cmd upconfig -confdir /export/data/solr_home/collection1/conf/ -confname solrconf
这里的hadoop,node3,node2,的名字要跟我们配置的 zoo.cfg里面的内容一致
然后通过zkCli.sh的命令.察看我们的zookeeper里面是否上传我们的配置文件(主要看主要是solrconfig.xml和scheme.xml、这两个)
经检查发现有.
然后 cd /export/data/solr_home/的目录下 修改我们的solr/xml的配置主要是修改端口号位8080
vi solr.xml 然后i命令 插入语句
修改为8080,然后 保存退出
然后修改其他两台机器的值为8080,保证统一性
2.让solr和zookeeper产生关系
修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址。
vi /export/servers/tomcat4solr/bin/catalina.sh
然后加入 export JAVA_OPTS=”-DzkHost=hadoop:2181,node3:2181,node2:2181”
保证名称的一致性 ,然后在其他两个机器上也加入这样的话
3.然后每一个tomcat.在重启一下
/export/servers/tomcat4solr/bin/shutdown.sh
/export/servers/tomcat4solr/bin/startup.sh
4. 然后重新访问我们的solr 发现左边菜单来多了一个cloud选项 ,打开以后发现是这样的
此时我们的集群配置成功.
配置新的集群
1.配置命令–输入以下的代码到地址栏 http://hadoop:8080/solr/admin/collections?action=CREATE&name=mycore2&numShards=2&replicationFactor=2&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml
需要注意的是:hadoop是自己配置的主机的名字.
2.命令说明
name指明collection名称
numShards指明分片数
replicationFactor指明副本数
maxShardsPerNode 每个节点最大分片数(默认为1)
property.schema:指定使用的schema.xml,这个文件必须在zookeeper上。
property.config:指定使用的solrconfig.xml,这个文件必须在zookeeper上。
3.执行效果