zookeeper 기초 환경 구축 및 시작 스크립트
zookeeper 기능:
(1) 클라이언트를 위해 소량의 데이터(데이터베이스)를 관리할 수 있다 (2) 클라이언트를 위해 노드의 상태를 감청하고 데이터 노드가 변화할 때 클라이언트에게 통지할 수 있다 (3) 장면: 동적 서버 증가
1. 설치 팩 업로드
tar-zxvfname-C apps/
2. 이름 바꾸기
cp zoo_sample.cfg zoo.cfg
3. conf/zoo를 수정합니다.cfg
#The number of milliseconds of each tick
tickTime=2000
#The number of ticks that the initial
#synchronization phase can take
initLimit=10
#The number of ticks that can pass between
#sending a request and getting an acknowledgement
syncLimit=5
#the directory where the snapshot is stored.
#do not use /tmp for storage, /tmp here is just
#example sakes.
dataDir=/root/zkdata #
the port at which the clients will connect
clientPort=2181
#Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=hdp-1:2888:3888 # 2888 3888:
server.2=hdp-2:2888:3888
server.3=hdp-3:2888:3888
4. 프로필 수정 후 설치 패키지를 hdp-2와 hdp-3로 복사
scp -r zookeeper-3.4.6/ hdp-2:$PWD
scp -r zookeeper-3.4.6/ hdp-3:$PWD
5. 이어hdp-1에 새 데이터 디렉터리/root/zkdata를 만들고 디렉터리에 파일 myid를 생성합니다. 내용은 1입니다.mkdir zkdata
echo 1 > zkdata/myid
이어서hdp-2에 새 데이터 디렉터리/root/zkdata를 만들고 디렉터리에 파일 myid를 생성합니다. 내용은 2입니다.mkdir zkdata
echo 2 > zkdata/myid
이어서hdp-3에 새 데이터 디렉터리/root/zkdata를 만들고 디렉터리에 파일 myid를 생성합니다. 내용은 3입니다.mkdir zkdata
echo 3 > zkdata/myid
6. zookeeper 클러스터 시작 스크립트 구성:
vi zkmanager.sh
#! /bin/bash
for host in hdp-1 hdp-2 hdp-3
do
echo “${host}:${1}ing....”
ssh $host "source /etc/profile;/root/apps/zookeeper-3.4.6/bin/zkServer.sh $1"
done
sleep 2
for host in hdp-1 hdp-2 hdp-3
do
ssh $host “source /etc/profile;/root/apps/zookeeper-3.4.6/bin/zkServer.sh status”
done
7. 시작, 조회 상태, 닫기
sh zkServer.sh start // zookeeper
sh zkServer.sh status //
sh zkServer.sh stop // zookeeper
#The number of milliseconds of each tick
tickTime=2000
#The number of ticks that the initial
#synchronization phase can take
initLimit=10
#The number of ticks that can pass between
#sending a request and getting an acknowledgement
syncLimit=5
#the directory where the snapshot is stored.
#do not use /tmp for storage, /tmp here is just
#example sakes.
dataDir=/root/zkdata #
the port at which the clients will connect
clientPort=2181
#Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=hdp-1:2888:3888 # 2888 3888:
server.2=hdp-2:2888:3888
server.3=hdp-3:2888:3888
scp -r zookeeper-3.4.6/ hdp-2:$PWD
scp -r zookeeper-3.4.6/ hdp-3:$PWD
mkdir zkdata
echo 1 > zkdata/myid
mkdir zkdata
echo 2 > zkdata/myid
mkdir zkdata
echo 3 > zkdata/myid
vi zkmanager.sh
#! /bin/bash
for host in hdp-1 hdp-2 hdp-3
do
echo “${host}:${1}ing....”
ssh $host "source /etc/profile;/root/apps/zookeeper-3.4.6/bin/zkServer.sh $1"
done
sleep 2
for host in hdp-1 hdp-2 hdp-3
do
ssh $host “source /etc/profile;/root/apps/zookeeper-3.4.6/bin/zkServer.sh status”
done
sh zkServer.sh start // zookeeper
sh zkServer.sh status //
sh zkServer.sh stop // zookeeper