ZooKeeper 및 중재 모드

2598 단어
서버 간에 통신할 수 있도록 서버 간에 연락처가 필요합니다.이론적으로 서버는 멀티캐스트를 사용하여 서로를 발견할 수 있지만, 우리는 ZooKeeper 집합을 여러 개의 네트워크를 지원하고자 한다
하나의 네트워크가 아니라 여러 집합의 상황을 지원할 수 있도록 락.
 , :
tickTime=2000
initLimit=10
syncLimit=5
dataDir=./data
clientPort=2181
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445

모든 서버.n 항목은 번호가 n인 ZooKeeper 서버에서 사용할 주소와 포트 번호를 지정합니다.서버마다.n항은 짝퉁을 통해 세 부분으로 나뉘는데 첫 번째 부분은 서버 n의 IP 주소나 호스트 이름(hostname)이고 두 번째 부분과 세 번째 부분은 TCP 포트 번호로 중재 통신과 단체 선거에 속한다.우리는 같은 기계에서 세 개의 서버 프로세스를 실행하기 때문에, 항목마다 다른 포트 번호를 사용해야 한다.일반적으로 우리는 서로 다른 서버에서 모든 서버 프로세스를 실행하기 때문에 모든 서버 항목의 설정은 같은 포트 번호를 사용할 수 있다
데이터 디렉터리를 따로 설정해야 합니다. 명령줄에서 다음 명령을 사용할 수 있습니다.
mkdir z1
mkdir z1/data
mkdir z2
mkdir z2/data
mkdir z3
mkdir z3/data

 
여러 서버를 시작할 때, 우리는 어느 서버를 시작했는지 알아야 한다.한 서버는 데이터 디렉터리의 다음 myid라는 질문을 읽어서 서버 ID 정보를 얻습니다.다음 명령을 사용하여 파일을 만들 수 있습니다.
echo 1 > z1/data/myid
echo 2 > z2/data/myid
echo 3 > z3/data/myid

 
서버가 시작되면 서버는 구성 부품의 dataDir 파라미터를 통해 데이터 디렉터리의 설정을 찾습니다.이것은 mydata를 통해 서버 ID를 얻고 설정 질문 중의 서버를 사용합니다.n에 대응하는 항목은 포트를 설정하고 감청합니다.서로 다른 시스템에서 ZooKeeper 서버 프로세스를 실행할 때 같은 클라이언트 포트와 같은 설정 질문을 사용할 수 있습니다.그러나 이 예에서 한 서버에서 실행할 때 우리는 모든 서버의 클라이언트 포트를 정의해야 한다.
 
이제 서버를 시작할 수 있습니다. z1부터 시작하겠습니다.
cd z1
$ {PATH_TO_ZK}/bin/zkServer.sh start ./z1.cfg

 
zkCli를 사용합니다.sh 방문 그룹:
$ {PATH_TO_ZK}/bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

 
주의: 간단한 부하 균형 클라이언트는 랜덤 순서로 연결된 서버에 연결됩니다.이렇게 하면 ZooKeeper로 간단한 로드 밸런싱을 실현할 수 있습니다.단, 클라이언트는 우선 선택된 서버를 지정하여 연결할 수 없습니다.예를 들어 만약에 5개의 ZooKeeper 서버의 집합이 있는데 그 중 3개는 미국 서해안에 있고 다른 2개는 미국 동해안에 있다. 클라이언트가 로컬 서버에만 연결되는 것을 확보하기 위해 우리는 동해안 클라이언트의 연결열에 동해안의 서버만 나타나고 서해안 클라이언트의 연결열에 서해안의 서버만 나타날 수 있다.
 
다음으로 전송:https://www.cnblogs.com/duan2/p/9011762.html

좋은 웹페이지 즐겨찾기