Apache Kafka 설치하기
시스템 사용자 profile 설정
# JDK ENV
export JAVA_HOME=/app/jdk
export PATH=$JAVA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$JAVA_HOME/lib:$LD_LIBRARY_PATH
# KAFKA ENV
export PATH=/app/kafka/bin:$PATH
export LOG_DIR=/logs/kafka # Kafka 데몬의 로그 경로
alias startKafka='kafka-server-start.sh -daemon /app/kafka/config/server.properties'
alias stopKafka='kafka-server-stop.sh'
# USER ENV
set -o vi
바이너리 다운로드
wget http://mirror.apache-kr.org/kafka/1.1.1/kafka_2.11-1.1.1.tgz
바이너리 압축 해제
tar -xvf kafka_2.11-1.1.1.tgz -C /app/kafka/1.1.1
sybolic link 생성
cd /app/kafka
ln -s ./1.1.1/* .
config/server.properties 설정
외부 zookeeper 서버가 존재하는 경우.
zookeeper 노드는 node1.big:2181,node2.big:2181,node3.big:2181 이고
kafka broker 는 node7.big,node8.big 에 설치할 때,
broker1 @node7.big
vi /app/kafka/config/server.properties
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://node7.big:9092
log.dirs=/data/kafka # Kafka 데몬의 로그가 아니라 MQ log
zookeeper.connect=node1.big:2181,node2.big:2181,node3.big:2181
broker2 @node8.big
vi /app/kafka/config/server.properties
broker.id=2
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://node8.big:9092
log.dirs=/data/kafka # Kafka 데몬의 로그가 아니라 MQ log
zookeeper.connect=node1.big:2181,node2.big:2181,node3.big:2181
실행/종료
alias startKafka='kafka-server-start.sh -daemon /app/kafka/config/server.properties'
alias stopKafka='kafka-server-stop.sh'