[Linux] Apache Kafka(아파치 카프카) 설치

반응형
반응형

 

실습 환경

hostname : linux-1

CentOS 7.8 - (IP : 192.168.56.101)

hostname : linux-2

CentOS 7.8 - (IP : 192.168.56.102)

hostname : llinux-3

CentOS 7.8 - (IP : 192.168.56.105)

zookeeper & kafka 설치

zookeeper & kafka 설치

zookeeper & kafka 설치

zookeeper

zookeeper 다운로드

[root@linux-1 src]# wget https://downloads.apache.org/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

 

압축을 풀고 디렉토리 이동 후 심볼릭 링크 설정

[root@linux-1 src]# tar -xzf zookeeper-3.4.14.tar.gz
[root@linux-1 src]# mv zookeeper-3.4.14 /usr/local/
[root@linux-1 src]# cd /usr/local/
[root@linux-1 local]# ln -s zookeeper-3.4.14 zookeeper

 

샘플 설정 파일 copy 하여  zoo.cfg 파일 생성

[root@linux-1 conf]# pwd
/usr/local/zookeeper/conf
[root@linux-1 conf]# cp zoo_sample.cfg zoo.cfg

 

zoo.cfg 설정 파일의 dataDir 경로 변경

[root@linux-1 conf]# cat zoo.cfg | grep -v ^#
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/mnt/data_dir
clientPort=2181

 

zoo.cfg 설정 파일에 zookeeper 서버들을 등록합니다.

[root@linux-1 conf]# cat zoo.cfg | grep -v ^#
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/mnt/data_dir
clientPort=2181

server.1=linux-1:2888:3888
server.2=linux-2:2888:3888
server.3=linux-3:2888:3888

 

각 zookeeper 서버의 dataDir 경로에 myid 파일을 생성 후 zoo.cfg 파일에 설정한 서버의 seq번호를 입력합니다

[root@linux-1 bin]# cat /mnt/data_dir/myid
1
[root@linux-2 bin]# cat /mnt/data_dir/myid
2
[root@linux-3 bin]# cat /mnt/data_dir/myid
3

 

zookeeper 구동

나머지 zookeeper 서버도 여기까지 동일하게 진행합니다.

[root@linux-1 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

 

 

Kafka

kafka 다운로드

[root@linux-1 src]# wget http://apache.mirror.cdnetworks.com/kafka/2.5.0/kafka_2.12-2.5.0.tgz

 

압축을 풀고 디렉토리 이동 후 심볼릭 링크 설정

[root@linux-1 src]# tar -xzf kafka_2.12-2.5.0.tgz
[root@linux-1 src]# mv kafka_2.12-2.5.0 /usr/local/
[root@linux-1 src]# cd /usr/local/
[root@linux-1 local]# ln -s kafka_2.12-2.5.0 kafka

 

/usr/local/kafka/config/server.properties 설정 파일 각 서버에 맞게 수정합니다.

# linux-1
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://linux-1:9092
zookeeper.connect=linux-1:2181,linux-2:2181,linux-3:2181

# linux-1
broker.id=2
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://linux-2:9092
zookeeper.connect=linux-1:2181,linux-2:2181,linux-3:2181

# linux-1
broker.id=3
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://linux-3:9092
zookeeper.connect=linux-1:2181,linux-2:2181,linux-3:2181

 

/usr/local/kafka/bin 경로로 이동하여 kafka를 구동합니다.

[root@linux-1 bin]# ./kafka-server-start.sh ../config/server.properties

 

topic 생성

[root@linux-1 bin]# ./kafka-topics.sh --create --zookeeper linux-1:2181,linux-2:2181,linux-3:2181 --replication-factor 3 --partitions 1 --topic test_1

 

생성한 topic 확인

[root@linux-1 bin]# ./kafka-topics.sh --list --zookeeper linux-1:2181,linux-2:2181,linux-3:2181
test_1

 

porducer 메시지 생산 & consumer 메시지 소비

[root@linux-1 bin]# ./kafka-console-producer.sh --broker-list linux-1:9092,linux-2:9092,linux-3:9092 -topic test_1
>a b c d e f
>5 4 3 2 1
>asd123

[root@linux-1 bin]# ./kafka-console-consumer.sh  --bootstrap-server linux-1:9092,linux-2:9092,linux-3:9092 --topic test_1 --from-beginning
a b c d e f
5 4 3 2 1
asd123

 

반응형

'IT' 카테고리의 다른 글

[Linux] hpssacli 명령어 정리  (0) 2020.07.03
[linux] nslookup 예제 정리  (0) 2020.07.01
[Linux] Glusterfs 설치 및 기본 사용법  (0) 2020.06.24
[Linux] SSL 인증서 만료일 확인  (0) 2020.06.17
[Linux] find 명령어 예제  (0) 2020.06.16

댓글

Designed by JB FACTORY

loading