Operate and Tasklist cannot access Elasticsearch

Hi, I am using Camunda 8.5 and Openshift. Identity, zeebe gateway, keycloak works as expected but Operate and Tasklist cannot connect to Elasticsearch. But Elasticsearch is available.

image

I am using Operate configuration like this:

operate:
  # Enabled if true, the Operate deployment and its related resources are deployed via a helm release
  enabled: true
  env:
  - name: CAMUNDA_OPERATE_ELASTICSEARCH_URL
    value: "http://camunda-platform-elasticsearch-camunda.apps-crc.testing:9200"
  # Image configuration to configure the Operate image specifics
  image:
    # Image.registry can be used to set container image registry.
    registry: ""
    # Image.repository defines which image repository to use
    repository: camunda/operate
    # Image.tag can be set to overwrite the global tag, which should be used in that chart
    tag: 8.5.3
    # Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
    pullSecrets: []

  # Logging configuration for the Operate logging. This template will be directly included in the Operate configuration yaml file
  logging:
    level:
      ROOT: INFO
      io.camunda.operate: DEBUG

  # Service configuration to configure the Operate service.
  service:
    # Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
    type: ClusterIP
    # Service.port defines the port of the service, where the Operate web application will be available
    port: 80
    # Service.annotations can be used to define annotations, which will be applied to the Operate service
    annotations: {}

  # Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits
  resources:
    requests:
      cpu: 600m
      memory: 400Mi
    limits:
      cpu: 1000m
      memory: 1Gi

  # ConfigMap configuration which will be applied to the mounted config map.
  configMap:
    defaultMode: 0444

  # ServiceAccount configuration for the service account where the Operate pods are assigned to
  serviceAccount:
    # ServiceAccount.enabled if true, enables the Operate service account
    enabled: true
    # ServiceAccount.name can be used to set the name of the Operate service account
    name: ""
    # ServiceAccount.annotations can be used to set the annotations of the Operate service account
    annotations: {}

And this is the error.

2024-07-10 07:59:44.378 DEBUG 7 --- [           main] i.c.o.u.RetryOperation                   : Connect to Elasticsearch cluster [elasticsearch] at http://camunda-platform-elasticsearch-camunda.apps-crc.testing:9200 - Waiting 3 SECONDS. 46/50
2024-07-10 07:59:47.379  WARN 7 --- [           main] i.c.o.u.RetryOperation                   : Retry Operation Connect to Elasticsearch cluster [elasticsearch] at http://camunda-platform-elasticsearch-camunda.apps-crc.testing:9200 failed: java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused

org.elasticsearch.ElasticsearchException: java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused
	at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2695) ~[elasticsearch-rest-high-level-client-7.17.21.jar!/:8.9.2]
	at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:2171) ~[elasticsearch-rest-high-level-client-7.17.21.jar!/:8.9.2]
	at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:2137) ~[elasticsearch-rest-high-level-client-7.17.21.jar!/:8.9.2]
	at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:2105) ~[elasticsearch-rest-high-level-client-7.17.21.jar!/:8.9.2]
	at org.elasticsearch.client.ClusterClient.health(ClusterClient.java:151) ~[elasticsearch-rest-high-level-client-7.17.21.jar!/:8.9.2]
	at io.camunda.operate.connect.ElasticsearchConnector.lambda$checkHealth$5(ElasticsearchConnector.java:326) ~[operate-common-8.5.3.jar!/:8.5.3]
	at io.camunda.operate.util.RetryOperation.retry(RetryOperation.java:68) ~[operate-common-8.5.3.jar!/:8.5.3]
	at io.camunda.operate.connect.ElasticsearchConnector.checkHealth(ElasticsearchConnector.java:330) ~[operate-common-8.5.3.jar!/:8.5.3]
	at io.camunda.operate.connect.ElasticsearchConnector.createEsClient(ElasticsearchConnector.java:189) ~[operate-common-8.5.3.jar!/:8.5.3]
	at io.camunda.operate.connect.ElasticsearchConnector.esClient(ElasticsearchConnector.java:153) ~[operate-common-8.5.3.jar!/:8.5.3]
	at io.camunda.operate.connect.ElasticsearchConnector$$SpringCGLIB$$0.CGLIB$esClient$6(<generated>) ~[operate-common-8.5.3.jar!/:8.5.3]
	at io.camunda.operate.connect.ElasticsearchConnector$$SpringCGLIB$$FastClass$$1.invoke(<generated>) ~[operate-common-8.5.3.jar!/:8.5.3]
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) ~[spring-core-6.1.8.jar!/:6.1.8]
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:339) ~[spring-context-6.1.8.jar!/:6.1.8]
	at io.camunda.operate.connect.ElasticsearchConnector$$SpringCGLIB$$0.esClient(<generated>) ~[operate-common-8.5.3.jar!/:8.5.3]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:485) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1421) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) [spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) [spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) [spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) [spring-beans-6.1.8.jar!/:6.1.8]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:962) [spring-context-6.1.8.jar!/:6.1.8]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) [spring-context-6.1.8.jar!/:6.1.8]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) [spring-boot-3.2.6.jar!/:3.2.6]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) [spring-boot-3.2.6.jar!/:3.2.6]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) [spring-boot-3.2.6.jar!/:3.2.6]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) [spring-boot-3.2.6.jar!/:3.2.6]
	at io.camunda.operate.Application.main(Application.java:74) [!/:8.5.3]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
	at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:91) [operate-webapp-8.5.3-exec.jar:8.5.3]
	at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:53) [operate-webapp-8.5.3-exec.jar:8.5.3]
	at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:58) [operate-webapp-8.5.3-exec.jar:8.5.3]
Caused by: java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused
	at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.getValue(BaseFuture.java:257) ~[elasticsearch-7.17.21.jar!/:7.17.21]
	at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.get(BaseFuture.java:244) ~[elasticsearch-7.17.21.jar!/:7.17.21]
	at org.elasticsearch.common.util.concurrent.BaseFuture.get(BaseFuture.java:75) ~[elasticsearch-7.17.21.jar!/:7.17.21]
	at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2692) ~[elasticsearch-rest-high-level-client-7.17.21.jar!/:8.9.2]
	... 54 more
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682) ~[?:?]
	at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973) ~[?:?]
	at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:174) ~[httpcore-nio-4.4.16.jar!/:4.4.16]
	at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:148) ~[httpcore-nio-4.4.16.jar!/:4.4.16]
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:351) ~[httpcore-nio-4.4.16.jar!/:4.4.16]
	at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

2024-07-10 07:59:47.380 DEBUG 7 --- [           main] i.c.o.u.RetryOperation                   : Connect to Elasticsearch cluster [elasticsearch] at http://camunda-platform-elasticsearch-camunda.apps-crc.testing:9200 - Waiting 3 SECONDS. 47/50

Thanks for help.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.