Проблемы и решения, описанные в этой статье, также применимы к Тенсент Облако Elasticsearch Service(ES)。
История изменений
Номер версии | Дата редакции | Изменить описание | писать |
---|---|---|---|
V1.0 | 2024-02-23 | Создать документ | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.1 | 2024-02-27 | Обновление: поддержка обновления значения вложенных ключей. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.2 | 2024-03-26 | Обновление: добавлена совместимость с AWS Opensearch и по умолчанию удалены некоторые несовместимые с ES параметры. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.3 | 2024-04-10 | Обновление: исправлены известные проблемы. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.4 | 2024-04-16 | Обновление: добавлен параметр тайм-аута. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.5 | 2024-06-05 | Обновление: добавлены параметры суффикса. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.6 | 2024-06-18 | Обновление: исправлены известные проблемы. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.7 | 2024-06-27 | Обновление: адаптировано к 8.x, параметр истории настроек по умолчанию удален. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.8 | 2024-11-13 | Обновление: разрешить не указывать порт ● HTTP – 80. ● https — 443. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.9 | 2024-11-14 | Обновление: совместимость с аутентификацией без пароля AWS Opensearch. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.10 | 2024-11-15 | Обновление: исправлена проблема с распознаванием типа AWS Opensearch. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
V1.11 | 2024-11-27 | Обновление: исправлено AWS Opensearch носить более низкую версию ES 属性(< 7) Проблемы, вызывающие сбой синхронизации. | Тенсент Облако/Сообщество разработчиков/Юэ Тао |
● Этот инструмент подходит для es с версией сообщества 5.x/6.x/7.x/8.x и opensearch с версией 2.x. Другие версии сообщества еще не проверены.
● Этот инструмент подходит для синхронизации атрибутов индекса (настройка/сопоставление) одним щелчком мыши.
● Этот инструмент подходит для решения проблем совместимости атрибутов индекса и поддерживает изменение и удаление атрибутов во время синхронизации.
● Если оба конца поддерживают ES 5.x, они совместимы с несколькими типами ES 5.x, в противном случае синхронизируется только один тип;
● Уровень типов ES 7.x и ниже и opensearch был скорректирован, чтобы сделать структуру сопоставления совместимой, не затрагивая последующие проблемы;
● Параметр Opensearch index.replication.type по умолчанию отброшен. Эта функция несовместима с ES, и ее удаление не повлияет на ее использование.
● синхронизация атрибутов индекса elasticsearch.
● Подготовка сервера
Подготовьте сервер, который может получить доступ к экземпляру ES, и его сетевое окружение должно быть взаимосвязанным;
rpm -vih https://tools-release-12345678.cos.ap-shanghai.myqcloud.com/elasticsearch/packages/es-index-properties-sync-xxxx.x86_64.rpm
Или скачайте, загрузите и затем установите с помощью rpm:
rpm -vih es-index-properties-sync-lastest.x86_64.rpm
wget https://tools-release-12345678.cos.ap-shanghai.myqcloud.com/elasticsearch/packages/es-index-properties-sync-xxxx.amd64.deb -O /tmp/eips.deb && sudo dpkg -i /tmp/eips.deb
Или скачайте, загрузите и затем используйте dpkg для установки:
dpkg -i es-index-properties-sync-lastest.amd64.deb
После завершения установки будет сгенерирована команда es-backup-progress, см. справку:
es-index-properties-sync --help
--src_url источник URL
--src_user пользователь поиска
--src_password найти пароль
--dst_url DST_URL Цель URL
--dst_user DST_USER Цельпользователь
--dst_password Главный пароль
--indices Необходимо синхронизировать из индекса
--updates-settings Необходимо обновить/добавить настройки
--updates-mappings Необходимо обновить/добавить отображение
--index_suffix Добавить суффикс индекса
--timeout TIMEOUT тайм-аутпараметр
● Экземпляры ES не имеют аутентификации по паролю.
● Синхронизировать все индексы (за исключением системных индексов, начинающихся с .)
es-index-properties-sync --src_url http://10.0.10.xx:9200 --dst_url http://10.0.10.xx:9200 --indices '*,-.*'
● Экземпляры ES имеют аутентификацию по паролю, а имя пользователя по умолчанию является гибким.
● Синхронизировать индекс подстановочного знака, начинающийся с указанного символа.
● Удалить параметр настройки.
es-index-properties-sync \
--src_url http://10.0.10.xx:9200 \
--dst_url http://10.0.10.xx:9200 \
--src_password ****** \
--dst_password ****** \
--indices 'users-2022*' \
--updates-settings '[{"action": "remove", "key": "index.bulk_routing.enabled"}]'
● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.
● Назначенный порт экземпляра ES.
● Синхронизировать указанные индексы.
● Удалять & Исправлять setting параметр
● Удалять & Исправлять mapping параметр
es-index-properties-sync \
--src_url http://10.0.10.xx:9200 \
--dst_url http://10.0.10.xx:9200 \
--src_user elastic \
--dst_user elastic \
--src_password ****** \
--dst_password ****** \
--indices 'users-2024.02.27' \
--updates-settings '[{"action": "remove", "key": "index.bulk_routing.enabled"}, {"action": "update", "key": "index.number_of_shards", "value": 10}]' \
--updates-mappings '[{"action": "update", "key": "properties.job.type", "value": "keyword"},{"action": "remove", "key": "properties.job.fields"}]'
● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.
● Назначенный порт экземпляра ES.
● Синхронизировать указанные индексы.
● Исправлять mapping параметр и значение содержит одинарные кавычки
es-index-properties-sync \
--src_url http://10.0.10.xx:9200 \
--dst_url http://10.0.10.xx:9200 \
--src_user elastic \
--dst_user elastic \
--src_password ****** \
--dst_password ****** \
--indices 'users-2024.02.27' \
--updates-mappings '[{"action":"update","key":"properties.update_timestamp.format","value":"yyyy-MM-dd'\''T'\''HH:mm:ssZ||yyyy-MM-dd'\''T'\''HH:mm:ss||yyyy-MM-dd HH:mm||yyyy-MM-dd'\''T'\''HH:mm:ss'\''+0800'\''"}]'
● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.
● Назначенный порт экземпляра ES.
● Синхронизировать указанные индексы.
● Совместимость с 7–8 самостоятельно разработанными параметрами
es-index-properties-sync \
--src_url http://10.0.10.xx:9200 \
--dst_url http://10.0.10.xx:9200 \
--src_user elastic \
--dst_user elastic \
--src_password ****** \
--dst_password ****** \
--indices 'users-2024.02.27' \
--updates-settings '[{"action": "remove", "key": "index.merge.policy.auto_merge_enabled"},{"action": "remove", "key": "index.merge.policy.inactive_merge_enabled"},{"action": "remove", "key": "index.bulk_routing.enabled"},{"action": "remove", "key": "index.search.slowlog"},{"action": "remove", "key": "index.indexing.slowlog"}]' \
--updates-mappings '[{"action": "remove", "key": "_all"}]'
● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.
● Назначенный порт экземпляра ES.
● Синхронизировать указанные индексы.
● Исправлять Шардингпараметр
●Укажите суффикс
es-index-properties-sync \
--src_url http://10.0.10.xx:9200 \
--dst_url http://10.0.10.xx:9200 \
--src_user elastic \
--dst_user elastic \
--src_password ****** \
--dst_password ****** \
--indices '*2024.06*' \
--updates-settings '[{"action": "update", "key": "index.number_of_shards", "value": 6}]' \
--index_suffix _v2