[ 
https://issues.apache.org/jira/browse/KAFKA-16849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Agostino Sarubbo updated KAFKA-16849:
-------------------------------------
    Description: 
I'm running a kafka-2.8.1 cluster with 5 machines.
For how it is configured (I have set a replica of 3) I can completely destroy a 
machine and re-create it from scratch. After have re-created it, it joins again 
the cluster and everything works as before.

So, right now I'm trying to migrate the host from CentOS-7 to RockyLinux-9. The 
idea was destroy and re-create the machines one-by-one.

I have increased the loglevel to DEBUG and this is what I get:
{code:java}
[2024-05-28 07:35:09,287] INFO Registered kafka:type=kafka.Log4jController 
MBean (kafka.utils.Log4jControllerRegistration$)
[2024-05-28 07:35:09,676] INFO Registered signal handlers for TERM, INT, HUP 
(org.apache.kafka.common.utils.LoggingSignalHandler)
[2024-05-28 07:35:09,680] INFO starting (kafka.server.KafkaServer)
[2024-05-28 07:35:09,680] INFO Connecting to zookeeper on 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
 (kafka.server.KafkaServer)
[2024-05-28 07:35:09,681] DEBUG Checking login config for Zookeeper JAAS 
context [java.security.auth.login.config=null, 
zookeeper.sasl.client=default:true, zookeeper.sasl.clientconfig=default:Client] 
(org.apache.kafka.common.security.JaasUtils)
[2024-05-28 07:35:09,695] INFO [ZooKeeperClient Kafka server] Initializing a 
new session to 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281.
 (kafka.zookeeper.ZooKeeperClient)
[2024-05-28 07:35:09,758] DEBUG Initializing task scheduler. 
(kafka.utils.KafkaScheduler)
[2024-05-28 07:35:09,759] INFO [ZooKeeperClient Kafka server] Waiting until 
connected. (kafka.zookeeper.ZooKeeperClient)
[2024-05-28 07:35:10,051] DEBUG [ZooKeeperClient Kafka server] Received event: 
WatchedEvent state:SyncConnected type:None path:null 
(kafka.zookeeper.ZooKeeperClient)
[2024-05-28 07:35:10,053] INFO [ZooKeeperClient Kafka server] Connected. 
(kafka.zookeeper.ZooKeeperClient)
[2024-05-28 07:35:10,139] INFO [feature-zk-node-event-process-thread]: Starting 
(kafka.server.FinalizedFeatureChangeListener$ChangeNotificationProcessorThread)
[2024-05-28 07:35:10,144] DEBUG Reading feature ZK node at path: /feature 
(kafka.server.FinalizedFeatureChangeListener)
[2024-05-28 07:35:10,251] INFO Updated cache from existing <empty> to latest 
FinalizedFeaturesAndEpoch(features=Features{}, epoch=1). 
(kafka.server.FinalizedFeatureCache)
[2024-05-28 07:35:10,255] INFO Cluster ID = 3G4teZlrS-uT6-Sk5MkbPQ 
(kafka.server.KafkaServer)
[2024-05-28 07:35:10,258] ERROR Failed to read /opt/kafka/data/meta.properties 
(kafka.server.BrokerMetadataCheckpoint$)
java.nio.file.AccessDeniedException: /opt/kafka/data/meta.properties.tmp
        at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at 
sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
        at 
sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108)
        at java.nio.file.Files.deleteIfExists(Files.java:1165)
        at 
kafka.server.BrokerMetadataCheckpoint.read(BrokerMetadataCheckpoint.scala:224)
        at 
kafka.server.BrokerMetadataCheckpoint$.$anonfun$getBrokerMetadataAndOfflineDirs$2(BrokerMetadataCheckpoint.scala:158)
        at 
scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
        at 
scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
        at 
kafka.server.BrokerMetadataCheckpoint$.getBrokerMetadataAndOfflineDirs(BrokerMetadataCheckpoint.scala:153)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:206)
        at kafka.Kafka$.main(Kafka.scala:109)
        at kafka.Kafka.main(Kafka.scala)
[2024-05-28 07:35:10,326] INFO KafkaConfig values: 
        advertised.host.name = null
        advertised.listeners = null
        advertised.port = null
        alter.config.policy.class.name = null
        alter.log.dirs.replication.quota.window.num = 11
        alter.log.dirs.replication.quota.window.size.seconds = 1
        authorizer.class.name = 
        auto.create.topics.enable = true
        auto.leader.rebalance.enable = true
        background.threads = 10
        broker.heartbeat.interval.ms = 2000
        broker.id = 1
        broker.id.generation.enable = true
        broker.rack = null
        broker.session.timeout.ms = 9000
        client.quota.callback.class = null
        compression.type = producer
        connection.failed.authentication.delay.ms = 100
        connections.max.idle.ms = 600000
        connections.max.reauth.ms = 0
        control.plane.listener.name = null
        controlled.shutdown.enable = true
        controlled.shutdown.max.retries = 3
        controlled.shutdown.retry.backoff.ms = 5000
        controller.listener.names = null
        controller.quorum.append.linger.ms = 25
        controller.quorum.election.backoff.max.ms = 1000
        controller.quorum.election.timeout.ms = 1000
        controller.quorum.fetch.timeout.ms = 2000
        controller.quorum.request.timeout.ms = 2000
        controller.quorum.retry.backoff.ms = 20
        controller.quorum.voters = []
        controller.quota.window.num = 11
        controller.quota.window.size.seconds = 1
        controller.socket.timeout.ms = 30000
        create.topic.policy.class.name = null
        default.replication.factor = 1
        delegation.token.expiry.check.interval.ms = 3600000
        delegation.token.expiry.time.ms = 86400000
        delegation.token.master.key = null
        delegation.token.max.lifetime.ms = 604800000
        delegation.token.secret.key = null
        delete.records.purgatory.purge.interval.requests = 1
        delete.topic.enable = true
        fetch.max.bytes = 57671680
        fetch.purgatory.purge.interval.requests = 1000
        group.initial.rebalance.delay.ms = 0
        group.max.session.timeout.ms = 1800000
        group.max.size = 2147483647
        group.min.session.timeout.ms = 6000
        host.name = 
        initial.broker.registration.timeout.ms = 60000
        inter.broker.listener.name = null
        inter.broker.protocol.version = 2.8
        kafka.metrics.polling.interval.secs = 10
        kafka.metrics.reporters = []
        leader.imbalance.check.interval.seconds = 300
        leader.imbalance.per.broker.percentage = 10
        listener.security.protocol.map = 
PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
        listeners = 
PLAINTEXT://kafka1.my.domain:9092,SSL://kafka1.my.domain:9093
        log.cleaner.backoff.ms = 15000
        log.cleaner.dedupe.buffer.size = 134217728
        log.cleaner.delete.retention.ms = 100
        log.cleaner.enable = true
        log.cleaner.io.buffer.load.factor = 0.9
        log.cleaner.io.buffer.size = 524288
        log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
        log.cleaner.max.compaction.lag.ms = 9223372036854775807
        log.cleaner.min.cleanable.ratio = 0.5
        log.cleaner.min.compaction.lag.ms = 0
        log.cleaner.threads = 1
        log.cleanup.policy = [delete]
        log.dir = /tmp/kafka-logs
        log.dirs = /opt/kafka/data
        log.flush.interval.messages = 10000
        log.flush.interval.ms = 1000
        log.flush.offset.checkpoint.interval.ms = 60000
        log.flush.scheduler.interval.ms = 9223372036854775807
        log.flush.start.offset.checkpoint.interval.ms = 60000
        log.index.interval.bytes = 4096
        log.index.size.max.bytes = 10485760
        log.message.downconversion.enable = true
        log.message.format.version = 2.8-IV1
        log.message.timestamp.difference.max.ms = 9223372036854775807
        log.message.timestamp.type = CreateTime
        log.preallocate = false
        log.retention.bytes = -1
        log.retention.check.interval.ms = 300000
        log.retention.hours = 168
        log.retention.minutes = null
        log.retention.ms = null
        log.roll.hours = 168
        log.roll.jitter.hours = 0
        log.roll.jitter.ms = null
        log.roll.ms = null
        log.segment.bytes = 1000000
        log.segment.delete.delay.ms = 60000
        max.connection.creation.rate = 2147483647
        max.connections = 2147483647
        max.connections.per.ip = 2147483647
        max.connections.per.ip.overrides = 
        max.incremental.fetch.session.cache.slots = 1000
        message.max.bytes = 1048588
        metadata.log.dir = null
        metric.reporters = []
        metrics.num.samples = 2
        metrics.recording.level = INFO
        metrics.sample.window.ms = 30000
        min.insync.replicas = 1
        node.id = -1
        num.io.threads = 8
        num.network.threads = 3
        num.partitions = 1
        num.recovery.threads.per.data.dir = 1
        num.replica.alter.log.dirs.threads = null
        num.replica.fetchers = 1
        offset.metadata.max.bytes = 4096
        offsets.commit.required.acks = -1
        offsets.commit.timeout.ms = 5000
        offsets.load.buffer.size = 5242880
        offsets.retention.check.interval.ms = 600000
        offsets.retention.minutes = 10080
        offsets.topic.compression.codec = 0
        offsets.topic.num.partitions = 50
        offsets.topic.replication.factor = 2
        offsets.topic.segment.bytes = 104857600
        password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
        password.encoder.iterations = 4096
        password.encoder.key.length = 128
        password.encoder.keyfactory.algorithm = null
        password.encoder.old.secret = null
        password.encoder.secret = null
        port = 9092
        principal.builder.class = null
        process.roles = []
        producer.purgatory.purge.interval.requests = 1000
        queued.max.request.bytes = -1
        queued.max.requests = 500
        quota.consumer.default = 9223372036854775807
        quota.producer.default = 9223372036854775807
        quota.window.num = 11
        quota.window.size.seconds = 1
        replica.fetch.backoff.ms = 1000
        replica.fetch.max.bytes = 1048576
        replica.fetch.min.bytes = 1
        replica.fetch.response.max.bytes = 10485760
        replica.fetch.wait.max.ms = 500
        replica.high.watermark.checkpoint.interval.ms = 5000
        replica.lag.time.max.ms = 30000
        replica.selector.class = null
        replica.socket.receive.buffer.bytes = 65536
        replica.socket.timeout.ms = 30000
        replication.quota.window.num = 11
        replication.quota.window.size.seconds = 1
        request.timeout.ms = 30000
        reserved.broker.max.id = 1000
        sasl.client.callback.handler.class = null
        sasl.enabled.mechanisms = [GSSAPI]
        sasl.jaas.config = null
        sasl.kerberos.kinit.cmd = /usr/bin/kinit
        sasl.kerberos.min.time.before.relogin = 60000
        sasl.kerberos.principal.to.local.rules = [DEFAULT]
        sasl.kerberos.service.name = null
        sasl.kerberos.ticket.renew.jitter = 0.05
        sasl.kerberos.ticket.renew.window.factor = 0.8
        sasl.login.callback.handler.class = null
        sasl.login.class = null
        sasl.login.refresh.buffer.seconds = 300
        sasl.login.refresh.min.period.seconds = 60
        sasl.login.refresh.window.factor = 0.8
        sasl.login.refresh.window.jitter = 0.05
        sasl.mechanism.controller.protocol = GSSAPI
        sasl.mechanism.inter.broker.protocol = GSSAPI
        sasl.server.callback.handler.class = null
        security.inter.broker.protocol = SSL
        security.providers = null
        socket.connection.setup.timeout.max.ms = 30000
        socket.connection.setup.timeout.ms = 10000
        socket.receive.buffer.bytes = 102400
        socket.request.max.bytes = 10485760
        socket.send.buffer.bytes = 102400
        ssl.cipher.suites = [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
        ssl.client.auth = none
        ssl.enabled.protocols = [TLSv1.2]
        ssl.endpoint.identification.algorithm = 
        ssl.engine.factory.class = null
        ssl.key.password = [hidden]
        ssl.keymanager.algorithm = SunX509
        ssl.keystore.certificate.chain = null
        ssl.keystore.key = null
        ssl.keystore.location = /opt/kafka/kafka_server.keystore.jks
        ssl.keystore.password = [hidden]
        ssl.keystore.type = JKS
        ssl.principal.mapping.rules = DEFAULT
        ssl.protocol = TLSv1.2
        ssl.provider = null
        ssl.secure.random.implementation = SHA1PRNG
        ssl.trustmanager.algorithm = PKIX
        ssl.truststore.certificates = null
        ssl.truststore.location = /opt/kafka/kafka_server.truststore.jks
        ssl.truststore.password = [hidden]
        ssl.truststore.type = JKS
        transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000
        transaction.max.timeout.ms = 900000
        transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
        transaction.state.log.load.buffer.size = 5242880
        transaction.state.log.min.isr = 1
        transaction.state.log.num.partitions = 50
        transaction.state.log.replication.factor = 2
        transaction.state.log.segment.bytes = 104857600
        transactional.id.expiration.ms = 604800000
        unclean.leader.election.enable = false
        zookeeper.clientCnxnSocket = null
        zookeeper.connect = 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
        zookeeper.connection.timeout.ms = 8000
        zookeeper.max.in.flight.requests = 10
        zookeeper.session.timeout.ms = 18000
        zookeeper.set.acl = false
        zookeeper.ssl.cipher.suites = null
        zookeeper.ssl.client.enable = false
        zookeeper.ssl.crl.enable = false
        zookeeper.ssl.enabled.protocols = null
        zookeeper.ssl.endpoint.identification.algorithm = HTTPS
        zookeeper.ssl.keystore.location = null
        zookeeper.ssl.keystore.password = null
        zookeeper.ssl.keystore.type = null
        zookeeper.ssl.ocsp.enable = false
        zookeeper.ssl.protocol = TLSv1.2
        zookeeper.ssl.truststore.location = null
        zookeeper.ssl.truststore.password = null
        zookeeper.ssl.truststore.type = null
        zookeeper.sync.time.ms = 2000
 (kafka.server.KafkaConfig)
[2024-05-28 07:35:10,341] INFO KafkaConfig values: 
        advertised.host.name = null
        advertised.listeners = null
        advertised.port = null
        alter.config.policy.class.name = null
        alter.log.dirs.replication.quota.window.num = 11
        alter.log.dirs.replication.quota.window.size.seconds = 1
        authorizer.class.name = 
        auto.create.topics.enable = true
        auto.leader.rebalance.enable = true
        background.threads = 10
        broker.heartbeat.interval.ms = 2000
        broker.id = 1
        broker.id.generation.enable = true
        broker.rack = null
        broker.session.timeout.ms = 9000
        client.quota.callback.class = null
        compression.type = producer
        connection.failed.authentication.delay.ms = 100
        connections.max.idle.ms = 600000
        connections.max.reauth.ms = 0
        control.plane.listener.name = null
        controlled.shutdown.enable = true
        controlled.shutdown.max.retries = 3
        controlled.shutdown.retry.backoff.ms = 5000
        controller.listener.names = null
        controller.quorum.append.linger.ms = 25
        controller.quorum.election.backoff.max.ms = 1000
        controller.quorum.election.timeout.ms = 1000
        controller.quorum.fetch.timeout.ms = 2000
        controller.quorum.request.timeout.ms = 2000
        controller.quorum.retry.backoff.ms = 20
        controller.quorum.voters = []
        controller.quota.window.num = 11
        controller.quota.window.size.seconds = 1
        controller.socket.timeout.ms = 30000
        create.topic.policy.class.name = null
        default.replication.factor = 1
        delegation.token.expiry.check.interval.ms = 3600000
        delegation.token.expiry.time.ms = 86400000
        delegation.token.master.key = null
        delegation.token.max.lifetime.ms = 604800000
        delegation.token.secret.key = null
        delete.records.purgatory.purge.interval.requests = 1
        delete.topic.enable = true
        fetch.max.bytes = 57671680
        fetch.purgatory.purge.interval.requests = 1000
        group.initial.rebalance.delay.ms = 0
        group.max.session.timeout.ms = 1800000
        group.max.size = 2147483647
        group.min.session.timeout.ms = 6000
        host.name = 
        initial.broker.registration.timeout.ms = 60000
        inter.broker.listener.name = null
        inter.broker.protocol.version = 2.8
        kafka.metrics.polling.interval.secs = 10
        kafka.metrics.reporters = []
        leader.imbalance.check.interval.seconds = 300
        leader.imbalance.per.broker.percentage = 10
        listener.security.protocol.map = 
PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
        listeners = 
PLAINTEXT://kafka1.my.domain:9092,SSL://kafka1.my.domain:9093
        log.cleaner.backoff.ms = 15000
        log.cleaner.dedupe.buffer.size = 134217728
        log.cleaner.delete.retention.ms = 100
        log.cleaner.enable = true
        log.cleaner.io.buffer.load.factor = 0.9
        log.cleaner.io.buffer.size = 524288
        log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
        log.cleaner.max.compaction.lag.ms = 9223372036854775807
        log.cleaner.min.cleanable.ratio = 0.5
        log.cleaner.min.compaction.lag.ms = 0
        log.cleaner.threads = 1
        log.cleanup.policy = [delete]
        log.dir = /tmp/kafka-logs
        log.dirs = /opt/kafka/data
        log.flush.interval.messages = 10000
        log.flush.interval.ms = 1000
        log.flush.offset.checkpoint.interval.ms = 60000
        log.flush.scheduler.interval.ms = 9223372036854775807
        log.flush.start.offset.checkpoint.interval.ms = 60000
        log.index.interval.bytes = 4096
        log.index.size.max.bytes = 10485760
        log.message.downconversion.enable = true
        log.message.format.version = 2.8-IV1
        log.message.timestamp.difference.max.ms = 9223372036854775807
        log.message.timestamp.type = CreateTime
        log.preallocate = false
        log.retention.bytes = -1
        log.retention.check.interval.ms = 300000
        log.retention.hours = 168
        log.retention.minutes = null
        log.retention.ms = null
        log.roll.hours = 168
        log.roll.jitter.hours = 0
        log.roll.jitter.ms = null
        log.roll.ms = null
        log.segment.bytes = 1000000
        log.segment.delete.delay.ms = 60000
        max.connection.creation.rate = 2147483647
        max.connections = 2147483647
        max.connections.per.ip = 2147483647
        max.connections.per.ip.overrides = 
        max.incremental.fetch.session.cache.slots = 1000
        message.max.bytes = 1048588
        metadata.log.dir = null
        metric.reporters = []
        metrics.num.samples = 2
        metrics.recording.level = INFO
        metrics.sample.window.ms = 30000
        min.insync.replicas = 1
        node.id = -1
        num.io.threads = 8
        num.network.threads = 3
        num.partitions = 1
        num.recovery.threads.per.data.dir = 1
        num.replica.alter.log.dirs.threads = null
        num.replica.fetchers = 1
        offset.metadata.max.bytes = 4096
        offsets.commit.required.acks = -1
        offsets.commit.timeout.ms = 5000
        offsets.load.buffer.size = 5242880
        offsets.retention.check.interval.ms = 600000
        offsets.retention.minutes = 10080
        offsets.topic.compression.codec = 0
        offsets.topic.num.partitions = 50
        offsets.topic.replication.factor = 2
        offsets.topic.segment.bytes = 104857600
        password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
        password.encoder.iterations = 4096
        password.encoder.key.length = 128
        password.encoder.keyfactory.algorithm = null
        password.encoder.old.secret = null
        password.encoder.secret = null
        port = 9092
        principal.builder.class = null
        process.roles = []
        producer.purgatory.purge.interval.requests = 1000
        queued.max.request.bytes = -1
        queued.max.requests = 500
        quota.consumer.default = 9223372036854775807
        quota.producer.default = 9223372036854775807
        quota.window.num = 11
        quota.window.size.seconds = 1
        replica.fetch.backoff.ms = 1000
        replica.fetch.max.bytes = 1048576
        replica.fetch.min.bytes = 1
        replica.fetch.response.max.bytes = 10485760
        replica.fetch.wait.max.ms = 500
        replica.high.watermark.checkpoint.interval.ms = 5000
        replica.lag.time.max.ms = 30000
        replica.selector.class = null
        replica.socket.receive.buffer.bytes = 65536
        replica.socket.timeout.ms = 30000
        replication.quota.window.num = 11
        replication.quota.window.size.seconds = 1
        request.timeout.ms = 30000
        reserved.broker.max.id = 1000
        sasl.client.callback.handler.class = null
        sasl.enabled.mechanisms = [GSSAPI]
        sasl.jaas.config = null
        sasl.kerberos.kinit.cmd = /usr/bin/kinit
        sasl.kerberos.min.time.before.relogin = 60000
        sasl.kerberos.principal.to.local.rules = [DEFAULT]
        sasl.kerberos.service.name = null
        sasl.kerberos.ticket.renew.jitter = 0.05
        sasl.kerberos.ticket.renew.window.factor = 0.8
        sasl.login.callback.handler.class = null
        sasl.login.class = null
        sasl.login.refresh.buffer.seconds = 300
        sasl.login.refresh.min.period.seconds = 60
        sasl.login.refresh.window.factor = 0.8
        sasl.login.refresh.window.jitter = 0.05
        sasl.mechanism.controller.protocol = GSSAPI
        sasl.mechanism.inter.broker.protocol = GSSAPI
        sasl.server.callback.handler.class = null
        security.inter.broker.protocol = SSL
        security.providers = null
        socket.connection.setup.timeout.max.ms = 30000
        socket.connection.setup.timeout.ms = 10000
        socket.receive.buffer.bytes = 102400
        socket.request.max.bytes = 10485760
        socket.send.buffer.bytes = 102400
        ssl.cipher.suites = [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
        ssl.client.auth = none
        ssl.enabled.protocols = [TLSv1.2]
        ssl.endpoint.identification.algorithm = 
        ssl.engine.factory.class = null
        ssl.key.password = [hidden]
        ssl.keymanager.algorithm = SunX509
        ssl.keystore.certificate.chain = null
        ssl.keystore.key = null
        ssl.keystore.location = /opt/kafka/kafka_server.keystore.jks
        ssl.keystore.password = [hidden]
        ssl.keystore.type = JKS
        ssl.principal.mapping.rules = DEFAULT
        ssl.protocol = TLSv1.2
        ssl.provider = null
        ssl.secure.random.implementation = SHA1PRNG
        ssl.trustmanager.algorithm = PKIX
        ssl.truststore.certificates = null
        ssl.truststore.location = /opt/kafka/kafka_server.truststore.jks
        ssl.truststore.password = [hidden]
        ssl.truststore.type = JKS
        transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000
        transaction.max.timeout.ms = 900000
        transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
        transaction.state.log.load.buffer.size = 5242880
        transaction.state.log.min.isr = 1
        transaction.state.log.num.partitions = 50
        transaction.state.log.replication.factor = 2
        transaction.state.log.segment.bytes = 104857600
        transactional.id.expiration.ms = 604800000
        unclean.leader.election.enable = false
        zookeeper.clientCnxnSocket = null
        zookeeper.connect = 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
        zookeeper.connection.timeout.ms = 8000
        zookeeper.max.in.flight.requests = 10
        zookeeper.session.timeout.ms = 18000
        zookeeper.set.acl = false
        zookeeper.ssl.cipher.suites = null
        zookeeper.ssl.client.enable = false
        zookeeper.ssl.crl.enable = false
        zookeeper.ssl.enabled.protocols = null
        zookeeper.ssl.endpoint.identification.algorithm = HTTPS
        zookeeper.ssl.keystore.location = null
        zookeeper.ssl.keystore.password = null
        zookeeper.ssl.keystore.type = null
        zookeeper.ssl.ocsp.enable = false
        zookeeper.ssl.protocol = TLSv1.2
        zookeeper.ssl.truststore.location = null
        zookeeper.ssl.truststore.password = null
        zookeeper.ssl.truststore.type = null
        zookeeper.sync.time.ms = 2000
 (kafka.server.KafkaConfig)
[2024-05-28 07:35:10,352] DEBUG Initializing task scheduler. 
(kafka.utils.KafkaScheduler)
[2024-05-28 07:35:10,388] INFO [ThrottledChannelReaper-Fetch]: Starting 
(kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2024-05-28 07:35:10,388] INFO [ThrottledChannelReaper-Produce]: Starting 
(kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2024-05-28 07:35:10,389] INFO [ThrottledChannelReaper-Request]: Starting 
(kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2024-05-28 07:35:10,390] INFO [ThrottledChannelReaper-ControllerMutation]: 
Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2024-05-28 07:35:10,402] ERROR Failed to create or validate data directory 
/opt/kafka/data (kafka.server.LogDirFailureChannel)
java.io.IOException: Failed to load /opt/kafka/data during broker startup
        at 
kafka.log.LogManager.$anonfun$createAndValidateLogDirs$1(LogManager.scala:146)
        at 
scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
        at 
scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
        at kafka.log.LogManager.createAndValidateLogDirs(LogManager.scala:143)
        at kafka.log.LogManager.<init>(LogManager.scala:82)
        at kafka.log.LogManager$.apply(LogManager.scala:1238)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:249)
        at kafka.Kafka$.main(Kafka.scala:109)
        at kafka.Kafka.main(Kafka.scala){code}
The setup is done via ansible, so no way to make a different setup or mistakes.
`/opt/kafka/data` exists and the user running kafka has write permission.

What else I can do to debug this issue?
Thanks in advance

  was:
I'm running a kafka-2.8.1 cluster with 5 machines.
For how it is configured (I have set a replica of 3) I can completely destroy a 
machine and re-create it from scratch. After have re-created it, it joins again 
the cluster and everything works as before.

So, right now I'm trying to migrate the host from CentOS-7 to RockyLinux-9. The 
idea was destroy and re-create the machines one-by-one.

I have increased the loglevel to DEBUG and this is what I get:



```
[2024-05-28 07:35:09,287] INFO Registered kafka:type=kafka.Log4jController 
MBean (kafka.utils.Log4jControllerRegistration$) 
[2024-05-28 07:35:09,676] INFO Registered signal handlers for TERM, INT, HUP 
(org.apache.kafka.common.utils.LoggingSignalHandler) 
[2024-05-28 07:35:09,680] INFO starting (kafka.server.KafkaServer) 
[2024-05-28 07:35:09,680] INFO Connecting to zookeeper on 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:
2281 (kafka.server.KafkaServer) 
[2024-05-28 07:35:09,681] DEBUG Checking login config for Zookeeper JAAS 
context [java.security.auth.login.config=null, 
zookeeper.sasl.client=default:true, zookeeper.sasl.clientconfig
=default:Client] (org.apache.kafka.common.security.JaasUtils) 
[2024-05-28 07:35:09,695] INFO [ZooKeeperClient Kafka server] Initializing a 
new session to 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my
.domain:2281,zookeeper5.my.domain:2281. (kafka.zookeeper.ZooKeeperClient) 
[2024-05-28 07:35:09,758] DEBUG Initializing task scheduler. 
(kafka.utils.KafkaScheduler) 
[2024-05-28 07:35:09,759] INFO [ZooKeeperClient Kafka server] Waiting until 
connected. (kafka.zookeeper.ZooKeeperClient) 
[2024-05-28 07:35:10,051] DEBUG [ZooKeeperClient Kafka server] Received event: 
WatchedEvent state:SyncConnected type:None path:null 
(kafka.zookeeper.ZooKeeperClient) 
[2024-05-28 07:35:10,053] INFO [ZooKeeperClient Kafka server] Connected. 
(kafka.zookeeper.ZooKeeperClient) 
[2024-05-28 07:35:10,139] INFO [feature-zk-node-event-process-thread]: Starting 
(kafka.server.FinalizedFeatureChangeListener$ChangeNotificationProcessorThread) 
[2024-05-28 07:35:10,144] DEBUG Reading feature ZK node at path: /feature 
(kafka.server.FinalizedFeatureChangeListener) 
[2024-05-28 07:35:10,251] INFO Updated cache from existing <empty> to latest 
FinalizedFeaturesAndEpoch(features=Features{}, epoch=1). 
(kafka.server.FinalizedFeatureCache) 
[2024-05-28 07:35:10,255] INFO Cluster ID = 3G4teZlrS-uT6-Sk5MkbPQ 
(kafka.server.KafkaServer) 
[2024-05-28 07:35:10,258] ERROR Failed to read /opt/kafka/data/meta.properties 
(kafka.server.BrokerMetadataCheckpoint$) 
java.nio.file.AccessDeniedException: /opt/kafka/data/meta.properties.tmp 
       at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) 
       at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 
       at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 
       at 
sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244) 
       at 
sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108)
 
       at java.nio.file.Files.deleteIfExists(Files.java:1165) 
       at 
kafka.server.BrokerMetadataCheckpoint.read(BrokerMetadataCheckpoint.scala:224) 
       at 
kafka.server.BrokerMetadataCheckpoint$.$anonfun$getBrokerMetadataAndOfflineDirs$2(BrokerMetadataCheckpoint.scala:158)
 
       at 
scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36) 
       at 
scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33) 
       at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38) 
       at 
kafka.server.BrokerMetadataCheckpoint$.getBrokerMetadataAndOfflineDirs(BrokerMetadataCheckpoint.scala:153)
 
       at kafka.server.KafkaServer.startup(KafkaServer.scala:206) 
       at kafka.Kafka$.main(Kafka.scala:109) 
       at kafka.Kafka.main(Kafka.scala) 
[2024-05-28 07:35:10,326] INFO KafkaConfig values:  
       advertised.host.name = null 
       advertised.listeners = null 
       advertised.port = null 
       alter.config.policy.class.name = null 
       alter.log.dirs.replication.quota.window.num = 11 
       alter.log.dirs.replication.quota.window.size.seconds = 1 
       authorizer.class.name =  
       auto.create.topics.enable = true 
       auto.leader.rebalance.enable = true 
       background.threads = 10 
       broker.heartbeat.interval.ms = 2000 
       broker.id = 1 
       broker.id.generation.enable = true 
       broker.rack = null 
       broker.session.timeout.ms = 9000 
       client.quota.callback.class = null 
       compression.type = producer 
       connection.failed.authentication.delay.ms = 100 
       connections.max.idle.ms = 600000 
       connections.max.reauth.ms = 0 
       control.plane.listener.name = null 
       controlled.shutdown.enable = true 
       controlled.shutdown.max.retries = 3 
       controlled.shutdown.retry.backoff.ms = 5000 
       controller.listener.names = null 
       controller.quorum.append.linger.ms = 25 
       controller.quorum.election.backoff.max.ms = 1000 
       controller.quorum.election.timeout.ms = 1000 
       controller.quorum.fetch.timeout.ms = 2000 
       controller.quorum.request.timeout.ms = 2000 
       controller.quorum.retry.backoff.ms = 20 
       controller.quorum.voters = [] 
       controller.quota.window.num = 11 
       controller.quota.window.size.seconds = 1 
       controller.socket.timeout.ms = 30000 
       create.topic.policy.class.name = null 
       default.replication.factor = 1 
       delegation.token.expiry.check.interval.ms = 3600000 
       delegation.token.expiry.time.ms = 86400000 
       delegation.token.master.key = null 
       delegation.token.max.lifetime.ms = 604800000 
       delegation.token.secret.key = null 
       delete.records.purgatory.purge.interval.requests = 1 
       delete.topic.enable = true 
       fetch.max.bytes = 57671680 
       fetch.purgatory.purge.interval.requests = 1000 
       group.initial.rebalance.delay.ms = 0 
       group.max.session.timeout.ms = 1800000 
       group.max.size = 2147483647 
       group.min.session.timeout.ms = 6000 
       host.name =  
       initial.broker.registration.timeout.ms = 60000 
       inter.broker.listener.name = null 
       inter.broker.protocol.version = 2.8 
       kafka.metrics.polling.interval.secs = 10 
       kafka.metrics.reporters = [] 
       leader.imbalance.check.interval.seconds = 300 
       leader.imbalance.per.broker.percentage = 10 
       listener.security.protocol.map = 
PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL 
       listeners = 
PLAINTEXT://kafka1.my.domain:9092,SSL://kafka1.my.domain:9093 
       log.cleaner.backoff.ms = 15000 
       log.cleaner.dedupe.buffer.size = 134217728 
       log.cleaner.delete.retention.ms = 100 
       log.cleaner.enable = true 
       log.cleaner.io.buffer.load.factor = 0.9 
       log.cleaner.io.buffer.size = 524288 
       log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308 
       log.cleaner.max.compaction.lag.ms = 9223372036854775807 
       log.cleaner.min.cleanable.ratio = 0.5 
       log.cleaner.min.compaction.lag.ms = 0 
       log.cleaner.threads = 1 
       log.cleanup.policy = [delete] 
       log.dir = /tmp/kafka-logs 
       log.dirs = /opt/kafka/data 
       log.flush.interval.messages = 10000 
       log.flush.interval.ms = 1000 
       log.flush.offset.checkpoint.interval.ms = 60000 
       log.flush.scheduler.interval.ms = 9223372036854775807 
       log.flush.start.offset.checkpoint.interval.ms = 60000 
       log.index.interval.bytes = 4096 
       log.index.size.max.bytes = 10485760 
       log.message.downconversion.enable = true 
       log.message.format.version = 2.8-IV1 
       log.message.timestamp.difference.max.ms = 9223372036854775807 
       log.message.timestamp.type = CreateTime 
       log.preallocate = false 
       log.retention.bytes = -1 
       log.retention.check.interval.ms = 300000 
       log.retention.hours = 168 
       log.retention.minutes = null 
       log.retention.ms = null 
       log.roll.hours = 168 
       log.roll.jitter.hours = 0 
       log.roll.jitter.ms = null 
       log.roll.ms = null 
       log.segment.bytes = 1000000 
       log.segment.delete.delay.ms = 60000 
       max.connection.creation.rate = 2147483647 
       max.connections = 2147483647 
       max.connections.per.ip = 2147483647 
       max.connections.per.ip.overrides =  
       max.incremental.fetch.session.cache.slots = 1000 
       message.max.bytes = 1048588 
       metadata.log.dir = null 
       metric.reporters = [] 
       metrics.num.samples = 2 
       metrics.recording.level = INFO 
       metrics.sample.window.ms = 30000 
       min.insync.replicas = 1 
       node.id = -1 
       num.io.threads = 8 
       num.network.threads = 3 
       num.partitions = 1 
       num.recovery.threads.per.data.dir = 1 
       num.replica.alter.log.dirs.threads = null 
       num.replica.fetchers = 1 
       offset.metadata.max.bytes = 4096 
       offsets.commit.required.acks = -1 
       offsets.commit.timeout.ms = 5000 
       offsets.load.buffer.size = 5242880 
       offsets.retention.check.interval.ms = 600000 
       offsets.retention.minutes = 10080 
       offsets.topic.compression.codec = 0 
       offsets.topic.num.partitions = 50 
       offsets.topic.replication.factor = 2 
       offsets.topic.segment.bytes = 104857600 
       password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding 
       password.encoder.iterations = 4096 
       password.encoder.key.length = 128 
       password.encoder.keyfactory.algorithm = null 
       password.encoder.old.secret = null 
       password.encoder.secret = null 
       port = 9092 
       principal.builder.class = null 
       process.roles = [] 
       producer.purgatory.purge.interval.requests = 1000 
       queued.max.request.bytes = -1 
       queued.max.requests = 500 
       quota.consumer.default = 9223372036854775807 
       quota.producer.default = 9223372036854775807 
       quota.window.num = 11 
       quota.window.size.seconds = 1 
       replica.fetch.backoff.ms = 1000 
       replica.fetch.max.bytes = 1048576 
       replica.fetch.min.bytes = 1 
       replica.fetch.response.max.bytes = 10485760 
       replica.fetch.wait.max.ms = 500 
       replica.high.watermark.checkpoint.interval.ms = 5000 
       replica.lag.time.max.ms = 30000 
       replica.selector.class = null 
       replica.socket.receive.buffer.bytes = 65536 
       replica.socket.timeout.ms = 30000 
       replication.quota.window.num = 11 
       replication.quota.window.size.seconds = 1 
       request.timeout.ms = 30000 
       reserved.broker.max.id = 1000 
       sasl.client.callback.handler.class = null 
       sasl.enabled.mechanisms = [GSSAPI] 
       sasl.jaas.config = null 
       sasl.kerberos.kinit.cmd = /usr/bin/kinit 
       sasl.kerberos.min.time.before.relogin = 60000 
       sasl.kerberos.principal.to.local.rules = [DEFAULT] 
       sasl.kerberos.service.name = null 
       sasl.kerberos.ticket.renew.jitter = 0.05 
       sasl.kerberos.ticket.renew.window.factor = 0.8 
       sasl.login.callback.handler.class = null 
       sasl.login.class = null 
       sasl.login.refresh.buffer.seconds = 300 
       sasl.login.refresh.min.period.seconds = 60 
       sasl.login.refresh.window.factor = 0.8 
       sasl.login.refresh.window.jitter = 0.05 
       sasl.mechanism.controller.protocol = GSSAPI 
       sasl.mechanism.inter.broker.protocol = GSSAPI 
       sasl.server.callback.handler.class = null 
       security.inter.broker.protocol = SSL 
       security.providers = null 
       socket.connection.setup.timeout.max.ms = 30000 
       socket.connection.setup.timeout.ms = 10000 
       socket.receive.buffer.bytes = 102400 
       socket.request.max.bytes = 10485760 
       socket.send.buffer.bytes = 102400 
       ssl.cipher.suites = [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384] 
       ssl.client.auth = none 
       ssl.enabled.protocols = [TLSv1.2] 
       ssl.endpoint.identification.algorithm =  
       ssl.engine.factory.class = null 
       ssl.key.password = [hidden] 
       ssl.keymanager.algorithm = SunX509 
       ssl.keystore.certificate.chain = null 
       ssl.keystore.key = null 
       ssl.keystore.location = /opt/kafka/kafka_server.keystore.jks 
       ssl.keystore.password = [hidden] 
       ssl.keystore.type = JKS 
       ssl.principal.mapping.rules = DEFAULT 
       ssl.protocol = TLSv1.2 
       ssl.provider = null 
       ssl.secure.random.implementation = SHA1PRNG 
       ssl.trustmanager.algorithm = PKIX 
       ssl.truststore.certificates = null 
       ssl.truststore.location = /opt/kafka/kafka_server.truststore.jks 
       ssl.truststore.password = [hidden] 
       ssl.truststore.type = JKS 
       transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000 
       transaction.max.timeout.ms = 900000 
       transaction.remove.expired.transaction.cleanup.interval.ms = 3600000 
       transaction.state.log.load.buffer.size = 5242880 
       transaction.state.log.min.isr = 1 
       transaction.state.log.num.partitions = 50 
       transaction.state.log.replication.factor = 2 
       transaction.state.log.segment.bytes = 104857600 
       transactional.id.expiration.ms = 604800000 
       unclean.leader.election.enable = false 
       zookeeper.clientCnxnSocket = null 
       zookeeper.connect = 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
 
       zookeeper.connection.timeout.ms = 8000 
       zookeeper.max.in.flight.requests = 10 
       zookeeper.session.timeout.ms = 18000 
       zookeeper.set.acl = false 
       zookeeper.ssl.cipher.suites = null 
       zookeeper.ssl.client.enable = false 
       zookeeper.ssl.crl.enable = false 
       zookeeper.ssl.enabled.protocols = null 
       zookeeper.ssl.endpoint.identification.algorithm = HTTPS 
       zookeeper.ssl.keystore.location = null 
       zookeeper.ssl.keystore.password = null 
       zookeeper.ssl.keystore.type = null 
       zookeeper.ssl.ocsp.enable = false 
       zookeeper.ssl.protocol = TLSv1.2 
       zookeeper.ssl.truststore.location = null 
       zookeeper.ssl.truststore.password = null 
       zookeeper.ssl.truststore.type = null 
       zookeeper.sync.time.ms = 2000 
(kafka.server.KafkaConfig) 
[2024-05-28 07:35:10,341] INFO KafkaConfig values:  
       advertised.host.name = null 
       advertised.listeners = null 
       advertised.port = null 
       alter.config.policy.class.name = null 
       alter.log.dirs.replication.quota.window.num = 11 
       alter.log.dirs.replication.quota.window.size.seconds = 1 
       authorizer.class.name =  
       auto.create.topics.enable = true 
       auto.leader.rebalance.enable = true 
       background.threads = 10 
       broker.heartbeat.interval.ms = 2000 
       broker.id = 1 
       broker.id.generation.enable = true 
       broker.rack = null 
       broker.session.timeout.ms = 9000 
       client.quota.callback.class = null 
       compression.type = producer 
       connection.failed.authentication.delay.ms = 100 
       connections.max.idle.ms = 600000 
       connections.max.reauth.ms = 0 
       control.plane.listener.name = null 
       controlled.shutdown.enable = true 
       controlled.shutdown.max.retries = 3 
       controlled.shutdown.retry.backoff.ms = 5000 
       controller.listener.names = null 
       controller.quorum.append.linger.ms = 25 
       controller.quorum.election.backoff.max.ms = 1000 
       controller.quorum.election.timeout.ms = 1000 
       controller.quorum.fetch.timeout.ms = 2000 
       controller.quorum.request.timeout.ms = 2000 
       controller.quorum.retry.backoff.ms = 20 
       controller.quorum.voters = [] 
       controller.quota.window.num = 11 
       controller.quota.window.size.seconds = 1 
       controller.socket.timeout.ms = 30000 
       create.topic.policy.class.name = null 
       default.replication.factor = 1 
       delegation.token.expiry.check.interval.ms = 3600000 
       delegation.token.expiry.time.ms = 86400000 
       delegation.token.master.key = null 
       delegation.token.max.lifetime.ms = 604800000 
       delegation.token.secret.key = null 
       delete.records.purgatory.purge.interval.requests = 1 
       delete.topic.enable = true 
       fetch.max.bytes = 57671680 
       fetch.purgatory.purge.interval.requests = 1000 
       group.initial.rebalance.delay.ms = 0 
       group.max.session.timeout.ms = 1800000 
       group.max.size = 2147483647 
       group.min.session.timeout.ms = 6000 
       host.name =  
       initial.broker.registration.timeout.ms = 60000 
       inter.broker.listener.name = null 
       inter.broker.protocol.version = 2.8 
       kafka.metrics.polling.interval.secs = 10 
       kafka.metrics.reporters = [] 
       leader.imbalance.check.interval.seconds = 300 
       leader.imbalance.per.broker.percentage = 10 
       listener.security.protocol.map = 
PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL 
       listeners = 
PLAINTEXT://kafka1.my.domain:9092,SSL://kafka1.my.domain:9093 
       log.cleaner.backoff.ms = 15000 
       log.cleaner.dedupe.buffer.size = 134217728 
       log.cleaner.delete.retention.ms = 100 
       log.cleaner.enable = true 
       log.cleaner.io.buffer.load.factor = 0.9 
       log.cleaner.io.buffer.size = 524288 
       log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308 
       log.cleaner.max.compaction.lag.ms = 9223372036854775807 
       log.cleaner.min.cleanable.ratio = 0.5 
       log.cleaner.min.compaction.lag.ms = 0 
       log.cleaner.threads = 1 
       log.cleanup.policy = [delete] 
       log.dir = /tmp/kafka-logs 
       log.dirs = /opt/kafka/data 
       log.flush.interval.messages = 10000 
       log.flush.interval.ms = 1000 
       log.flush.offset.checkpoint.interval.ms = 60000 
       log.flush.scheduler.interval.ms = 9223372036854775807 
       log.flush.start.offset.checkpoint.interval.ms = 60000 
       log.index.interval.bytes = 4096 
       log.index.size.max.bytes = 10485760 
       log.message.downconversion.enable = true 
       log.message.format.version = 2.8-IV1 
       log.message.timestamp.difference.max.ms = 9223372036854775807 
       log.message.timestamp.type = CreateTime 
       log.preallocate = false 
       log.retention.bytes = -1 
       log.retention.check.interval.ms = 300000 
       log.retention.hours = 168 
       log.retention.minutes = null 
       log.retention.ms = null 
       log.roll.hours = 168 
       log.roll.jitter.hours = 0 
       log.roll.jitter.ms = null 
       log.roll.ms = null 
       log.segment.bytes = 1000000 
       log.segment.delete.delay.ms = 60000 
       max.connection.creation.rate = 2147483647 
       max.connections = 2147483647 
       max.connections.per.ip = 2147483647 
       max.connections.per.ip.overrides =  
       max.incremental.fetch.session.cache.slots = 1000 
       message.max.bytes = 1048588 
       metadata.log.dir = null 
       metric.reporters = [] 
       metrics.num.samples = 2 
       metrics.recording.level = INFO 
       metrics.sample.window.ms = 30000 
       min.insync.replicas = 1 
       node.id = -1 
       num.io.threads = 8 
       num.network.threads = 3 
       num.partitions = 1 
       num.recovery.threads.per.data.dir = 1 
       num.replica.alter.log.dirs.threads = null 
       num.replica.fetchers = 1 
       offset.metadata.max.bytes = 4096 
       offsets.commit.required.acks = -1 
       offsets.commit.timeout.ms = 5000 
       offsets.load.buffer.size = 5242880 
       offsets.retention.check.interval.ms = 600000 
       offsets.retention.minutes = 10080 
       offsets.topic.compression.codec = 0 
       offsets.topic.num.partitions = 50 
       offsets.topic.replication.factor = 2 
       offsets.topic.segment.bytes = 104857600 
       password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding 
       password.encoder.iterations = 4096 
       password.encoder.key.length = 128 
       password.encoder.keyfactory.algorithm = null 
       password.encoder.old.secret = null 
       password.encoder.secret = null 
       port = 9092 
       principal.builder.class = null 
       process.roles = [] 
       producer.purgatory.purge.interval.requests = 1000 
       queued.max.request.bytes = -1 
       queued.max.requests = 500 
       quota.consumer.default = 9223372036854775807 
       quota.producer.default = 9223372036854775807 
       quota.window.num = 11 
       quota.window.size.seconds = 1 
       replica.fetch.backoff.ms = 1000 
       replica.fetch.max.bytes = 1048576 
       replica.fetch.min.bytes = 1 
       replica.fetch.response.max.bytes = 10485760 
       replica.fetch.wait.max.ms = 500 
       replica.high.watermark.checkpoint.interval.ms = 5000 
       replica.lag.time.max.ms = 30000 
       replica.selector.class = null 
       replica.socket.receive.buffer.bytes = 65536 
       replica.socket.timeout.ms = 30000 
       replication.quota.window.num = 11 
       replication.quota.window.size.seconds = 1 
       request.timeout.ms = 30000 
       reserved.broker.max.id = 1000 
       sasl.client.callback.handler.class = null 
       sasl.enabled.mechanisms = [GSSAPI] 
       sasl.jaas.config = null 
       sasl.kerberos.kinit.cmd = /usr/bin/kinit 
       sasl.kerberos.min.time.before.relogin = 60000 
       sasl.kerberos.principal.to.local.rules = [DEFAULT] 
       sasl.kerberos.service.name = null 
       sasl.kerberos.ticket.renew.jitter = 0.05 
       sasl.kerberos.ticket.renew.window.factor = 0.8 
       sasl.login.callback.handler.class = null 
       sasl.login.class = null 
       sasl.login.refresh.buffer.seconds = 300 
       sasl.login.refresh.min.period.seconds = 60 
       sasl.login.refresh.window.factor = 0.8 
       sasl.login.refresh.window.jitter = 0.05 
       sasl.mechanism.controller.protocol = GSSAPI 
       sasl.mechanism.inter.broker.protocol = GSSAPI 
       sasl.server.callback.handler.class = null 
       security.inter.broker.protocol = SSL 
       security.providers = null 
       socket.connection.setup.timeout.max.ms = 30000 
       socket.connection.setup.timeout.ms = 10000 
       socket.receive.buffer.bytes = 102400 
       socket.request.max.bytes = 10485760 
       socket.send.buffer.bytes = 102400 
       ssl.cipher.suites = [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384] 
       ssl.client.auth = none 
       ssl.enabled.protocols = [TLSv1.2] 
       ssl.endpoint.identification.algorithm =  
       ssl.engine.factory.class = null 
       ssl.key.password = [hidden] 
       ssl.keymanager.algorithm = SunX509 
       ssl.keystore.certificate.chain = null 
       ssl.keystore.key = null 
       ssl.keystore.location = /opt/kafka/kafka_server.keystore.jks 
       ssl.keystore.password = [hidden] 
       ssl.keystore.type = JKS 
       ssl.principal.mapping.rules = DEFAULT 
       ssl.protocol = TLSv1.2 
       ssl.provider = null 
       ssl.secure.random.implementation = SHA1PRNG 
       ssl.trustmanager.algorithm = PKIX 
       ssl.truststore.certificates = null 
       ssl.truststore.location = /opt/kafka/kafka_server.truststore.jks 
       ssl.truststore.password = [hidden] 
       ssl.truststore.type = JKS 
       transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000 
       transaction.max.timeout.ms = 900000 
       transaction.remove.expired.transaction.cleanup.interval.ms = 3600000 
       transaction.state.log.load.buffer.size = 5242880 
       transaction.state.log.min.isr = 1 
       transaction.state.log.num.partitions = 50 
       transaction.state.log.replication.factor = 2 
       transaction.state.log.segment.bytes = 104857600 
       transactional.id.expiration.ms = 604800000 
       unclean.leader.election.enable = false 
       zookeeper.clientCnxnSocket = null 
       zookeeper.connect = 
zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
 
       zookeeper.connection.timeout.ms = 8000 
       zookeeper.max.in.flight.requests = 10 
       zookeeper.session.timeout.ms = 18000 
       zookeeper.set.acl = false 
       zookeeper.ssl.cipher.suites = null 
       zookeeper.ssl.client.enable = false 
       zookeeper.ssl.crl.enable = false 
       zookeeper.ssl.enabled.protocols = null 
       zookeeper.ssl.endpoint.identification.algorithm = HTTPS 
       zookeeper.ssl.keystore.location = null 
       zookeeper.ssl.keystore.password = null 
       zookeeper.ssl.keystore.type = null 
       zookeeper.ssl.ocsp.enable = false 
       zookeeper.ssl.protocol = TLSv1.2 
       zookeeper.ssl.truststore.location = null 
       zookeeper.ssl.truststore.password = null 
       zookeeper.ssl.truststore.type = null 
       zookeeper.sync.time.ms = 2000 
(kafka.server.KafkaConfig) 
[2024-05-28 07:35:10,352] DEBUG Initializing task scheduler. 
(kafka.utils.KafkaScheduler) 
[2024-05-28 07:35:10,388] INFO [ThrottledChannelReaper-Fetch]: Starting 
(kafka.server.ClientQuotaManager$ThrottledChannelReaper) 
[2024-05-28 07:35:10,388] INFO [ThrottledChannelReaper-Produce]: Starting 
(kafka.server.ClientQuotaManager$ThrottledChannelReaper) 
[2024-05-28 07:35:10,389] INFO [ThrottledChannelReaper-Request]: Starting 
(kafka.server.ClientQuotaManager$ThrottledChannelReaper) 
[2024-05-28 07:35:10,390] INFO [ThrottledChannelReaper-ControllerMutation]: 
Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper) 
[2024-05-28 07:35:10,402] ERROR Failed to create or validate data directory 
/opt/kafka/data (kafka.server.LogDirFailureChannel) 
java.io.IOException: Failed to load /opt/kafka/data during broker startup 
       at 
kafka.log.LogManager.$anonfun$createAndValidateLogDirs$1(LogManager.scala:146) 
       at 
scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62) 
       at 
scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55) 
       at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49) 
       at kafka.log.LogManager.createAndValidateLogDirs(LogManager.scala:143) 
       at kafka.log.LogManager.<init>(LogManager.scala:82) 
       at kafka.log.LogManager$.apply(LogManager.scala:1238) 
       at kafka.server.KafkaServer.startup(KafkaServer.scala:249) 
       at kafka.Kafka$.main(Kafka.scala:109) 
       at kafka.Kafka.main(Kafka.scala)
```

The setup is done via ansible, so no way to make a different setup or mistakes.
`/opt/kafka/data` exists and the user running kafka has write permission.

What else I can do to debug this issue?
Thanks in advance


> ERROR Failed to read /opt/kafka/data/meta.properties
> ----------------------------------------------------
>
>                 Key: KAFKA-16849
>                 URL: https://issues.apache.org/jira/browse/KAFKA-16849
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 2.8.1
>         Environment: RockyLinux-9
> openjdk version "1.8.0_412"
>            Reporter: Agostino Sarubbo
>            Priority: Major
>
> I'm running a kafka-2.8.1 cluster with 5 machines.
> For how it is configured (I have set a replica of 3) I can completely destroy 
> a machine and re-create it from scratch. After have re-created it, it joins 
> again the cluster and everything works as before.
> So, right now I'm trying to migrate the host from CentOS-7 to RockyLinux-9. 
> The idea was destroy and re-create the machines one-by-one.
> I have increased the loglevel to DEBUG and this is what I get:
> {code:java}
> [2024-05-28 07:35:09,287] INFO Registered kafka:type=kafka.Log4jController 
> MBean (kafka.utils.Log4jControllerRegistration$)
> [2024-05-28 07:35:09,676] INFO Registered signal handlers for TERM, INT, HUP 
> (org.apache.kafka.common.utils.LoggingSignalHandler)
> [2024-05-28 07:35:09,680] INFO starting (kafka.server.KafkaServer)
> [2024-05-28 07:35:09,680] INFO Connecting to zookeeper on 
> zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
>  (kafka.server.KafkaServer)
> [2024-05-28 07:35:09,681] DEBUG Checking login config for Zookeeper JAAS 
> context [java.security.auth.login.config=null, 
> zookeeper.sasl.client=default:true, 
> zookeeper.sasl.clientconfig=default:Client] 
> (org.apache.kafka.common.security.JaasUtils)
> [2024-05-28 07:35:09,695] INFO [ZooKeeperClient Kafka server] Initializing a 
> new session to 
> zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281.
>  (kafka.zookeeper.ZooKeeperClient)
> [2024-05-28 07:35:09,758] DEBUG Initializing task scheduler. 
> (kafka.utils.KafkaScheduler)
> [2024-05-28 07:35:09,759] INFO [ZooKeeperClient Kafka server] Waiting until 
> connected. (kafka.zookeeper.ZooKeeperClient)
> [2024-05-28 07:35:10,051] DEBUG [ZooKeeperClient Kafka server] Received 
> event: WatchedEvent state:SyncConnected type:None path:null 
> (kafka.zookeeper.ZooKeeperClient)
> [2024-05-28 07:35:10,053] INFO [ZooKeeperClient Kafka server] Connected. 
> (kafka.zookeeper.ZooKeeperClient)
> [2024-05-28 07:35:10,139] INFO [feature-zk-node-event-process-thread]: 
> Starting 
> (kafka.server.FinalizedFeatureChangeListener$ChangeNotificationProcessorThread)
> [2024-05-28 07:35:10,144] DEBUG Reading feature ZK node at path: /feature 
> (kafka.server.FinalizedFeatureChangeListener)
> [2024-05-28 07:35:10,251] INFO Updated cache from existing <empty> to latest 
> FinalizedFeaturesAndEpoch(features=Features{}, epoch=1). 
> (kafka.server.FinalizedFeatureCache)
> [2024-05-28 07:35:10,255] INFO Cluster ID = 3G4teZlrS-uT6-Sk5MkbPQ 
> (kafka.server.KafkaServer)
> [2024-05-28 07:35:10,258] ERROR Failed to read 
> /opt/kafka/data/meta.properties (kafka.server.BrokerMetadataCheckpoint$)
> java.nio.file.AccessDeniedException: /opt/kafka/data/meta.properties.tmp
>         at 
> sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
>         at 
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
>         at 
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
>         at 
> sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
>         at 
> sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108)
>         at java.nio.file.Files.deleteIfExists(Files.java:1165)
>         at 
> kafka.server.BrokerMetadataCheckpoint.read(BrokerMetadataCheckpoint.scala:224)
>         at 
> kafka.server.BrokerMetadataCheckpoint$.$anonfun$getBrokerMetadataAndOfflineDirs$2(BrokerMetadataCheckpoint.scala:158)
>         at 
> scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
>         at 
> scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
>         at 
> scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
>         at 
> kafka.server.BrokerMetadataCheckpoint$.getBrokerMetadataAndOfflineDirs(BrokerMetadataCheckpoint.scala:153)
>         at kafka.server.KafkaServer.startup(KafkaServer.scala:206)
>         at kafka.Kafka$.main(Kafka.scala:109)
>         at kafka.Kafka.main(Kafka.scala)
> [2024-05-28 07:35:10,326] INFO KafkaConfig values: 
>         advertised.host.name = null
>         advertised.listeners = null
>         advertised.port = null
>         alter.config.policy.class.name = null
>         alter.log.dirs.replication.quota.window.num = 11
>         alter.log.dirs.replication.quota.window.size.seconds = 1
>         authorizer.class.name = 
>         auto.create.topics.enable = true
>         auto.leader.rebalance.enable = true
>         background.threads = 10
>         broker.heartbeat.interval.ms = 2000
>         broker.id = 1
>         broker.id.generation.enable = true
>         broker.rack = null
>         broker.session.timeout.ms = 9000
>         client.quota.callback.class = null
>         compression.type = producer
>         connection.failed.authentication.delay.ms = 100
>         connections.max.idle.ms = 600000
>         connections.max.reauth.ms = 0
>         control.plane.listener.name = null
>         controlled.shutdown.enable = true
>         controlled.shutdown.max.retries = 3
>         controlled.shutdown.retry.backoff.ms = 5000
>         controller.listener.names = null
>         controller.quorum.append.linger.ms = 25
>         controller.quorum.election.backoff.max.ms = 1000
>         controller.quorum.election.timeout.ms = 1000
>         controller.quorum.fetch.timeout.ms = 2000
>         controller.quorum.request.timeout.ms = 2000
>         controller.quorum.retry.backoff.ms = 20
>         controller.quorum.voters = []
>         controller.quota.window.num = 11
>         controller.quota.window.size.seconds = 1
>         controller.socket.timeout.ms = 30000
>         create.topic.policy.class.name = null
>         default.replication.factor = 1
>         delegation.token.expiry.check.interval.ms = 3600000
>         delegation.token.expiry.time.ms = 86400000
>         delegation.token.master.key = null
>         delegation.token.max.lifetime.ms = 604800000
>         delegation.token.secret.key = null
>         delete.records.purgatory.purge.interval.requests = 1
>         delete.topic.enable = true
>         fetch.max.bytes = 57671680
>         fetch.purgatory.purge.interval.requests = 1000
>         group.initial.rebalance.delay.ms = 0
>         group.max.session.timeout.ms = 1800000
>         group.max.size = 2147483647
>         group.min.session.timeout.ms = 6000
>         host.name = 
>         initial.broker.registration.timeout.ms = 60000
>         inter.broker.listener.name = null
>         inter.broker.protocol.version = 2.8
>         kafka.metrics.polling.interval.secs = 10
>         kafka.metrics.reporters = []
>         leader.imbalance.check.interval.seconds = 300
>         leader.imbalance.per.broker.percentage = 10
>         listener.security.protocol.map = 
> PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
>         listeners = 
> PLAINTEXT://kafka1.my.domain:9092,SSL://kafka1.my.domain:9093
>         log.cleaner.backoff.ms = 15000
>         log.cleaner.dedupe.buffer.size = 134217728
>         log.cleaner.delete.retention.ms = 100
>         log.cleaner.enable = true
>         log.cleaner.io.buffer.load.factor = 0.9
>         log.cleaner.io.buffer.size = 524288
>         log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
>         log.cleaner.max.compaction.lag.ms = 9223372036854775807
>         log.cleaner.min.cleanable.ratio = 0.5
>         log.cleaner.min.compaction.lag.ms = 0
>         log.cleaner.threads = 1
>         log.cleanup.policy = [delete]
>         log.dir = /tmp/kafka-logs
>         log.dirs = /opt/kafka/data
>         log.flush.interval.messages = 10000
>         log.flush.interval.ms = 1000
>         log.flush.offset.checkpoint.interval.ms = 60000
>         log.flush.scheduler.interval.ms = 9223372036854775807
>         log.flush.start.offset.checkpoint.interval.ms = 60000
>         log.index.interval.bytes = 4096
>         log.index.size.max.bytes = 10485760
>         log.message.downconversion.enable = true
>         log.message.format.version = 2.8-IV1
>         log.message.timestamp.difference.max.ms = 9223372036854775807
>         log.message.timestamp.type = CreateTime
>         log.preallocate = false
>         log.retention.bytes = -1
>         log.retention.check.interval.ms = 300000
>         log.retention.hours = 168
>         log.retention.minutes = null
>         log.retention.ms = null
>         log.roll.hours = 168
>         log.roll.jitter.hours = 0
>         log.roll.jitter.ms = null
>         log.roll.ms = null
>         log.segment.bytes = 1000000
>         log.segment.delete.delay.ms = 60000
>         max.connection.creation.rate = 2147483647
>         max.connections = 2147483647
>         max.connections.per.ip = 2147483647
>         max.connections.per.ip.overrides = 
>         max.incremental.fetch.session.cache.slots = 1000
>         message.max.bytes = 1048588
>         metadata.log.dir = null
>         metric.reporters = []
>         metrics.num.samples = 2
>         metrics.recording.level = INFO
>         metrics.sample.window.ms = 30000
>         min.insync.replicas = 1
>         node.id = -1
>         num.io.threads = 8
>         num.network.threads = 3
>         num.partitions = 1
>         num.recovery.threads.per.data.dir = 1
>         num.replica.alter.log.dirs.threads = null
>         num.replica.fetchers = 1
>         offset.metadata.max.bytes = 4096
>         offsets.commit.required.acks = -1
>         offsets.commit.timeout.ms = 5000
>         offsets.load.buffer.size = 5242880
>         offsets.retention.check.interval.ms = 600000
>         offsets.retention.minutes = 10080
>         offsets.topic.compression.codec = 0
>         offsets.topic.num.partitions = 50
>         offsets.topic.replication.factor = 2
>         offsets.topic.segment.bytes = 104857600
>         password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
>         password.encoder.iterations = 4096
>         password.encoder.key.length = 128
>         password.encoder.keyfactory.algorithm = null
>         password.encoder.old.secret = null
>         password.encoder.secret = null
>         port = 9092
>         principal.builder.class = null
>         process.roles = []
>         producer.purgatory.purge.interval.requests = 1000
>         queued.max.request.bytes = -1
>         queued.max.requests = 500
>         quota.consumer.default = 9223372036854775807
>         quota.producer.default = 9223372036854775807
>         quota.window.num = 11
>         quota.window.size.seconds = 1
>         replica.fetch.backoff.ms = 1000
>         replica.fetch.max.bytes = 1048576
>         replica.fetch.min.bytes = 1
>         replica.fetch.response.max.bytes = 10485760
>         replica.fetch.wait.max.ms = 500
>         replica.high.watermark.checkpoint.interval.ms = 5000
>         replica.lag.time.max.ms = 30000
>         replica.selector.class = null
>         replica.socket.receive.buffer.bytes = 65536
>         replica.socket.timeout.ms = 30000
>         replication.quota.window.num = 11
>         replication.quota.window.size.seconds = 1
>         request.timeout.ms = 30000
>         reserved.broker.max.id = 1000
>         sasl.client.callback.handler.class = null
>         sasl.enabled.mechanisms = [GSSAPI]
>         sasl.jaas.config = null
>         sasl.kerberos.kinit.cmd = /usr/bin/kinit
>         sasl.kerberos.min.time.before.relogin = 60000
>         sasl.kerberos.principal.to.local.rules = [DEFAULT]
>         sasl.kerberos.service.name = null
>         sasl.kerberos.ticket.renew.jitter = 0.05
>         sasl.kerberos.ticket.renew.window.factor = 0.8
>         sasl.login.callback.handler.class = null
>         sasl.login.class = null
>         sasl.login.refresh.buffer.seconds = 300
>         sasl.login.refresh.min.period.seconds = 60
>         sasl.login.refresh.window.factor = 0.8
>         sasl.login.refresh.window.jitter = 0.05
>         sasl.mechanism.controller.protocol = GSSAPI
>         sasl.mechanism.inter.broker.protocol = GSSAPI
>         sasl.server.callback.handler.class = null
>         security.inter.broker.protocol = SSL
>         security.providers = null
>         socket.connection.setup.timeout.max.ms = 30000
>         socket.connection.setup.timeout.ms = 10000
>         socket.receive.buffer.bytes = 102400
>         socket.request.max.bytes = 10485760
>         socket.send.buffer.bytes = 102400
>         ssl.cipher.suites = [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
> TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
>         ssl.client.auth = none
>         ssl.enabled.protocols = [TLSv1.2]
>         ssl.endpoint.identification.algorithm = 
>         ssl.engine.factory.class = null
>         ssl.key.password = [hidden]
>         ssl.keymanager.algorithm = SunX509
>         ssl.keystore.certificate.chain = null
>         ssl.keystore.key = null
>         ssl.keystore.location = /opt/kafka/kafka_server.keystore.jks
>         ssl.keystore.password = [hidden]
>         ssl.keystore.type = JKS
>         ssl.principal.mapping.rules = DEFAULT
>         ssl.protocol = TLSv1.2
>         ssl.provider = null
>         ssl.secure.random.implementation = SHA1PRNG
>         ssl.trustmanager.algorithm = PKIX
>         ssl.truststore.certificates = null
>         ssl.truststore.location = /opt/kafka/kafka_server.truststore.jks
>         ssl.truststore.password = [hidden]
>         ssl.truststore.type = JKS
>         transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000
>         transaction.max.timeout.ms = 900000
>         transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
>         transaction.state.log.load.buffer.size = 5242880
>         transaction.state.log.min.isr = 1
>         transaction.state.log.num.partitions = 50
>         transaction.state.log.replication.factor = 2
>         transaction.state.log.segment.bytes = 104857600
>         transactional.id.expiration.ms = 604800000
>         unclean.leader.election.enable = false
>         zookeeper.clientCnxnSocket = null
>         zookeeper.connect = 
> zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
>         zookeeper.connection.timeout.ms = 8000
>         zookeeper.max.in.flight.requests = 10
>         zookeeper.session.timeout.ms = 18000
>         zookeeper.set.acl = false
>         zookeeper.ssl.cipher.suites = null
>         zookeeper.ssl.client.enable = false
>         zookeeper.ssl.crl.enable = false
>         zookeeper.ssl.enabled.protocols = null
>         zookeeper.ssl.endpoint.identification.algorithm = HTTPS
>         zookeeper.ssl.keystore.location = null
>         zookeeper.ssl.keystore.password = null
>         zookeeper.ssl.keystore.type = null
>         zookeeper.ssl.ocsp.enable = false
>         zookeeper.ssl.protocol = TLSv1.2
>         zookeeper.ssl.truststore.location = null
>         zookeeper.ssl.truststore.password = null
>         zookeeper.ssl.truststore.type = null
>         zookeeper.sync.time.ms = 2000
>  (kafka.server.KafkaConfig)
> [2024-05-28 07:35:10,341] INFO KafkaConfig values: 
>         advertised.host.name = null
>         advertised.listeners = null
>         advertised.port = null
>         alter.config.policy.class.name = null
>         alter.log.dirs.replication.quota.window.num = 11
>         alter.log.dirs.replication.quota.window.size.seconds = 1
>         authorizer.class.name = 
>         auto.create.topics.enable = true
>         auto.leader.rebalance.enable = true
>         background.threads = 10
>         broker.heartbeat.interval.ms = 2000
>         broker.id = 1
>         broker.id.generation.enable = true
>         broker.rack = null
>         broker.session.timeout.ms = 9000
>         client.quota.callback.class = null
>         compression.type = producer
>         connection.failed.authentication.delay.ms = 100
>         connections.max.idle.ms = 600000
>         connections.max.reauth.ms = 0
>         control.plane.listener.name = null
>         controlled.shutdown.enable = true
>         controlled.shutdown.max.retries = 3
>         controlled.shutdown.retry.backoff.ms = 5000
>         controller.listener.names = null
>         controller.quorum.append.linger.ms = 25
>         controller.quorum.election.backoff.max.ms = 1000
>         controller.quorum.election.timeout.ms = 1000
>         controller.quorum.fetch.timeout.ms = 2000
>         controller.quorum.request.timeout.ms = 2000
>         controller.quorum.retry.backoff.ms = 20
>         controller.quorum.voters = []
>         controller.quota.window.num = 11
>         controller.quota.window.size.seconds = 1
>         controller.socket.timeout.ms = 30000
>         create.topic.policy.class.name = null
>         default.replication.factor = 1
>         delegation.token.expiry.check.interval.ms = 3600000
>         delegation.token.expiry.time.ms = 86400000
>         delegation.token.master.key = null
>         delegation.token.max.lifetime.ms = 604800000
>         delegation.token.secret.key = null
>         delete.records.purgatory.purge.interval.requests = 1
>         delete.topic.enable = true
>         fetch.max.bytes = 57671680
>         fetch.purgatory.purge.interval.requests = 1000
>         group.initial.rebalance.delay.ms = 0
>         group.max.session.timeout.ms = 1800000
>         group.max.size = 2147483647
>         group.min.session.timeout.ms = 6000
>         host.name = 
>         initial.broker.registration.timeout.ms = 60000
>         inter.broker.listener.name = null
>         inter.broker.protocol.version = 2.8
>         kafka.metrics.polling.interval.secs = 10
>         kafka.metrics.reporters = []
>         leader.imbalance.check.interval.seconds = 300
>         leader.imbalance.per.broker.percentage = 10
>         listener.security.protocol.map = 
> PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
>         listeners = 
> PLAINTEXT://kafka1.my.domain:9092,SSL://kafka1.my.domain:9093
>         log.cleaner.backoff.ms = 15000
>         log.cleaner.dedupe.buffer.size = 134217728
>         log.cleaner.delete.retention.ms = 100
>         log.cleaner.enable = true
>         log.cleaner.io.buffer.load.factor = 0.9
>         log.cleaner.io.buffer.size = 524288
>         log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
>         log.cleaner.max.compaction.lag.ms = 9223372036854775807
>         log.cleaner.min.cleanable.ratio = 0.5
>         log.cleaner.min.compaction.lag.ms = 0
>         log.cleaner.threads = 1
>         log.cleanup.policy = [delete]
>         log.dir = /tmp/kafka-logs
>         log.dirs = /opt/kafka/data
>         log.flush.interval.messages = 10000
>         log.flush.interval.ms = 1000
>         log.flush.offset.checkpoint.interval.ms = 60000
>         log.flush.scheduler.interval.ms = 9223372036854775807
>         log.flush.start.offset.checkpoint.interval.ms = 60000
>         log.index.interval.bytes = 4096
>         log.index.size.max.bytes = 10485760
>         log.message.downconversion.enable = true
>         log.message.format.version = 2.8-IV1
>         log.message.timestamp.difference.max.ms = 9223372036854775807
>         log.message.timestamp.type = CreateTime
>         log.preallocate = false
>         log.retention.bytes = -1
>         log.retention.check.interval.ms = 300000
>         log.retention.hours = 168
>         log.retention.minutes = null
>         log.retention.ms = null
>         log.roll.hours = 168
>         log.roll.jitter.hours = 0
>         log.roll.jitter.ms = null
>         log.roll.ms = null
>         log.segment.bytes = 1000000
>         log.segment.delete.delay.ms = 60000
>         max.connection.creation.rate = 2147483647
>         max.connections = 2147483647
>         max.connections.per.ip = 2147483647
>         max.connections.per.ip.overrides = 
>         max.incremental.fetch.session.cache.slots = 1000
>         message.max.bytes = 1048588
>         metadata.log.dir = null
>         metric.reporters = []
>         metrics.num.samples = 2
>         metrics.recording.level = INFO
>         metrics.sample.window.ms = 30000
>         min.insync.replicas = 1
>         node.id = -1
>         num.io.threads = 8
>         num.network.threads = 3
>         num.partitions = 1
>         num.recovery.threads.per.data.dir = 1
>         num.replica.alter.log.dirs.threads = null
>         num.replica.fetchers = 1
>         offset.metadata.max.bytes = 4096
>         offsets.commit.required.acks = -1
>         offsets.commit.timeout.ms = 5000
>         offsets.load.buffer.size = 5242880
>         offsets.retention.check.interval.ms = 600000
>         offsets.retention.minutes = 10080
>         offsets.topic.compression.codec = 0
>         offsets.topic.num.partitions = 50
>         offsets.topic.replication.factor = 2
>         offsets.topic.segment.bytes = 104857600
>         password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
>         password.encoder.iterations = 4096
>         password.encoder.key.length = 128
>         password.encoder.keyfactory.algorithm = null
>         password.encoder.old.secret = null
>         password.encoder.secret = null
>         port = 9092
>         principal.builder.class = null
>         process.roles = []
>         producer.purgatory.purge.interval.requests = 1000
>         queued.max.request.bytes = -1
>         queued.max.requests = 500
>         quota.consumer.default = 9223372036854775807
>         quota.producer.default = 9223372036854775807
>         quota.window.num = 11
>         quota.window.size.seconds = 1
>         replica.fetch.backoff.ms = 1000
>         replica.fetch.max.bytes = 1048576
>         replica.fetch.min.bytes = 1
>         replica.fetch.response.max.bytes = 10485760
>         replica.fetch.wait.max.ms = 500
>         replica.high.watermark.checkpoint.interval.ms = 5000
>         replica.lag.time.max.ms = 30000
>         replica.selector.class = null
>         replica.socket.receive.buffer.bytes = 65536
>         replica.socket.timeout.ms = 30000
>         replication.quota.window.num = 11
>         replication.quota.window.size.seconds = 1
>         request.timeout.ms = 30000
>         reserved.broker.max.id = 1000
>         sasl.client.callback.handler.class = null
>         sasl.enabled.mechanisms = [GSSAPI]
>         sasl.jaas.config = null
>         sasl.kerberos.kinit.cmd = /usr/bin/kinit
>         sasl.kerberos.min.time.before.relogin = 60000
>         sasl.kerberos.principal.to.local.rules = [DEFAULT]
>         sasl.kerberos.service.name = null
>         sasl.kerberos.ticket.renew.jitter = 0.05
>         sasl.kerberos.ticket.renew.window.factor = 0.8
>         sasl.login.callback.handler.class = null
>         sasl.login.class = null
>         sasl.login.refresh.buffer.seconds = 300
>         sasl.login.refresh.min.period.seconds = 60
>         sasl.login.refresh.window.factor = 0.8
>         sasl.login.refresh.window.jitter = 0.05
>         sasl.mechanism.controller.protocol = GSSAPI
>         sasl.mechanism.inter.broker.protocol = GSSAPI
>         sasl.server.callback.handler.class = null
>         security.inter.broker.protocol = SSL
>         security.providers = null
>         socket.connection.setup.timeout.max.ms = 30000
>         socket.connection.setup.timeout.ms = 10000
>         socket.receive.buffer.bytes = 102400
>         socket.request.max.bytes = 10485760
>         socket.send.buffer.bytes = 102400
>         ssl.cipher.suites = [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
> TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
>         ssl.client.auth = none
>         ssl.enabled.protocols = [TLSv1.2]
>         ssl.endpoint.identification.algorithm = 
>         ssl.engine.factory.class = null
>         ssl.key.password = [hidden]
>         ssl.keymanager.algorithm = SunX509
>         ssl.keystore.certificate.chain = null
>         ssl.keystore.key = null
>         ssl.keystore.location = /opt/kafka/kafka_server.keystore.jks
>         ssl.keystore.password = [hidden]
>         ssl.keystore.type = JKS
>         ssl.principal.mapping.rules = DEFAULT
>         ssl.protocol = TLSv1.2
>         ssl.provider = null
>         ssl.secure.random.implementation = SHA1PRNG
>         ssl.trustmanager.algorithm = PKIX
>         ssl.truststore.certificates = null
>         ssl.truststore.location = /opt/kafka/kafka_server.truststore.jks
>         ssl.truststore.password = [hidden]
>         ssl.truststore.type = JKS
>         transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000
>         transaction.max.timeout.ms = 900000
>         transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
>         transaction.state.log.load.buffer.size = 5242880
>         transaction.state.log.min.isr = 1
>         transaction.state.log.num.partitions = 50
>         transaction.state.log.replication.factor = 2
>         transaction.state.log.segment.bytes = 104857600
>         transactional.id.expiration.ms = 604800000
>         unclean.leader.election.enable = false
>         zookeeper.clientCnxnSocket = null
>         zookeeper.connect = 
> zookeeper1.my.domain:2281,zookeeper2.my.domain:2281,zookeeper3.my.domain:2281,zookeeper4.my.domain:2281,zookeeper5.my.domain:2281
>         zookeeper.connection.timeout.ms = 8000
>         zookeeper.max.in.flight.requests = 10
>         zookeeper.session.timeout.ms = 18000
>         zookeeper.set.acl = false
>         zookeeper.ssl.cipher.suites = null
>         zookeeper.ssl.client.enable = false
>         zookeeper.ssl.crl.enable = false
>         zookeeper.ssl.enabled.protocols = null
>         zookeeper.ssl.endpoint.identification.algorithm = HTTPS
>         zookeeper.ssl.keystore.location = null
>         zookeeper.ssl.keystore.password = null
>         zookeeper.ssl.keystore.type = null
>         zookeeper.ssl.ocsp.enable = false
>         zookeeper.ssl.protocol = TLSv1.2
>         zookeeper.ssl.truststore.location = null
>         zookeeper.ssl.truststore.password = null
>         zookeeper.ssl.truststore.type = null
>         zookeeper.sync.time.ms = 2000
>  (kafka.server.KafkaConfig)
> [2024-05-28 07:35:10,352] DEBUG Initializing task scheduler. 
> (kafka.utils.KafkaScheduler)
> [2024-05-28 07:35:10,388] INFO [ThrottledChannelReaper-Fetch]: Starting 
> (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
> [2024-05-28 07:35:10,388] INFO [ThrottledChannelReaper-Produce]: Starting 
> (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
> [2024-05-28 07:35:10,389] INFO [ThrottledChannelReaper-Request]: Starting 
> (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
> [2024-05-28 07:35:10,390] INFO [ThrottledChannelReaper-ControllerMutation]: 
> Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
> [2024-05-28 07:35:10,402] ERROR Failed to create or validate data directory 
> /opt/kafka/data (kafka.server.LogDirFailureChannel)
> java.io.IOException: Failed to load /opt/kafka/data during broker startup
>         at 
> kafka.log.LogManager.$anonfun$createAndValidateLogDirs$1(LogManager.scala:146)
>         at 
> scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
>         at 
> scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
>         at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
>         at kafka.log.LogManager.createAndValidateLogDirs(LogManager.scala:143)
>         at kafka.log.LogManager.<init>(LogManager.scala:82)
>         at kafka.log.LogManager$.apply(LogManager.scala:1238)
>         at kafka.server.KafkaServer.startup(KafkaServer.scala:249)
>         at kafka.Kafka$.main(Kafka.scala:109)
>         at kafka.Kafka.main(Kafka.scala){code}
> The setup is done via ansible, so no way to make a different setup or 
> mistakes.
> `/opt/kafka/data` exists and the user running kafka has write permission.
> What else I can do to debug this issue?
> Thanks in advance



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to