[Kafka] Kafka - rest

이정훈·2023년 3월 21일
0

kafka

목록 보기
4/5
post-thumbnail

proxy 서버 준비

  • Kafka REST Proxy 서버 준비
    200.200.200.8
  • 방화벽은 해제해줘야한다.
systemctl stop firewalld
setenforce 0
  • 설치
wget http://packages.confluent.io/archive/5.5/confluent-community-5.5.0-2.12.zip
unzip confluent-community-5.5.0-2.12.zip
vi [압축 푼 폴더]/etc/kafka-rest/kafka-rest.properties
  • 설정
zookeeper.connect=[주키퍼IP]:2181  # 우리는 주키퍼랑 카프카랑 같이 연결해 놓아서 그냥 같은 IP를 작성해준다.
bootstrap.servers=PLAINTEXT://[카프카IP]:9092
access.control.allow.origin=*
access.control.allow.methos=GET,POST,PUT,DELETE
access.control.allow.headers=origin,content-type,accept,authorization
  • 실행
[압축 푼 폴더]/bin/kafka-rest-start etc/kafka-rest/kafka-rest.properties
  • Kafka Rest 서버가 실행하려 했는데, Java 실행 환경을 찾지 못했을 때, 아래 환경변수 설치해주면 해결~
dnf install java-1.8.0-openjdk

proxy 서버 테스트

  • putty 창을 하나 더 실행해 준다.

curl -X POST -H "Content-Type: application/vnd.kafka.v2+json" \
      --data '{"name": "[인스턴스 이름]", "format": "json", "auto.offset.reset": "earliest"}' \
      http://localhost:8082/consumers/[그룹 ID]


curl -X POST -H "Content-Type: application/vnd.kafka.v2+json" --data '{"topics":["토픽이름"]}' \
 http://localhost:8082/consumers/[그룹ID]/instances/[인스턴스 이름]/subscription


curl -X GET -H "Accept: application/vnd.kafka.json.v2+json" \
      http://localhost:8082/consumers/[그룹ID]/instances/[인스턴스 이름]/records


[ ] 이 표시가 뜨면 실행이 잘 된것이다.

  • 내보내면

// GET 방식으로 요청을 보내면서 데이터를 동시에 전달함.
httpRequest.open("GET", "http://[proxy IP]:8082/consumers/new/instances/new_consumer_instance/records", true);
httpRequest.setRequestHeader("Accept", "application/vnd.kafka.json.v2+json");
httpRequest.send();
  • html 파일형식으로 만들어 실시간으로 확인 가능
profile
싱숭생숭늉

0개의 댓글