zookeeper 설치 안내서
환경 요구 사항
1. zookeeper 홈 만들기
mkdir zookeeper
cd zookeeper
mkdir data dataLog
주의
다음 글에서 zookeeper/zookeeper라고 부르는 홈 또는 $ZKHOME
2. 미디어 압축 해제
mv zookeeper-3.4.10.tar.gz zookeeper/
tar -xzvf zookeeper-3.4.10.tar.gz
3. 서버 id 구성
데이터 경로에 들어가서 실행
cd data
echo '1' > myid
cat myid
주의 사항
4.zoo 구성cfg
zookeeper의 프로필 주소에 들어가서 프로필을 만들고 수정합니다
cd $ZK_HOME
cd conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
다음과 같이 구성을 수정합니다.
# The number of milliseconds of each tick
# zk , ,
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
# follower leader ,
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
#
syncLimit=5
# follower leader
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# zookeeper , data
dataDir=/……/data
# zookeeper , dataLog
dataLogDir=/……/dataLog
# the port at which the clients will connect
# ,
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
# , 60, ,
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
# , , , 3
autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
# ,
autopurge.purgeInterval=1
# , zookeeper
# server.x zookeeper id, id ip myid
# ip ,
server.1=172.21.22.161:2888:3888
server.2=172.21.22.162:2888:3888
server.3=172.21.22.163:2888:3888
여기서 주의해야 할 건요.
server.1=172.21.22.161:2888:3888
server.2=172.21.22.162:2888:3888
server.3=172.21.22.163:2888:3888
그 id 값은 이전에 만들어진 데이터의 myid 내용과 일치하고 IP는 서로 대응해야 한다.
5. log4j 구성
zookeeper의 기본 로그 출력은 zookeeper에 있습니다.out에서는 보기와 관리에 불리하며, 생산에서는 로그를 설정하는 것을 권장합니다.
logs 경로 만들기
cd $ZK_HOME
mkdir logs
logs 구축 위치 요구 사항 없음, 디스크 계획 있으면 필요에 따라 적당한 곳으로 구축
log4j 설정
# Console ROLLINGFILE
zookeeper.root.logger=INFO, ROLLINGFILE
zookeeper.console.threshold=INFO
# logs ( )
zookeeper.log.dir=/……/logs
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log
# log4j ,
zkEnv를 구성합니다.sh
cd $ZK_HOME/bin
cp zkEnv.sh zkEnv.sh.bak
vim zkEnv.sh
주로 두 곳을 수정하고, 한 곳은 ZOO 가입입니다.LOG_DIR 할당
ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"
ZOOKEEPER_PREFIX="${ZOOBINDIR}/.."
# logs )
ZOO_LOG_DIR="/……/logs"
다른 곳은
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,CONSOLE"
fi
다음으로 수정
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
6.zookeeper 시작
순서대로 모든 zookeeper 노드에 로그인하여 zookeeper 프로세스를 시작합니다
cd $ZK_HOME
bin/zkServer.sh start
콘솔 디스플레이
ZooKeeper JMX enabled by default
Using config: /home/czdb/ghshen/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
이어서 상태 검사를 하고,
프로세스 확인
실행
jps
검사는 zk 프로세스입니다.
22757 QuorumPeerMain
QuorumPeerMain은 프로세스 이름이고, 22757은 프로세스 id이며, 다를 수 있습니다.
검사 status
bin/zkServer.sh status
나타내다
ZooKeeper JMX enabled by default
Using config: /home/ds_dfpas/ghshen/usr/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader
그룹 중 한 대가 리더로 표시되고 다른 노드가 이 명령을 실행합니다.
ZooKeeper JMX enabled by default
Using config: /home/ds_dfpas/ghshen/usr/zookeeper/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower
로그 확인
cd logs
tail -f zookeeper.log
로그에 지속적인 오류가 있는지 살펴보고 원인을 분석해 해결한 후 다시 시작합니다.
클라이언트 가용성 확인
zookeeper가 자체로 가지고 있는 클라이언트를 이용하여 수동으로 zookeeper에 연결하여 간단한 조회를 실행합니다
cd $ZK_HOME
# host port
bin/zkCli.sh -server host:port
zookeeper에 연결하여 ls를 실행합니다
[zk: localhost:2188(CONNECTED) 1] ls /
[zookeeper]
[zk: localhost:2188(CONNECTED) 2]
결과를 [zookeeper]로 표시하면 됩니다.
유사하게 모든 조키퍼 노드를 검사하면 됩니다.
이로써 zookeeper 집단 설치가 끝났습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.