首页 > 技术文章 > solr5.5集群

tangliyao 2017-08-11 11:50 原文

RHEL 6.4 64位
solr 5.5.2 集群+ zookeeper 3.4.6

1,配置JAVA

1.1
mkdir -p /usr/java

1.2
tar -xzvf jdk-7u79-linux-x64.tar.gz -C /usr/java/

1.3
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_79
export JRE_HOME=/usr/java/jdk1.7.0_79/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

alias vi="vim"

 

解压solr5.5.2:
tar -xzvf solr-5.5.2.tgz

解压zookeeper:
tar -xzvf zookeeper-3.4.6.tar.gz

创建solrcloud目录:
mkdir -p /solrcloud/zookeeper/data
mkdir  /solrcloud/zookeeper/datalog

将solr和zookeeper解压路径放到/solrcloud下:
cp -r /soft/solr-5.5.2 /solrcloud/node1
cp -r /soft/solr-5.5.2 /solrcloud/node2
cp -r /soft/zookeeper-3.4.6 /solrcloud/zookeeper/zookeeper-3.4.6

修改zookeeper启动参数:

进入zookeeper配置文件路径
cd /solrcloud/zookeeper/zookeeper-3.4.6/conf

将文件zoo_sample.cfg名字改为zoo.cfg
mv zoo_sample.cfg zoo.cfg

修改参数
vi zoo.cfg
======找到这个位置
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect

改成:
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/solrcloud/zookeeper/data
dataLogDir=/solrcloud/zookeeper/datalog
# the port at which the clients will connect

然后启动zookeeper:
/solrcloud/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start

启动solr node1
/solrcloud/node1/bin/solr start -p 8983 -c -d server -z 10.40.96.132:2181  -s solr
停止命令:
/solrcloud/node1/bin/solr stop -p 8983
启动solr node2
/solrcloud/node2/bin/solr start -p 9983 -c -d server -z 10.40.96.132:2181 -s solr
停止命令:
/solrcloud/node2/bin/solr stop -p 9983


创建集合:
/solrcloud/node1/bin/solr create_collection -c example -d /solr_test/node1/example/example-DIH/solr/solr/conf/ -shards 2 -replicationFactor 2

-c集合名字
-d配置文件路径

删除集合:
/solrcloud/node1/bin/solr delete -c example


创建全量索引

/usr/bin/curl -G "http://10.1.12.51:8983/solr/core_bingdu/dataimport?command=full-import&clean=true&commit=true" 2&> /dev/null

创建增量索引

/usr/bin/curl -G "http://10.1.12.51:8983/solr/core_bingdu_user/dataimport?command=full-import&clean=true&commit=true" 2&> /dev/null

修改solr的collection配置后上传到zookeeper:

当前solr的collection配置副本存放在opt目录下

[root@mongo-shard1-1 opt]# tree .
.
├── core_bingdu_conf
│   ├── admin-extra.html
│   ├── admin-extra.menu-bottom.html
│   ├── admin-extra.menu-top.html
│   ├── data-config.xml
│   ├── dataimport.properties
│   ├── _rest_managed.json
│   ├── schema.xml
│   └── solrconfig.xml
└── core_bingdu_user_conf
    ├── admin-extra.html
    ├── admin-extra.menu-bottom.html
    ├── admin-extra.menu-top.html
    ├── data-config.xml
    ├── dataimport.properties
    ├── _rest_managed.json
    ├── schema.xml
    └── solrconfig.xml

对以上配置文件进行修改后需要手动上传到zookeeper:

1)整个配置目录上传

cd /solrcloud/node1/server/scripts/cloud-scripts
./zkcli.sh -zkhost 10.40.96.132:2181 -cmd upconfig -confdir /solrcloud/conf -confname ac_words
./zkcli.sh -zkhost 10.40.96.132:2181 -cmd upconfig -confdir /opt/core_bingdu_user_conf -confname core_bingdu_user

2)单文件上传

zkcli.sh -zkhost 10.40.96.132:2181 -cmd putfile /configs/core_bingdu/solrconfig.xml /opt/core_bingdu_conf/solrconfig.xml
zkcli.sh -zkhost 10.40.96.132:2181 -cmd putfile /configs/core_bingdu_user/solrconfig.xml /opt/core_bingdu_user_conf/solrconfig.xml

 

 

 


报错,需配置中文分词器
cp /solrcloud/node1/contrib/analysis-extras/lucene-libs/* /solrcloud/node1/server/solr-webapp/webapp/WEB-INF/lib/

 

推荐阅读