Проблемы с подключением приложения Spring Boot к новому серверу ELK после миграции.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы с подключением приложения Spring Boot к новому серверу ELK после миграции.

Сообщение Anonymous »

У меня был сервер ELK, который мне нужно было отключить и заменить новым. У меня был проект Java Spring Boot, который был подключен к исходному серверу ELK. После перехода на новый сервер все индексы были сброшены, и я потерял все предыдущие данные.
Теперь я сталкиваюсь с проблемами при попытке подключить мое приложение Spring Boot к новому серверу ELK. Я проверил, что сервер ELK работает и доступен. Однако когда я запускаю приложение Spring Boot, я получаю следующую ошибку:

Код: Выделить всё

2024-10-31T00:42:37.816+03:00  WARN 9020 --- [data-leak-service] [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'Controller' defined in file [Controller.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'Service' defined in file [Service.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'DataRepository' defined in DataRepository defined in @EnableElasticsearchRepositories declared on ElasticSearchConfiguration: Cannot resolve reference to bean 'elasticsearchTemplate' while setting bean property 'elasticsearchOperations' ...
Я подозреваю, что эта проблема может быть связана с конфигурацией ELK. Вот моя текущая конфигурация:

Код: Выделить всё

@Configuration
public class ElasticSearchConfiguration {

@Value("${ElasticUrl}")
private String elkUrl;

@Value("${elasticsearch.username}")
private String username;

@Value("${elasticsearch.password}")
private String password;

@Bean
public ElasticsearchClient elasticsearchClient() {
// Set up credentials provider for basic authentication
BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(
AuthScope.ANY,
new UsernamePasswordCredentials(username, password)
);

// Configure RestClient with authentication
RestClient restClient = RestClient.builder(HttpHost.create(elkUrl))
.setHttpClientConfigCallback(httpClientBuilder ->
httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider))
.build();

// Set up transport with Jackson JSON mapper
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());

// Return the authenticated Elasticsearch client
return new ElasticsearchClient(transport);
}
}
Кроме того, я добавил свойство для автоматического создания индекса в свое приложение.properties:

Код: Выделить всё

spring.elasticsearch.index.auto-create=true
Я использую следующие зависимости:

Код: Выделить всё

co.elastic.clients
elasticsearch-java


org.springframework.boot
spring-boot-starter-data-elasticsearch

Я использую клиент Elasticsearch версии 8.15.1.
Раньше у меня была другая конфигурация, которая работала без аутентификации:

Код: Выделить всё

@Configuration
public class ElasticsearchConfig {

@Bean
public ElasticsearchClient elasticsearchClient() {
// Create the low-level client (without authentication)
RestClient restClient = RestClient.builder(HttpHost.create("http://elkip:9200")).build();

// Create the transport with a Jackson JSON mapper
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());

// Create the Elasticsearch client
return new ElasticsearchClient(transport);
}
}
Что может быть причиной этой ошибки и как ее устранить? Кроме того, какие шаги мне нужно предпринять, чтобы включить автоматическое создание индекса?


Подробнее здесь: https://stackoverflow.com/questions/791 ... -migration
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»