Настройка тестового кластера Opensearch с 3 компьютерами и Almalinux 9.5 с последующим сбросом до нуля.

Вопрос или проблема

Я только что установил almalinux 9.5 на 3 компьютера и затем следовал официальной документации opensearch 1.3.20 для настройки кластера.
Установка была выполнена от пользователя root с помощью следующих команд:

cd /tmp
curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/1.x/opensearch-1.x.repo -o /etc/yum.repos.d/opensearch-1.x.repo
yum clean all
yum repolist
yum list opensearch --showduplicates
yum install opensearch
systemctl start opensearch
systemctl status opensearch
systemctl restart opensearch.service
less /var/log/opensearch/dw4-mongo-test.log
systemctl status firewalld
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
nano /etc/opensearch/opensearch.yml
systemctl restart opensearch.service
firewall-cmd --reload
sudo systemctl restart opensearch.service

Кластер должен состоять из 3 идентичных узлов, вот файл /etc/opensearch/opensearch.yml одного из узлов

cluster.name: dw4-mongo-test
node.name: dw4-test-node2
path.data: /var/lib/opensearch
path.logs: /var/log/opensearch
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["10.17.60.102", "10.17.60.103", "10.17.60.104"]
cluster.initial_master_nodes: ["dw4-test-node2", "dw4-test-node1", "dw4-test-node3"]
action.destructive_requires_name: true
plugins.security.ssl.transport.pemcert_filepath: esnode.pem
plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.http.enabled: false
plugins.security.ssl.http.pemcert_filepath: esnode.pem
plugins.security.ssl.http.pemkey_filepath: esnode-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem
plugins.security.allow_unsafe_democertificates: true
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn:
  - CN=kirk,OU=client,O=client,L=test, C=de

plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]
plugins.security.system_indices.enabled: true
plugins.security.system_indices.indices: [".plugins-ml-model", ".plugins-ml-task", ".opendistro-alerting-config", ".opendistro-alerting-alert*", ".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state", ".opendistro-reports-*", ".opensearch-notifications-*", ".opensearch-notebooks", ".opensearch-observability", ".opendistro-asynchronous-search-response*", ".replication-metadata-store"]
node.max_local_storage_nodes: 3

Я нахожусь в тестовой среде и отключил HTTPS.
но когда я проверяю, создан ли кластер, я получаю 3 отдельных узла вместо кластера из 3 узлов.

curl -XGET http://10.17.60.103:9200/_cat/nodes?v -u 'admin:admin' --insecure
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.17.60.103           34          74   0    0.54    0.20     0.07 dimr      *      dw4-test-node2
curl -XGET http://10.17.60.104:9200/_cat/nodes?v -u 'admin:admin' --insecure
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.17.60.104           35          70   6    0.30    0.12     0.04 dimr      *      dw4-test-node-3
curl -XGET http://10.17.60.102:9200/_cat/nodes?v -u 'admin:admin' --insecure
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.17.60.102           36          75   5    0.59    0.22     0.08 dimr      *      dw4-test-node1

возможно, мне стоит попробовать удалить все данные, созданные opensearch, но я не знаю, как это сделать.
какую директорию мне следует удалить, чтобы сбросить ситуацию?

Ответ или решение

Для создания тестового кластера OpenSearch на трех ПК с AlmaLinux 9.5, при работе в среде тестирования, вы столкнулись с проблемой, когда создается три одиночных кластера вместо одного с тремя узлами. Давайте разберем, как можно решить эту задачу и, при необходимости, как сбросить настройки до начального состояния.

Теория

OpenSearch — это система для поиска и аналитики в реальном времени на основе данных, схожая с Elasticsearch. В кластере OpenSearch каждый узел должен знать о других узлах, чтобы сформировать единое целое. Из файла конфигурации opensearch.yml видно, что вы правильно указали параметры discovery.seed_hosts и cluster.initial_master_nodes. Однако следует учитывать, что для правильной работы кластера важны и другие параметры, такие как настройки сети и безопасности.

Пример

Ваша конфигурация настроена таким образом, что узлы могут не видеть друг друга. Возможные причины:

  1. Неверно настроены параметры сети и безопасности (например, файрволы).
  2. Неправильные имени узлов или ошибок в адресах IP.
  3. Проблемы с сертификацией или неиспользованием HTTPS с выключенным SSL.

Применение

Шаги для диагностики и решения проблемы:

  1. Проверьте сетевые настройки: Убедитесь, что все узлы правильно видят друг друга по указанным IP-адресам 10.17.60.102, 10.17.60.103, 10.17.60.104. Используйте команды ping и telnet для проверки соединения по соответствующим портам 9200 и 9300.

  2. Перепроверьте и исправьте конфигурацию:

    • Убедитесь, что в network.host указан адрес, который доступен другим узлам (можно использовать 0.0.0.0 для прослушивания всех интерфейсов).
    • Убедитесь, что имена узлов в node.name уникальны и соответствуют указанным в cluster.initial_master_nodes.
    • Проверьте правильность сертификации по SSL, если она нужна в конфигурации безопасности, хотя в вашем случае она отключена.
  3. Проверьте файрвол и SELinux:

    • Убедитесь, что порты 9200 и 9300 открыты на всех узлах.
    • Если включен SELinux, временно отключите его или настройте соответствующие политики.
  4. Сброс данных: Если нужно сбросить настройки до начального состояния, удалите данные индексации:

    • Остановите службу OpenSearch: systemctl stop opensearch.
    • Удалите временные данные из директории: rm -rf /var/lib/opensearch/*.
    • Перезапустите службу: systemctl start opensearch.

Резюме

При устранении ошибки сети или конфигурации, ваши узлы должны начать взаимодействовать и формировать единый кластер. Если проблема сохраняется, проверьте каждый пункт снова и убедитесь, что узлы могут свободно взаимодействовать между собой. Сброс данных — это радикальный способ, который должен использоваться в крайнем случае и с пониманием возможных рисков утраты данных.

Оцените материал
Добавить комментарий

Капча загружается...