Docker 빠른 설치 ZooKeeper 소스 분산 조정 서버
7701 단어 Unix&Unix-Like
ZooKeeper는 매우 신뢰할 수 있는 분산 조정이 가능한 오픈 소스 서버입니다.
GitHub:https://github.com/31z4/zookeeper-docker
도서관 참고
이 내용은 공식 Docker Library 문서에서 가져온 것으로 원래 업로드자가 제공합니다.당신은https://hub.docker.com/images/zookeeper이 이미지의 Docker Hub 페이지 보기
지원되는 태그와 해당 Dockerfile 링크
3.4.13
, 3.4
, latest
(3.4.13/Dockerfile) 3.5.4-beta
, 3.5
(3.5.4-beta/Dockerfile) 빠른 참조
amd64
,arm32v6
,arm64v8
,i386
,ppc64le
,s390x
디렉터리 (역사 기록) (이미지 메타데이터, 전송 크기 등) repos/zookeeper/
공식 사진repo의 library/zookeeper
파일(역사)library/zookeeper
디렉터리 (역사) Apache Zookeeper란 무엇입니까?
Apache ZooKeeper는 Apache Software Foundation의 소프트웨어 프로젝트로 대형 분포식 시스템에 소스 분포식 설정 서비스, 동기화 서비스와 이름 등록표를 제공한다.ZooKeeper는 Hadoop의 하위 프로젝트이지만 현재는 그 자체가 최고급 프로젝트입니다.
wikipedia.org/wiki/Apache_ZooKeeper
Zookeeper 서버 인스턴스 시작
docker run --name some-zookeeper --restart always -d zookeeper
이 이미지는
zookeeper/
(zookeeper 클라이언트 포트, 포트를 따라, 포트를 선택하십시오) 를 포함하기 때문에 표준 용기 링크는 자동으로 링크된 용기에 사용할 수 있습니다.Zookeeper의 빠른 실패로 인해 항상 재부팅하는 것이 좋습니다.다른 Docker 컨테이너의 응용 프로그램에서 Zookeeper에 연결
docker run --name some-app --link some-zookeeper:zookeeper -d application-that-uses-zookeeper
Zookeeper 명령줄 클라이언트에서 Zookeeper에 연결
$ docker run -it --rm --link some-zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper
...통과
EXPOSE 2181 2888 3888
또는 docker stack deploy
구현 사례docker-compose
:version: '3.1'
services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
zoo2:
image: zookeeper
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888
zoo3:
image: zookeeper
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888
그러면 Zookeeper가 복제 모드로 시작됩니다.
stack.yml
(또는 zookeeper
을 실행하고 완전히 초기화되기를 기다립니다.포트docker stack deploy -c stack.yml zookeeper
가 노출됩니다.한 컴퓨터에 여러 대의 서버를 설정하면 군더더기가 발생하지 않습니다.만약 기계가 다운되는 일이 발생하면 모든zookeeper 서버가 오프라인 상태가 됩니다.완전 이중화는 모든 서버에 자신의 기계가 있어야 한다.그것은 반드시 완전히 독립된 물리 서버여야 한다.동일한 물리적 호스트의 여러 가상 시스템은 여전히 호스트의 전체 장애에 쉽게 영향을 받습니다.
복사 모드에서 Zookeeper를 실행할 때 Docker Swarm 사용을 고려하십시오.
모드
Zookeeper 구성은
docker-compose -f stack.yml up
에 있습니다.구성 파일을 볼륨으로 설치하는 방법 중 하나를 변경합니다.$ docker run --name some-zookeeper --restart always -d -v $(pwd)/zoo.cfg:/conf/zoo.cfg zookeeper
환경 변수
2181-2183
파일이 제공되지 않으면 ZooKeeper가 권장하는 기본값을 사용합니다.다음 환경 변수를 사용하여 덮어쓸 수 있습니다.$ docker run -e "ZOO_INIT_LIMIT=10" --name some-zookeeper --restart always -d 31z4/zookeeper
/conf
기본값은
zoo.cfg
입니다.동물원 관리인ZOO_TICK_TIME
단일 tick의 길이, 즉 ZooKeeper가 사용하는 기본 시간 단위, 밀리초 단위입니다.그것은 심장 박동과 시간 초과를 조절하는 데 쓰인다.예를 들어, 최소 세션 시간 초과는 두 개의 똑딱이가 됩니다.2000
기본값은
tickTime
입니다.동물원 관리인ZOO_INIT_LIMIT
관심자가 리더에게 연결되고 동기화할 수 있도록 똑딱거리는 시간 (tickTime 참조) 입니다.ZooKeeper가 관리하는 데이터의 양이 많으면 필요에 따라 이 값을 추가합니다.오
기본값은
initLimit
입니다.동물원 관리인ZOO_SYNC_LIMIT
뷰어가 ZooKeeper와 동기화될 수 있도록 Taw 단위 시간(tickTime 참조).만약 팬들이 지도자에게 뒤떨어진다면 그들은 탈락할 것이다.이
기본값은
syncLimit
입니다.동물원 관리인ZOO_MAX_CLIENT_CNXNS
IP 주소로 식별된 단일 클라이언트가 ZooKeeper 컬렉션의 개별 구성원에 대해 병렬 연결 수를 제한합니다(소켓 수준).육십
기본값은
maxClientCnxns
입니다.동물원 관리인ZOO_STANDALONE_ENABLED
3.5.0 이전에는 독립 모드 또는 분산 모드에서 ZooKeeper를 실행할 수 있습니다.이것은 단독으로 창고를 실현하고 실행할 때 그것들 사이를 전환할 수 없습니다.기본적으로 (뒤로 호환되기 위해) standaloneEnabled는 true로 설정됩니다.이 기본 설정을 사용한 결과, 단일 서버로 시작하면 집합 증가를 허용하지 않고, 여러 서버에서 시작하면 두 참여자 미만으로 축소할 수 없습니다.false
기본값은
standaloneEnabled
입니다.동물원 관리인ZOO_AUTOPURGE_PURGEINTERVAL
3.4.0의 새로운 기능: 지우기 작업을 트리거해야 하는 시간 간격 (시간) 입니다.자동 지우기를 활성화하려면 양의 정수(1 이상)로 설정합니다.기본값은 0입니다.0
기본값은
autoPurge.purgeInterval
입니다.동물원 관리인ZOO_AUTOPURGE_SNAPRETAINCOUNT
3.4.0의 새로운 기능: 활성화되면 ZooKeeper 자동 제거 기능은 각각 dataDir와 dataLogDir에서 autopurge를 유지합니다.snapRetainCount의 최신 스냅샷과 해당 트랜잭션 로그를 삭제하고 나머지 로그를 삭제합니다.기본값은 3.최소값은 3입니다.복제 모드
Zookeeper를 복제 모드로 실행하려면 다음 환경 변수를 사용해야 합니다.
삼
id는 전체에서 유일해야 하며 1과 255 사이의 값을 가져야 합니다.
autoPurge.snapRetainCount
파일이 이미 포함된 디렉토리 시작 컨테이너를 사용하는 경우 이 변수는 영향을 미치지 않습니다.ZOO_MY_ID
이 변수를 사용하면 Zookeeper 컬렉션의 컴퓨터 목록을 지정할 수 있습니다.항목마다
/data
있습니다.시합에 참가한 작품은 빈칸으로 구분된다.myid
파일이 이미 포함된 디렉토리 시작 컨테이너를 사용하는 경우 이 변수는 영향을 미치지 않습니다.3.5에서 이런 문법은 이미 바뀌었다.지정해야 하는 서버:
ZOO_SERVERS
Zookeeper 동적 재구성데이터 저장 위치
이 이미지는 동물원 관리자의 메모리 데이터베이스 스냅샷과 데이터베이스 업데이트 업무 로그를 각각 유지하기 위해 양
server.id=host:port:port
과 /conf
으로 구성되어 있습니다.사무 로그의 위치를 조심해야 합니다.전용 사무 로그 장치는 시종일관 좋은 성능의 관건이다.로그를 바쁜 장치에 두면 성능에 부정적인 영향을 미칠 수 있습니다.
로깅 구성 방법
기본적으로 ZooKeeper는 stdout/stderr 출력을 콘솔로 리디렉션합니다.다음과 같이 환경 변수를 전달하여 에 있는 파일
zoo.cfg
로 재정의할 수 있습니다.$ docker run --name some-zookeeper --restart always -e ZOO_LOG4J_PROP="INFO,ROLLINGFILE" zookeeper
로그
server.id=::[:role];[:]
에 기록됩니다.자세한 내용은 ZooKeeper 로깅을 확인하십시오./data
이 이미지는 음량으로 구성됩니다.License
이 이미지에 포함된 소프트웨어에 대한 라이센스 정보를 봅니다.
모든 Docker 이미지와 마찬가지로 이 이미지에는 기본 배포판의 Bash 등과 주요 소프트웨어의 직간접적 의존 관계 등 다른 라이센스도 포함될 수 있습니다.
이것은 일부 추가 허가 정보에서 찾을 수 있는
/datalog
버전 라이브러리의 /logs
디렉터리를 자동으로 검사할 수 있습니다.이미지 사용자는 미리 구축된 이미지의 사용이 해당 이미지에 포함된 모든 소프트웨어의 관련 라이센스에 부합하는지 확인할 책임이 있습니다.
전송 소스:https://docs.docker.com/samples/library/zookeeper/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows에서 패키지 관리 도구 scoopWindows에서 패키지 관리 도구 scoop 패키지 관리 도구? 말 그대로 프로그램 패키지의 설치 도구로 운영체제의 소프트웨어를 관리할 수 있다. 우리가 잘 알고 있는 Ubuntu의apt-get(Ubuntu16 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.