728x90
반응형
카프카 도커 설치
- 먼저 서버 2대로 실습을 해본다.
- 카프카 서버
- 주키퍼 서버
- docker compose 를 쓰면 되지만 직접 설치해 보고 연동을 해본다.
- 2개 도커를 docker network 로 연결을 해줘야 통신이된다.
Zookeeper 설치
1. 우분투 이미지를 가져온다.
docker pull ubuntu
2. zookeeper 설치를 위한 ubuntu 를 띄운다.
docker run -it -p 2181:2181 --name zookeeper ubuntu
아래처럼 도커가 띄워진걸 확인한다.
3. zookeeper 도커에 접속
docker attach zookeeper
4. 기본 설정 및 zookeeper 다운로드
apt-get update
apt-get install -y wget // wget 설치 파일 다운로드를 위함.
apt-get install openjdk-11-jdk // 자바 설치
cd /user/service // 서비스 디렉토리 이동
// 주키퍼 다운로드
wegt https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.9.0/apache-zookeeper-3.9.0-bin.tar.gz
// 압축 해제
tar -xvf ./apache-zookeeper-3.9.0-bin.tar.gz
// 심볼릭 링크 생성
ln -s apache-zookeeper-3.9.0-bin zookeeper
5. zookeeper 설정
cd /usr/service/zookeeper/conf // 환경 설정 경로로 이동
cp zoo_sample.cfg zoo.cfg // 기존 예제 파일 복사
vi ./zoo.cfg // 환경설정 파일 편집기를 열고 아래 처럼 입력해준다.
아래 처럼 입력을 해준다.
6. zookeeper 실행
./zkServer.sh ../conf/zoo.cfg
Kafka 설치
1. kafka 설치를 위한 ubuntu 를 띄운다.
docker run -it -p 9092:9092 --name kafka ubuntu
두개의 도커를 동일한 네트워크에 연결
docker network create kafka_default
docker network connect kafka_default kafka // 카프카 네트워크 연결
docker network connect kafka_default zookeeper // 주키퍼 네트워크 연결
docker network inspect kafka_default // 연결된 정보 확인
"Name": "zookeeper" 의 IP 를 기억해두자
"IPv4Address": "172.18.0.3/16",
[
{
"Name": "kafka_default",
"Id": "606f1e675bb3180d1bcbfd66d85f31dd7af9a0ea32fb5f7c88d92d070e772fb1",
"Created": "2022-12-20T07:37:20.902265839Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"12cc71d813f00e475c1d0595e92bf95d74cf987916b16428cd3b6d6d19dc559d": {
"Name": "kafka",
"EndpointID": "73523394d77484e720e13e1c0c74d1239f4f33616f8b98d5c40755a05cf6a9bb",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
},
"e10fbfd09bc8637ba6de18a8201dca5b290b250409f9878e54d75b085da10e8e": {
"Name": "zookeeper",
"EndpointID": "0e8167ca3d0d6d450c093203ffc936ec70448f2fe0f488ec91a8dac0377b02ff",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {
"com.docker.compose.network": "default",
"com.docker.compose.project": "kafka",
"com.docker.compose.version": "1.29.2"
}
}
]
2. kafka 도커 접속
docker attach kafka
3. 기본 설정 및 zookeeper 다운로드
apt-get update
apt-get install -y wget // wget 설치 파일 다운로드를 위함.
apt-get install openjdk-11-jdk // 자바 설치
cd /user/service // 서비스 디렉토리 이동
wget https://archive.apache.org/dist/kafka/3.2.1/kafka_2.13-3.2.1.tgz // 주키퍼 다운로드
tar -xvf kafka_2.13-3.2.1.tgz // 주키퍼 압축 해제
4. kafka 환경 설정
vi ./usr/service/kafka_2.13-3.2.1/config/server.properties
listeners 와 advertised.listeners 를 검색하여 아래와 같이 입력해준다.
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
아래 주키퍼 zookeeper.connect= 를 찾아 위에서 기억해 두었던 zookeeper ip 를 넣어주자.
############################# Zookeeper #############################
# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=172.18.0.3:2181
# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=18000
5. kafka 실행
./kafka-server-start.sh ../config/server.properties
카프카가 정상 동작 되면 설정을 잘 맞춰다는 것이다.
728x90
반응형
'Message Queue > Kafka' 카테고리의 다른 글
[Kafka] Error Handling Patterns (0) | 2024.06.01 |
---|---|
[Kafka] DLQ(Dead Letter Queue) (0) | 2023.09.26 |
[Kafka] 카프카 Error Handler 적용 (0) | 2022.12.23 |
[Kafka] 카프카 Json 데이터 주고 받기 (0) | 2022.12.23 |
[Kafka] 카프카 String 데이터 주고 받기 (0) | 2022.12.23 |
댓글