VirutalBox 조작하기
클립보드 공유시키기
VirtualBox 이용 시 Ctrl+C,V 를 원활하게 연동하기 위함, 이후 해당 서버 재기동
OpenJDK 설치
virutalBox내 우분투에서 jdk 설치를 진행한다
sudo apt-get install openjdk-11-jdk
java -version //확인
그다음, virtualBox에서 confluent.io 사이트에 접근해 원하는 Kafka 버전의 Tarball 파일을 다운한 뒤 압축 해제해준다
tar -xvf [카프카.tar.gz 경로]
Kafka 파일 구경
bin 구경하기
우선 putty로 접근해서 kafka 경로 내의 파일을 확인해본다
bin 경로 내로 들어가면 카프카 기동 명령어 역할을 하는 .sh 파일들을 볼 수 있다
이제 곧 [주키퍼 시작 > 카프카 시작]을 진행해야하고, 다음에는 connect 까지 실행시켜 볼 것이다
그런데 경로를 치는 게 번거로우니, 디렉토리 경로에 대한 환경변수를 지정해주는 작업을 먼저 진행한다
bin 디렉토리 환경변수로 지정하기
// 홈 디렉토리에서 진행
ls -lia // .bashrc 파일 확인
vi ./bashrc
// 다음의 export 문 추가
export CONFLUENT_HOME=/home/{사용자명}/confluent
export PATH=.:$PATH:/home/{사용자명}:$CONFLUENT_HOME/bin
// 저장(wq) 후 홈 디렉토리에서
. .bashrc
echo $CONFLUENT_HOME // 확인
echo $PATH
Kafka 기동시키기
한 번 실행시켜보자
// bin 파일 내의 명령어 활용
// 1. 주키퍼 실행
../bin$ zookeeper-server-start $CONFLUENT_HOME/etc/kafka/zookeeper.properties
// 2. 카프카 실행
../bin$ kafka-server-start $CONFLUENT_HOME/etc/kafka/server.properties
다 좋은데, 잘 뜨지만 다만 현재 이들은 실행 중에 저장해야할 정보를 temp 디렉토리에 담아두게 되어있다. 이는 vm을 재기동 하면 날아가버리므로 재설정이 필요하다
정보 저장 디렉토리 설정하기
기존에는 아래의 경로에 kafka가 자리잡고 있는 것을 볼 수 있다
새로운 저장 경로 생성
~$ mkdir data // 저장경로 생성
~$ cd data
~/data$ mkdir zookeeper // 주키퍼 데이터가 저장될 경로
~/data$ mkdir kafka-logs // Topic 등이 저장될 경로
저장 경로 환경설정 변경
환경설정 경로에 가서, properties 일부를 바꿔줄 것이다
/* Zooper 설정 */
cd $CONFLUENT_HOME/etc/kafka
vi zookeeper.properties
// 내부에 명시된 data 경로를 재지정
dataDir=/home/kim/data/zookeeper
/* Kafka 설정 */
vi server.properties
// /logs로 검색해서 logs.dirs를 찾아간 뒤 재지정
log.dirs=/home/kim/data/kafka-logs
그다음, 실행을 편리하게 하기 위해 스크립트 두 개를 생성한다
우선 주키퍼 실행 스크립트
~$:vi zookeeper_start.sh
// 작성
$CONFLUENT_HOME/bin/zookeeper-server-start $CONFLUENT_HOME/etc/kafka/zookeeper.properties
// 저장(wq)
~$:chmod +x zookeeper_start.sh // 파일 실행 권한 부여
이후 zookeeper_start.sh 명령어를 수행해보면 아까 만든 data/ 경로가 적용되는 로그를 만날 수 있다
그다음 카프카 실행 스크립트
~$:vi kafka_start.sh
// 작성
$CONFLUENT_HOME/bin/kafka-server-start $CONFLUENT_HOME/etc/kafka/server.properties
// 저장
~$:chmod +x kafka_start.sh
~$:kafka_start.sh
확인을 해보고자 kafka 토픽을 생성해보면
kafka-logs$ kafka-topics --bootstap-server localhost:9092 --create welcom-topic
의도했던 경로에 생성되었음을 볼 수 있다.
끗.