Zookeeper #1. 개요
Zookeeper #2. 설치와 설정
Zookeeper #3. 구동과 확인
Kafka #1. 개요
Kafka #2. 설치
1. 다운로드 및 압축 해제
– Apache zookeeper 홈페이지에서 필요한 버전을 선택하거나 여기를 클릭하여1글 작성일 2020년 09월01일 기준으로 최신버전은 3.6.1이다.다운로드 한다.
– 다운로드한 파일을 FTP 또는 SFTP등을 이용하여 서버에 업로드한다.
– 또는 wget 명령을 이용하여 서버에서 다운로드 한다.
[kafka@kafka ~]$ wget http://apache.tt.co.kr/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz --2020-09-01 08:27:41-- http://apache.tt.co.kr/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz Resolving apache.tt.co.kr (apache.tt.co.kr)... 211.47.69.77 Connecting to apache.tt.co.kr (apache.tt.co.kr)|211.47.69.77|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 9394700 (9.0M) [application/x-gzip] Saving to: ‘apache-zookeeper-3.5.8-bin.tar.gz’ 100%[========================================================================>] 9,394,700 72.0KB/s in 2m 6s 2020-09-01 08:29:47 (72.8 KB/s) - ‘apache-zookeeper-3.5.8-bin.tar.gz’ saved [9394700/9394700] [kafka@kafka ~]$ ll 합계 91272 -rw-r--r-- 1 kafka kafka 12436328 5월 1 04:53 apache-zookeeper-3.6.1-bin.tar.gz drwxrwxr-x 76 kafka kafka 4096 9월 1 08:29 data drwxr-xr-x 7 kafka kafka 245 8월 13 07:54 jdk1.8.0_251 lrwxrwxrwx 1 kafka kafka 16 8월 12 09:00 kafka -> kafka_2.13-2.6.0 drwxr-xr-x 9 kafka kafka 182 8월 13 09:48 kafka_2.13-2.6.0 -rw-r--r-- 1 kafka kafka 65537909 8월 5 07:01 kafka_2.13-2.6.0.tgz drwxrwxr-x 2 kafka kafka 6 8월 12 09:07 perl5
– 압축을 해제하고 심볼릭 링크를 생성한다.2Symbolic-Link:윈도우즈의 바로가기 lnk파일과 유사하다. 3심볼릭 링크를 사용하면 환경 변수의 관리가 편리하다. 예제의 경우 압축을 해제하면 ‘apache-zookeeper-3.6.1-bin’ 라는 이름의 디렉토리가 생성되는데 이 이름으로 환경 변수를 등록하여 운영 중 zookeeper 판올림을 할경우 환경변수를 변경 해야 한다. 또 ‘zookeeper’라는 이름으로 변경을 했을 경우 동일한 디렉토리에 파일을 교체해야 하므로 별도로 파일을 이동해줘야 하지만 심볼링 링크로 연결 했을 경우는 링크만 변경 하는 것으로 바이너리를 교체하는 효과를 볼 수 있다.
[kafka@kafka ~]$ tar -xvzf apache-zookeeper-3.6.1-bin.tar.gz apache-zookeeper-3.6.1-bin/docs/ apache-zookeeper-3.6.1-bin/docs/skin/ : 중략 : apache-zookeeper-3.6.1-bin/lib/metrics-core-3.2.5.jar apache-zookeeper-3.6.1-bin/lib/snappy-java-1.1.7.jar [kafka@kafka ~]$ ln -s apache-zookeeper-3.6.1-bin zookeeper [kafka@kafka ~]$ ll 합계 12148 drwxrwxr-x 6 kafka kafka 133 9월 1 08:35 apache-zookeeper-3.6.1-bin -rw-r--r-- 1 kafka kafka 12436328 9월 1 08:34 apache-zookeeper-3.6.1-bin.tar.gz lrwxrwxrwx 1 kafka kafka 26 9월 1 09:12 zookeeper -> apache-zookeeper-3.6.1-bin
2. 환경변수 설정
※ /home/kafka 디렉토리에 압축을 해제했고 kafka 계정을 사용하는 것으로 가정한다.
– ~/.bash_profile 에 환경 변수를 등록한다. 4‘~‘ 는 사용자의 home 디렉토리를 의미한다. 홈 디렉토리는 /etc/passwd 에 기록 되어있다.
[kafka@kafka zookeeper]$ vi ~/.bash_profile export JAVJA_HOME=/home/kafka/jdk1.8.0_251 export PATH=$PATH:$JAVA_HOME/bin # JAVA_HOME 디렉토리 관련 설정. #여기부터 추가한다. export ZOOKEEPER_HOME=/home/kafka/zookeeper export ZOOBINDIR=$ZOOKEEPER_HOME/bin # zookeeper home 과 bin 설정 # $ZOOKEEPER_HOME/bin/zkEnv.sh 에 $ZOOBINDIR이 명시되어있긴 하지만 #편의를 위해 등록한다. zkEnv.sh 를 수정해도 된다. export PATH=$PATH:$ZOOBINDIR #zookeeper bin 디렉토리를 PATH에 등록 #변수를 별도록 export 하지 않으면 해당 변수는 '현재의 스크립트에서만 유효하다' [kafka@zookeeper-kafka zookeeper]$ source ~/.bash_profile
3. zookeeper 설정
– 설정 파일 수정, node id 파일 생성, 클러스터간 설정 파일 동기화 세가지 작업이 필요하다.
가. $ZOOKEEPER_HOME/conf/zoo.cfg 파일을 생성하고 파일을 수정한다.
[kafka@kafka ~]$ vi $ZOOKEEPER_HOME/conf/zoo.cfg tickTime=2000 # 단위는 밀리초. 신호를 보내고 응답이 오기까지 설정된 시간만큼 대기한다. initLimit=10 # election 과정 이후 리더로 선출 된 zookeeper와 follower zookeeper들 간의 # 동기화 등에 사용되는 tick 시도 횟수. 즉 TickTime=2000에 initLimit=10일경우 # 총 20초동안 대기한다. # 관리하는 데이터의 양이 많을 경우 값을 늘려준다. syncLimit=5 # follower와 zookeeper 간의 동기화를 위한 틱 시도 횟수. dataDir=/home/kafka/zookeeper/datadir # zookeeper 데이터 디렉토리. tmp는 권장하지않는다. clientPort=2181 # zookeeper로 관리되는 클라이언트가 zookeeper에 연결 할 때 사용하는 포트 maxClientCnxns=7 # 최대 접속 가능한 클라이언트 갯수. # 관리 대상 클라이언트가 많으면 값을 늘려준다. autopurge.snapRetainCount=3 # dataDir 디렉토리에 유지할 snapshot 갯수 autopurge.purgeInterval=1 # 정리(삭제) 시도 주기, 간격. # 단위는 시간. server.1=192.168.100.111:2888:3888;2181 server.2=zookeeper2:2888:3888;2181 server.3=zookeeper3.fqdn.name:2888:3888;2181 # 노드 정보. IP, host명(hosts 파일에 있는), FQDN 을 사용할 수 있다. # 2888은 leader노드가 follower 노드를 위해 열어두는 포트(동기화용). # 3888은 리더 선출을 위한 election 용 포트. # server. 뒤에 오는 숫자는 노드의 식별자가 된다. admin.enableServer=true admin.serverPort=8000 admin.commandURL=/commands # 관리 서버 설정. # 사용하도록 설정하고 웹브라우저로 접속하면 커맨드 정보를 볼 수 있다.
[kafka@kafka ~]$ mkdir /home/kafka/zookeeper/datadir [kafka@kafka ~]$ echo 1> /home/kafka/zookeeper/datadir/myid # myid에 적는 숫자는 zoo.cfg 에 기록한 서버 번호와 일치 해야 한다.
댓글을 달려면 로그인해야 합니다.