프로덕션을 위한 SolrCloud 설정
10157 단어 administrationtutorialapachesolr
공식 문서는 충분히 놀랍고 읽어야 합니다. 이 게시물은 매우 직설적입니다. 설명이 필요하고 더 알고 싶거나 배우고 싶다면 공식 문서를 참조하십시오.
시작하자.
(리눅스 서버 경험으로 이 가이드를 작성하고 있습니다)
설치 디렉토리로 쉽게 이동하기 위해 다음을 입력했습니다
.bashrc
.export solr_home=/opt/solr
PATH=/opt/solr/bin:$PATH
export zookeeper_home=/opt/zookeeper
PATH=/opt/zookeeper/bin:$PATH
$ cd $zookeeper_home # will take to /opt/zookeeper
$ cd $solr_home # will take to /opt/solr
Note that, this
solr_home
andSOLR_HOME
variable isn't same.
사육사
SolrCloud를 프로덕션 환경으로 가져오려면 중앙에서 구성 및 조정을 관리할 외부 사육사(내장형이 아님) 서버가 필요합니다. 우리는 3개의 서버로 작업할 것입니다. Zookeeper와 Apache Solr를 동일한 구성으로 모든 서버에 설치합니다.
먼저 Apache Zookeeper 을 구성해 보겠습니다. 공식 문서에 따라 원하는 Java 버전을 설치하십시오. 작성 당시 최신 Zookeeper 및 Solr - 둘 다 Java 11이 필요합니다.
$ sudo apt install openjdk-11-jdk
# check java version
$ java -version
공식 웹 사이트에서 최신 안정 버전을 다운로드하십시오. 소스(src) 번들이 아니라 바이너리(bin) 버전이 필요합니다.
설치 및 구성
루트에서 작업하는 것은 권장하지 않습니다. 그러나 나는 루트 사용자로 작업할 것입니다. 내 설치 디렉토리는
/opt
아래에 있습니다.$ tar -xvf zookeeper-*.tar.gz -C /opt
$ ln -s /opt/zookeeper-* /opt/zookeeper
$zookeepr_home/conf/
아래에 사육사를 위한 구성 파일을 만들어야 합니다. 파일 이름은 zoo.cfg
입니다.tickTime=2000
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/lib/zookeeper/logs
clientPort=2181
4lw.commands.whitelist=mntr,conf,ruok
initLimit=5
syncLimit=2
# put IP addresses or host on the place of Server1, Server2, Server3
server.1=Server1:2888:3888
server.2=Server2:2888:3888
server.3=Server3:2888:3888
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
우리는
zoo.cfg
아래에 있는 $zookeeper_home/conf
와 같은 위치에 사육사 환경 파일을 생성할 것입니다. 파일 이름은 zookeeper-env.sh
입니다.JAVA_HOME="/usr/lib/jvm/java-1.11.0-openjdk-amd64"
ZOO_LOG_DIR="/var/lib/zookeeper/logs"
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
# increaseing the file size limit to 50MiB
JVMFLAGS="$JVMFLAGS -Djute.maxbuffer=50000000"
구성에 정의된 디렉터리를 만듭니다.
mkdir -p /var/lib/zookeeper/data
mkdir -p /var/lib/zookeeper/logs
myid
디렉토리 아래에 /var/lib/zookeeper/data
텍스트 파일을 만듭니다. 한 줄로 해당 파일에 서버 ID를 입력하십시오. 서버 2의 경우 파일에 다음이 포함됩니다. 2
echo "2" >/var/lib/zookeeper/data/myid
이제 원할 때마다 사육사를 시작할 수 있지만 Solr보다 먼저 시작해야 합니다.
$ cd $zookeeper_home
$ bin/zkServer.sh start
아파치 솔라클라우드
서버에 최신 Solr(bin 버전)을 다운로드하고 파일을
/opt
로 이동하여 압축을 풉니다.$ tar xzf solr-*.tgz solr-*/bin/install_solr_service.sh --strip-components=2
/opt
아래에 설치하십시오.$ sudo bash ./install_solr_service.sh solr-*.tgz
$ ln -s solr-*/ solr
일부 구성의 경우 수정
bin/solr.in.sh
합니다. /etc/default
아래에 파일을 생성하여 이 시스템 전체를 설정할 수도 있습니다.#writing include file
SOLR_PID_DIR=/var/solr
SOLR_HOME=/var/solr/data
#LOG SETTINGS
LOG4J_PROPS=/var/solr/log4j2.xml
SOLR_LOGS_DIR=/var/solr/logs
SOLR_HEAP="1g"
SOLR_JAVA_HOME="/usr/lib/jvm/java-1.11.0-openjdk-amd64"
ZK_HOST="zk-server1:2181,zk-server2:2181,zk-server3:2181"
SOLR_LOG_LEVEL=INFO
# Data backup location for replication environment
SOLR_OPTS="$SOLR_OPTS -Dsolr.allowPaths=/mnt/solr_backup"
# for soft commits
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=10000"
SOLR_HOST="zk-server-ip" # current server IP address
SOLR_JAVA_MEM="-Xms2g -Xmx2g"
ZK_CLIENT_TIMEOUT="30000"
SOLR_PORT=8983
# To make available on the public internet
SOLR_JETTY_HOST="0.0.0.0"
# set this up in case if you set up authentication.
# By setting this, the script will run without error
SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=username:password"
구성에 정의된 디렉터리를 만듭니다.
$ mkdir -p /var/solr/data
$ mkdir -p /var/solr/logs
그리고 끝났습니다.
You have to configure all servers like this.
다음 스크립트를 사용하여 SolrCloud를 시작합니다.
$ bin/solr start -c -p 8983 -s /var/solr/data -z zk1:2181,zk2:2181,zk3:2181 -force
도움을 받으려면:
bin/solr start -help
bin/solr restart -help # you got the point how to get help
오류 없이 SolrCloud를 실행할 수 있기를 바랍니다.
bin/solr
스크립트를 사용하여 Solr 및 Zookeeper와 상호 작용합니다. 자세한 내용은 공식 문서를 참조하십시오.컬렉션을 만들려면:
$ bin/solr create_collection -c col_name -d _default -shards 1 -replicationFactor 3 -p 8983 -V -force
컬렉션을 삭제하려면:
$ bin/solr delete -c col_name -deleteConfig true -p 8983 -V
그게 다야. 이 게시물을 수시로 업데이트하려고 합니다. 또한 나중에 몇 가지 유용한 명령을 포함할 계획입니다.
희망, 일이 잘되고 있습니다.
행복한 검색!
Reference
이 문제에 관하여(프로덕션을 위한 SolrCloud 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dhar01/setting-up-solrcloud-for-production-5bed텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)