/opt/kafka
디렉토리에 Kafka를 다운로드 했습니다 . 이름이 사용자인 사용자를 생성 하고 해당 사용자를 그룹 kafkaadmin
에 추가하여 사용자로 실행할 수 있도록 했습니다. 이제 Zookeeper를 systemd 서비스로 구성하고 아래에 . 다음은 구성입니다wheel
root
zookeeper.service
/etc/systemd/system/zookeeper.properties
[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafkaadmin
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
실행하면 systemctl start zookeeper
서비스 journalctl -u zookeeper
가 종료되었다는 메시지가 나타납니다.
-- Logs begin at Sat 2021-05-08 12:48:37 UTC, end at Sat 2021-05-08 12:55:59 UTC. --
-- Logs begin at Sat 2021-05-08 12:48:37 UTC, end at Sat 2021-05-08 12:55:59 UTC. --
-- Logs begin at Sat 2021-05-08 12:48:37 UTC, end at Sat 2021-05-08 12:55:59 UTC. --
May 08 12:48:47 kafka-node systemd[1]: Started zookeeper.service.
May 08 12:48:51 kafka-node systemd[1]: zookeeper.service: Control process exited, code=exited status=1
May 08 12:48:51 kafka-node systemd[1]: zookeeper.service: Failed with result 'exit-code'.
May 08 12:51:49 kafka-node systemd[1]: Started zookeeper.service.
May 08 12:51:49 kafka-node zookeeper-server-start.sh[2171]: OpenJDK 64-Bit Server VM warning: Cannot open file /opt/kafka/bin/../logs/zookeeper-gc.log due to Permission denied
May 08 12:51:50 kafka-node zookeeper-server-start.sh[2171]: log4j:ERROR setFile(null,true) call failed.
May 08 12:51:50 kafka-node zookeeper-server-start.sh[2171]: java.io.FileNotFoundException: /opt/kafka/bin/../logs/server.log (Permission denied)
May 08 12:51:50 kafka-node zookeeper-server-start.sh[2171]: at java.io.FileOutputStream.open0(Native Method)at org.apache.log>lines 1-20at org.apache.log>lines 1-20
이제 실행하려고 하면 systemctl start zookeeper
위의 오류가 발생합니다. 이것은 kafkaadmin
루트 사용자입니다. 이 사용자에 대한 서비스를 시작하려면 어떻게 해야 합니까? 내가 어디서 잘못됐나요?