we're using ansible to deploy Cloudera manager v. 5.14.1, and afterwards create a zookeeper+kafka cluster (on the same node + 2 more). Until now we used root user to run ansible, but now we have to work with a sudoer with full permissions. Everything works well until Zookeeper is brought up, when I see this in the stderr log in the UI :
+ mkdir /opt/external/cloudera/zookeeper-83846c4293dd0fdcf55dd3fb02f8c382 mkdir: cannot create directory ‘/opt/external/cloudera/zookeeper-83846c4293dd0fdcf55dd3fb02f8c382’: Permission denied + echo 1 /usr/lib64/cmf/service/zookeeper/zkserver.sh: line 41: /opt/external/cloudera/zookeeper-83846c4293dd0fdcf55dd3fb02f8c382/myid: No such file or directory
I see on other VMs that the whole path has the same permissions and owners. So my 2 questions are :
1. What can cause this? Who is the user running the zkserver.sh script? We do it the REST api, with the admin user, so I fail to see why there should be permission issues.
2. Where is the log for this script located? Can I increase the log level for it?
Any help is most welcome, thanks!
Your permission issue is linked to ZK ACL's my good guess is your Kafka is kerberized. Zookeeper requires you to set up a superuser using the zookeeper.DigestAuthenticationProvider.superDigest property.
I don't know how you will integrate that procedure in your Ansible playbook
You will then need to append this in y your KAFKA_OPTS env variable to set the JVM parameters
Please let me know whether that is your situation if that's the case then I will try to help you out