Docker 빠른 설치 ZooKeeper 소스 분산 조정 서버

7701 단어 Unix&Unix-Like

ZooKeeper는 매우 신뢰할 수 있는 분산 조정이 가능한 오픈 소스 서버입니다.
GitHub:https://github.com/31z4/zookeeper-docker
도서관 참고
이 내용은 공식 Docker Library 문서에서 가져온 것으로 원래 업로드자가 제공합니다.당신은https://hub.docker.com/images/zookeeper이 이미지의 Docker Hub 페이지 보기
  

 
  • 3.4.13 , 3.4 , latest (3.4.13/Dockerfile)
  • 3.5.4-beta , 3.5 (3.5.4-beta/Dockerfile)

  • 빠른 참조

  • 도움말: Docker 커뮤니티 포럼, Docker 커뮤니티 Slack 또는 Stack Overflow
  • 문제를 제출한 곳: https://github.com/31z4/zookeeper-docker/issues
  • 관리자: Docker 커뮤니티
  • 지원되는 아키텍처: (자세한 정보)amd64,arm32v6,arm64v8,i386,ppc64le,
  • 발표된 이미지 공작물 상세 정보: repo-info repo의 s390x 디렉터리 (역사 기록) (이미지 메타데이터, 전송 크기 등)
  • 이미지 업데이트: 공식 사진 PR에 라벨이 있음repos/zookeeper/ 공식 사진repo의 library/zookeeper 파일(역사)
  • 이 설명의 출처:docsrepo의 library/zookeeper 디렉터리 (역사)
  • 지원되는 Docker 버전: 최신 버전(1.6까지 지원)
  •  

    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_CNXNSIP 주소로 식별된 단일 클라이언트가 ZooKeeper 컬렉션의 개별 구성원에 대해 병렬 연결 수를 제한합니다(소켓 수준).

    육십


    기본값은 maxClientCnxns 입니다.동물원 관리인ZOO_STANDALONE_ENABLED3.5.0 이전에는 독립 모드 또는 분산 모드에서 ZooKeeper를 실행할 수 있습니다.이것은 단독으로 창고를 실현하고 실행할 때 그것들 사이를 전환할 수 없습니다.기본적으로 (뒤로 호환되기 위해) standaloneEnabled는 true로 설정됩니다.이 기본 설정을 사용한 결과, 단일 서버로 시작하면 집합 증가를 허용하지 않고, 여러 서버에서 시작하면 두 참여자 미만으로 축소할 수 없습니다.

    false


    기본값은 standaloneEnabled 입니다.동물원 관리인ZOO_AUTOPURGE_PURGEINTERVAL3.4.0의 새로운 기능: 지우기 작업을 트리거해야 하는 시간 간격 (시간) 입니다.자동 지우기를 활성화하려면 양의 정수(1 이상)로 설정합니다.기본값은 0입니다.

    0


    기본값은 autoPurge.purgeInterval 입니다.동물원 관리인ZOO_AUTOPURGE_SNAPRETAINCOUNT3.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/

    좋은 웹페이지 즐겨찾기