1) Kafka 파일 다운 받기
Kafka를 먼저 다운 받아준다. Kafka의 버전이 변경될 수도 있음으로 https://www.apache.org/dyn/closer.cgi?path=/kafka/2.8.0/kafka_2.13-2.8.0.tgz
사이트에 들어가서 확인해주고 최신 버전으로 다운 받아준다.
wget <https://mirror.navercorp.com/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz>
2) 파일 압축 풀어주기
tar -xzf kafka_2.13-2.8.0.tgz
새로운 버전으로 예시와 다르게 변경되었으면, 파일의 이름을 복붙해서 진행해주면 된다.
3) 압축 풀린 파일 확인하기
cd kafka_2.13-2.8.0
압축을 푼 곳을 확인해보면 압축이 풀려서 폴더가 생성되어있음을 알 수 있다. 폴더안에 bin, config등의 파일들이 위치하고 있다.
※ 압축이 풀린 파일은 Nifi의 압축을 푼 폴더와 비슷하다고 생각하면 보다 쉽게 사용할 수 있다. bin 폴더에서 실행하고 conf폴더에서 환경 설정을 진행한 것과 같이 bin 폴더에서 실행하고 config폴더에서 환경 설정을 해줄 수 있다.
* Nifi
bin : nifi.sh 파일이 위치해서 start와 stop이 진행 가능
conf : ip, port등의 환경 설정이 가능
* Kafka
bin: kafka-server-start.sh, kafka-server-stop.sh 파일이 위치해서 start와 stop이 진행 가능하며, Nifi와는 달리 한 가지 파일이 아닌 start와 stop으로 폴더가 나누어짐(kafka, zookeeper 파일 위치)
config : kafka와 zookeeper에 대한 port의 환경 설정이 가능
4) 환경 설정 확인하기
먼저, Kafka를 실행하기 위해서는 Zookeeper가 미리 실행되어있는 상태로 진행되어야 한다는 점을 유의해야한다. 환경 설정이 가능한 지를 먼저 확인해본다.
# 압축이 풀린 폴더안의 config 폴더에서 진행
# Zookeeper
vi zookeeper.properties
# Kafkazookeeper.propertiezookeeper.properties
vi server.properties
zookeeper.properties를 확인한 상황으로 clientPort번호도 확인이 가능하다.
5) start, stop 파일 확인하기
실행하기에 앞서 start와 stop 파일이 존재하고 있는지를 확인해준다.
# 압축이 풀린 폴더안의 bin 폴더에서 진행
# Zookeeper
vi zookeeper-server-start.sh
# Kafka
vi kafka-server-start.sh
이런식으로 확인이 가능한데 첫 문장의 !/bin/bash 는 Kafka의 설치를 찾다보면 많이 찾아볼 수 있는 문장인데 실행 파일안에 위치하고 있다. 실제로 리눅스 환경에서 검색하면 찾을 수 없다.
6) 실행하기
실행하기 위한 순서로는 Zookeeper → Kafka 임을 유의한다.
Nifi와 동일하게 sh파일을 실행하기 위해서 ./ 를 붙여서 진행해준다. 실행 파일 뒤에는 config의 위치를 추가로 작성해주어야 한다는 점은 Nifi와의 차이점이다.
# 압축이 풀린 폴더안에서 진행
# Zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
# Kafka
bin/kafka-server-start.sh -daemon config/server.properties
명령어를 실행한 후에 크게 달라지는 것이 없는 것 같다고 느껴질 수 있다. 이를 확인하기 위해서 topic을 생성하고 확인해보고 메세지도 보내보아야한다.
※ 실행이 안될 경우,
# 실행된 프로그램 확인하기
jps
jps를 입력해서 kafka가 실행되고있는지를 확인해본다. 안된다면 -daemon 빼고 진행해본다.
'PBL 빅데이터 > 산학프로젝트' 카테고리의 다른 글
[산학프로젝트] Nifi로 Kafka Producer 연결하기(HDFS → Kafka) (0) | 2021.08.30 |
---|---|
[산학프로젝트] Kafka 실행 예제 (1) | 2021.08.30 |
[산학프로젝트] MobaXterm 사용하기 (0) | 2021.08.30 |
[산학프로젝트] Nifi 한글 인코딩 변경하기 (0) | 2021.08.30 |
[산학프로젝트] Pyspark를 사용한 데이터 전처리 (0) | 2021.08.30 |