ZooKeeper 클러스터 설치, 구성

Zookeeper 집단 중 절반의 노드가 정상적인 상태라면 전체 집단은 대외적으로 사용할 수 있다.바로 이것에 기초하다
특성, ZK 클러스터의 노드 수를 홀수 (2n+1: 예: 3, 5, 7개 노드) 로 설정하는 것이 좋습니다.
시스템 환경: CentOS 6.6_x64 jdk1.8
서버 IP 및 포트 계획:
서버 1: 192.168.1.11 포트: 2181, 2888, 3888
서버 2: 192.168.1.12 포트: 2181, 2888, 3888
서버 3: 192.168.1.13 포트: 2181, 2888, 3888
1. 운영 체제의/etc/hosts 파일을 수정하고 IP 및 호스트 이름 매핑을 추가합니다.
vim /etc/hosts
# zookeeper cluster servers
192.168.1.11 zk-01
192.168.1.12 zk-02
192.168.1.13 zk-03

2. zookeeper 다운로드 또는 업로드 - 3.4.6.tar.gz에서/home/wusc/zookeeper 디렉토리까지:
cd /usr/local/src
wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3. zookeeper 설치 패키지의 압축을 풀고 소프트 연결을 만듭니다.
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/
ln -sv /usr/local/zookeeper-3.4.6 /usr/local/zookeeper

4. zookeeper 노드에서 다음 디렉토리를 만듭니다.
mkdir -pv /data/zookeeper/{data,log} # 

5./usr/local/zookeeper/conf 디렉터리에 있는zoo_sample.cfg 파일 복사본,zoo라고 명명되었습니다.cfg:
cp zoo_sample.cfg zoo.cfg

6. zoo를 수정합니다.cfg 프로필: #3대 프로필과 동일
vim /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/
dataLogDir=/data/zookeeper/log
clientPort=2181
server.1=zk-01:2888:3888
server.2=zk-02:2888:3888
server.3=zk-03:2888:3888

매개변수 설명:
tickTime=2000
tickTime 이 시간은 Zookeeper 서버 사이나 클라이언트와 서버 사이의 심장 박동을 유지하는 시간 간격입니다. 즉, 매
tickTime 시간은 심장 박동을 보냅니다.
initLimit=10
initLimit 이 설정 항목은 Zookeeper가 클라이언트를 받아들이도록 설정하는 데 사용됩니다.
서버의 클라이언트가 아니라 Zookeeper 서버 클러스터에서 Leader에 연결된 Follower 서버) 연결 초기화 시 최대 시간
얼마나 많은 심장 박동 시간 간격을 견딜 수 있습니까?심장이 뛰는 시간이 10개가 넘으면 (즉, tick Time) 길이가 Zookeeper복.
사무기는 아직 클라이언트의 반환 정보를 받지 못했습니다. 그러면 이 클라이언트의 연결이 실패했음을 나타냅니다.총 시간은 10*2000=20초입니다.
syncLimit=5
syncLimit 이 설정 항목은 Leader와 Follower 간에 메시지를 보내고 요청과 응답 시간의 길이를 표시합니다. 최장 몇 개의tickTime의 시간을 초과할 수 없습니다. 총 시간의 길이는 5*2000=10초입니다.
dataDir=/data/zookeeper/
DataDir는 말 그대로 Zookeeper가 데이터를 저장하는 디렉터리입니다. 기본적으로 Zookeeper는 데이터를 쓰는 로그 파일도
이 목록에
clientPort=2181
clientPort 이 포트는 클라이언트(응용 프로그램)가 Zookeeper 서버에 연결하는 포트입니다. Zookeeper가 이 포트를 감청합니다.
클라이언트의 접근 요청을 입으로 받아들입니다.
server.A=B:C:D
server.1=zk-01:2888:3888
server.2=zk-02:2888:3888
server.3=zk-03:2888:3888
A는 숫자로 이것이 몇 번째 서버인지 나타낸다.
B는 이 서버의 IP 주소(또는 IP 주소와 매핑된 호스트 이름)입니다.
C 첫 번째 포트는 그룹 구성원의 정보 교환에 사용되며 이 서버가 그룹 중의 Leader 서버와 정보를 교환하는 포트를 나타낸다.
D는 리더가 끊을 때 선거용 리더를 위한 포트입니다.
주의: 위조 집단의 설정 방식이라면 서로 다른 Zookeeper 실례 통신 포트 번호가 같을 수 없기 때문에 분배해야 합니다
동일한 포트 번호입니다.
7. dataDir=/data/zookeeper/에서 myid 파일 만들기
myid 파일을 편집하고 대응하는 IP의 기계에 대응하는 번호를 입력하십시오.node-01에서 myid 파일 내용은
1,node-02에서 2,node-03에서 3:
echo 1 > /data/zookeeper/myid
echo 2 > /data/zookeeper/myid
echo 3 > /data/zookeeper/myid

8, 방화벽에서 사용할 포트 열기 2181, 2888, 3888
vim /etc/sysconfig/iptables
## zookeeper
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

방화벽 재부팅:
service iptables restart

방화벽 포트 상태 보기:
iptables -L

9. zookeeper를 시작하고 테스트합니다.
/usr/local/zookeeper/bin/zkServer.sh start
jps # 
247 QuorumPeerMain #QuorumPeerMain zookeeper , 
tailf -200 /data/zookeeper/log/zookeeper.out # , , 

주의:zookeeper 집단 설정은 노드마다 설정이 같습니다

좋은 웹페이지 즐겨찾기