solr集群(solrcloud)部署搭建

`简介`
SolrCloud 旨在提供一个高度可用、容错的环境,用于跨多个服务器分发索引内容和查询请求。它是基于 Solr 和Zookeeper的分布式搜索方案,它的主要思想是使用 Zookeeper作为集群的配置信息中心。它是灵活的分布式搜索和索引,无需主节点来分配节点、分片和副本使用 ZooKeeper来管理,查询和更新可以发送到任何服务器。
`特点`
1、集中式的配置信息
2、自动容错
3、近实时搜索
4、查询时自动负载均衡
搭建过程:
基础环境搭建-->zookeeper集群搭建-->solr安装-->solrcloud的配置-->solrcloud关于限制权限的配置-->solrcloud的基础入门操作

1、环境描述

node1 192.168.43.100                                                   安装zookeeper5.5.9,solr8.10.1,Java8
node2 192.168.43.101                                                   安装zookeeper5.5.9,solr8.10.1,Java8
node3 192.168.43.102                                                   安装zookeeper5.5.9,solr8.10.1,Java8
说明:从solr5.0开始,Solr不在分发成一个war包以部署在任何Servlet容器上。现在的Solr作为一个单独的Java应用服务器分发。不用再去借助tomcat去启动,可以使用全新的部署方式。

2、安装Java环境

下载地址:https://download.oracle.com
(1)解压安装包
tar xvf jdk-8u141-linux-x64.tar.gz
(2)配置环境变量(解压路径及下载版本跟需调整)
echo ' export JAVA_HOME=/usr/local/java/jdk1.8.0_141/' >> /etc/profile
echo ' export JAVA_BIN=/usr/local/java/jdk1.8.0_141/bin' >> /etc/profile
echo ' export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo ' export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
echo ' export JAVA_HOME JAVA_BIN PATH CLASSPATH' >> /etc/profile
(3)刷新环境变量
source /etc/profile
(4)查看安装情况
java -version

Java环境
3、zookeeper集群的搭建

下载地址: http://mirror.easyname.ch/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
(1)解压安装包
tar xvf apache-zookeeper-3.5.9-bin.tar.gz
(2)配置zookeeper
cp zoo_sample.cfg zoo.cfg
(3)修改配置文件
vim zoo.cfg
#自定义数据目录
mkdir -p /var/lib/zookeeper
dataDir=/var/lib/zookeeper
#集群配置信息
4lw.commands.whitelist=mntr,conf,ruok
server.1=192.168.43.100:2888:3888
server.2=192.168.43.101:2888:3888
server.3=192.168.43.102:2888:3888
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
#创建myid文件
echo "1" >/var/lib/zookeeper/myid         (192.168.43.100)
echo "2" >/var/lib/zookeeper/myid         (192.168.43.101)
echo "3" >/var/lib/zookeeper/myid         (192.168.43.102)

4、启动zookeeper,查看集群状态

./zkServer.sh start
./zkServer.sh status

node1
node2
node3

5、solr安装

下载地址: wget https://dlcdn.apache.org/lucene/solr/8.10.1/solr-8.10.1.tgz
(1)解压安装包
tar xzf solr-8.10.1.tgz solr-8.10.1/bin/install_solr_service.sh --strip-components=2
(2)新建solr家目录
mkdir /solr
(3)安装
./install_solr_service.sh solr-8.10.1.tgz -d /solr -n

6、solrcloud的配置

#zookeeper注册中心配置
vim solr.in.sh
ZK_HOST="192.168.43.100:2181,192.168.43.101:2181,192.168.43.102:2181/solr"
说明:zookeeper的节点可跟需定义。

7、solrcloud关于限制权限的配置

#zookeeper节点访问权限限制
./zkCli.sh
setAcl /solr digest:admin:0uek/hZ/V9fgiM35b0Z2226acMQ=:cdrw
说明:密码设置admin:123456

zookeeper节点权限设置

#solr设置访问zookeeper节点权限
vim solr.in.sh
SOLR_ZK_CREDS_AND_ACLS="-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider \
  -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider \
  -DzkDigestUsername=admin -DzkDigestPassword=123456 \
  -DzkDigestReadonlyUsername=admin -DzkDigestReadonlyPassword=123456"
SOLR_OPTS="$SOLR_OPTS $SOLR_ZK_CREDS_AND_ACLS"
#solrcloud访问首页设置密码
创建security.json (置于数据目录)
{
    "authentication": {
        "blockUnknown": true,
        "class": "solr.BasicAuthPlugin",
        "credentials": {
            "solr": "NOtt7U5otRIJh3ns42J3f++Vwvv3zPai05rjUaB0tcI= k2gx9ThRQYbruBV00jllynx0lshMdM6ERpFEzY4H2sg="
        },
        "": {
            "v": 0
        }
    },
    "authorization": {
        "class": "solr.RuleBasedAuthorizationPlugin",
        "permissions": [
            {
                "name": "security-edit",
                "role": "admin"
            }
        ],
        "user-role": {
            "solr": "admin"
        }
    }
}
说明:配置密码:solr solr@123456
#上传配置到zookeeper中心
bin/solr zk cp /solr/data/security.json zk:security.json

8、启动solr登录

/etc/init.d/solr start
#访问
http://IP:8983

solr集群(solrcloud)部署搭建_第1张图片

节点状态

solr集群(solrcloud)部署搭建_第2张图片

zookeeper集群状态

solr集群(solrcloud)部署搭建_第3张图片
9、solrcloud的简单操作

collection的创建

solr集群(solrcloud)部署搭建_第4张图片
solr集群(solrcloud)部署搭建_第5张图片

你可能感兴趣的:(zookeeper,solrcloud,solr集群)