====== Kafka ====== ===== Проблемы ===== ==== Сервис не запускается ==== === После обновления JAVA === 1) Необходимо проверить переменную ''JAVA_HOME'' root@kafka-server ~ # echo $JAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64 2) Убедится, что путь до домашнего каталога JAVA корректный root@kafka-server ~ # ls -la $JAVA_HOME ls: cannot access /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64: No such file or directory 3) Проверить, какие версии JAVA установлены в каталоге ''/usr/lib/jvm'' root@kafka-server ~ # ls -la /usr/lib/jvm total 4 drwxr-xr-x 4 root root 223 May 20 00:12 . dr-xr-xr-x. 39 root root 4096 Sep 15 2021 .. drwxr-xr-x 6 root root 68 May 20 00:11 java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64 lrwxrwxrwx 1 root root 21 May 20 00:12 jre -> /etc/alternatives/jre lrwxrwxrwx 1 root root 24 May 20 00:12 jre-11 -> /etc/alternatives/jre_11 lrwxrwxrwx 1 root root 32 May 20 00:12 jre-11-openjdk -> /etc/alternatives/jre_11_openjdk lrwxrwxrwx 1 root root 43 May 20 00:11 jre-11-openjdk-11.0.18.0.10-1.el7_9.x86_64 -> java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64 lrwxrwxrwx 1 root root 29 May 20 00:12 jre-openjdk -> /etc/alternatives/jre_openjdk 4) Проверить переменную ''JAVA_HOME'' для демона Kafka ''/etc/systemd/system/kafka.service.conf'' root@kafka-server ~ # cat /etc/systemd/system/kafka.service.conf JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64 KAFKA_OPTS=\ -Djdk.tls.rejectClientInitiatedRenegotiation=true \ -Djsse.enableMFLNExtension=false \ -XX:+UseAES \ -Djdk.tls.server.protocols=TLSv1.3,TLSv1.2 \ -Djdk.tls.server.cipherSuites=TLS_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 \ # -Djsse.SSLEngine.acceptLargeFragments=true \ #JMX_PORT=1979 #KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl.need.client.auth=true -Dcom.sun.management.jmxremote.registry.ssl=true -Dcom.sun.management.jmxremote.authenticate=false" Как видно из результата, конфигурация содержит не корректный путь до ''JAVA_HOME''. Так как директория ''/usr/lib/jvm/jre'' является символической ссылкой до корректной версии, и она обезличена, то лучше использовать путь ''/usr/lib/jvm/jre'', чтобы избежать проблем в работе сервиса при обновлении JAVA. 5) Устанавливаем корректную переменную для ''JAVA_HOME'' в файле конфигурации демона Kafka ''/etc/systemd/system/kafka.service.conf'' root@kafka-server ~ # cat /etc/systemd/system/kafka.service.conf JAVA_HOME=/usr/lib/jvm/jre KAFKA_OPTS=\ -Djdk.tls.rejectClientInitiatedRenegotiation=true \ -Djsse.enableMFLNExtension=false \ -XX:+UseAES \ -Djdk.tls.server.protocols=TLSv1.3,TLSv1.2 \ -Djdk.tls.server.cipherSuites=TLS_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 \ # -Djsse.SSLEngine.acceptLargeFragments=true \ #JMX_PORT=1979 #KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl.need.client.auth=true -Dcom.sun.management.jmxremote.registry.ssl=true -Dcom.sun.management.jmxremote.authenticate=false" 6) Запускаем и проверяем сервис root@kafka-server ~ # systemctl start kafka root@kafka-server ~ # systemctl status kafka ● kafka.service - Apache Kafka Loaded: loaded (/etc/systemd/system/kafka.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2023-05-24 10:41:47 MSK; 2h 44min ago Main PID: 22021 (java) CGroup: /system.slice/kafka.service └─22021 /usr/lib/jvm/jre/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:Initiatin...