/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 에 나타나는 것을 볼 수 있을 것이다.
끝.