brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Jun 04. 2019

Linux: Kafka Service 등록

/etc/systemd/system/kafka.service

service iptalbes status,

service elasticsearch status,


이런거.. 만드는거.. 어렵지 않다.


Fluent 기반의 Kafka 사용 말구,

자체적으로 Kafka를 사용 할 경우,

기본(?)적으로 service 등록이 안되어 있다.


Ref: https://kafka.apache.org/downloads



예를 들어,


>> curl "https://www.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz" --output ./kafka.tgz

>> tar -xzvf ./kafka.tgz


금방 끝난다.


위치(경로) 확인!

>>  pwd

/home/ec2-user/kafka_2.12-2.2.1


바로 서비스 파일 만들기!

/etc/systemd/system/zookeeper.service,

/etc/systemd/system/kafka.service.


요렇게 2개!


file: zookeeper.service


[Unit]

Requires=network.target remote-fs.target

After=network.target remote-fs.target

[Service]

Type=simple

ExecStart=/bin/sh -c '/home/ec2-user/kafka_2.12-2.2.1/bin/zookeeper-server-start.sh /home/ec2-user/kafka_2.12-2.2.1/config/zookeeper.properties > /home/ec2-user/kafka_2.12-2.2.1/kafka.log 2>&1'

ExecStop=/home/ec2-user/kafka_2.12-2.2.1/bin/zookeeper-server-stop.sh

Restart=on-abnormal

[Install]

WantedBy=multi-user.target



file: kafka.service


[Unit]

Requires=zookeeper.service

After=zookeeper.service

[Service]

Type=simple

ExecStart=/bin/sh -c '/home/ec2-user/kafka_2.12-2.2.1/bin/kafka-server-start.sh /home/ec2-user/kafka_2.12-2.2.1/config/server.properties > /home/ec2-user/kafka_2.12-2.2.1/kafka.log 2>&1'

ExecStop=/home/ec2-user/kafka_2.12-2.2.1/bin/kafka-server-stop.sh

Restart=on-abnormal

[Install]

WantedBy=multi-user.target



간단하다.


쥬키퍼와 브로커(서버) 설정은... 알아서!


바로 실행 및 서비스 등록을 해보면,


>> systemctl daemon-reload

>> systemctl start kafka.service

>> systemctl enable kafka



마지막으로 확인!


>> /kafka-console-consumer.sh --bootstrap-server 10.10.0.2:9092 --topic aws_traffic


데이터가 실시간으로 console 에 나타나는 것을 볼 수 있을 것이다.


끝.

작가의 이전글 Python: Elastic APM
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari