[Linux] Apache Kafka(아파치 카프카) 설치
- IT
- 2020. 6. 26.
반응형
반응형
실습 환경
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 |