-
[broker서버 3대 구성 / zookeeper & kafka 동일서버에 설치]
==========================================================================================
#주키퍼 설치(3대로 구성 vertica01, vertica02, vertica03)
==========================================================================================
[java설치]
yum -y install java-1.8.0-openjdk
[주키퍼 압축해제 및 심볼릭 링크 생성]
cd /home/dbadmin/util
tar zxf zookeeper-3.4.10.tar.gz
ln -s zookeeper-3.4.10 zookeeper
ls -la zookeeper
[데이터 디렉토리 생성]
mkdir -p /home/dbadmin/util/zookeeper_data
[앙상블 내 주키퍼 노드 구분을 위해 ID생성(각각 서버별로 id구분해서 생성)]
echo 1 > /home/dbadmin/util/zookeeper_data/myid
[주키퍼 환경설정 파일 생성]
vi /home/dbadmin/util/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dbadmin/util/zookeeper_data
clientPort=2181
server.1=vertica01:2888:3888
server.2=vertica02:2888:3888
server.3=vertica03:2888:3888
[주키퍼 실행]
/home/dbadmin/util/zookeeper/bin/zkServer.sh start
[주키퍼 중지]
/home/dbadmin/util/zookeeper/bin/zkServer.sh stop
[운영 편의성을 위해 systemd등록]
#!/bin/bash
#/etc/rc.d/init.d/zookeeper
# Source function library.
. /etc/rc.d/init.d/functions
APP=/home/dbadmin/util/zookeeper/bin/zkServer.sh
USER=dbadmin
app(){
su - $USER -c "$APP $1"
}
error(){
echo -e "Error: Parameter non valide !"
echo -e "Usage: $0 {start | stop | restart | status}"
exit 1
}
usage(){
echo -e "Usage: $0 {start | stop | restart | status}"
echo ""
}
start(){
echo -e "Starting zookeeper... "
app start
echo -e "Done"
}
stop(){
echo -n "Shutting down zookeeper... "
app stop
echo -e "Done"
}
restart(){
echo -e "Restarting Zookeeper"
app stop
sleep 5
app start
echo -e "Done"
}
status(){
echo -e "Zookeeper status"
app status
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
help)
usage
;;
*)
error
;;
esac
exit 0
# service zookeeper status
Zookeeper status
ZooKeeper JMX enabled by default
Using config: /home/dbadmin/util/zookeeper/bin/../conf/zoo.cfg
Mode: follower
==========================================================================================
#카프카 설치(브로커 3대로 구성 vertica01, vertica02, vertica03)
==========================================================================================
[카프카 압축해제 및 심볼릭 링크 생성]
cd /home/dbadmin/util
tar zxf kafka_2.11-1.0.2.tgz
ln -s kafka_2.11-1.0.2 kafka
ls -la kafka
[카프카 환경설정]
--카프카 호스트 이름과 브로커 아이디
vertica01 broker.id=1
vertica02 broker.id=2
vertica03 broker.id=3
--데이터 저장 디렉토리 생성
mkdir -p /home/dbadmin/util/kafka_data
--카프카가 바라보는 주키퍼 정보 설정
vi /home/dbadmin/util/kafka/config/server.properties
broker.id=1 #각각의 카프카서버에 해당하는 id등록
log.dirs=/home/dbadmin/util/kafka_data
zookeeper.connect=vertica01:2181,vertica02:2181,vertica03:2181/vertica-kafka
[카프카 실행(백그라운드 실행) 둘 중 선택]
/home/dbadmin/util/kafka/bin/kafka-server-start.sh /home/dbadmin/util/kafka/config/server.properties &
/home/dbadmin/util/kafka/bin/kafka-server-start.sh -daemon /home/dbadmin/util/kafka/config/server.properties
[카프카 중지]
/home/dbadmin/util/kafka/bin/kafka-server-stop.sh
[카프카 상태 확인]
--포트 확인 (주키퍼 기본 TCP포트 2181, 카프카 기본 TCP포트 9092)
netstat -ntlp | grep 2181
netstat -ntlp | grep 9092
--주키퍼 지노드를 이용한 카프타 정보 확인
/home/dbadmin/util/zookeeper/bin/zkCli.sh
ls /
[vertica-kafka, zookeeper]
ls /vertica-kafka/brokers/ids
[1, 2, 3]이 보이면됨.
--카프카 로그 확인
cat /home/dbadmin/util/kafka/logs/server.log
댓글