Руководство по использованию инструмента ES_IndexPropertiesSync «Лучшая практика»
Руководство по использованию инструмента ES_IndexPropertiesSync «Лучшая практика»

иллюстрировать

Проблемы и решения, описанные в этой статье, также применимы к Тенсент Облако 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.

1. Подготовка

Подготовка сервера

Подготовьте сервер, который может получить доступ к экземпляру ES, и его сетевое окружение должно быть взаимосвязанным;

2. Метод исполнения

2.1. Установка в один клик

Установите ES_IndexPropertiesSync:

Centos
Язык кода:javascript
копировать
rpm -vih https://tools-release-12345678.cos.ap-shanghai.myqcloud.com/elasticsearch/packages/es-index-properties-sync-xxxx.x86_64.rpm

Или скачайте, загрузите и затем установите с помощью rpm:

Язык кода:javascript
копировать
rpm -vih es-index-properties-sync-lastest.x86_64.rpm
Ubuntu
Язык кода:javascript
копировать
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 для установки:

Язык кода:javascript
копировать
dpkg -i es-index-properties-sync-lastest.amd64.deb

После завершения установки будет сгенерирована команда es-backup-progress, см. справку:

Язык кода:javascript
копировать
es-index-properties-sync --help

2.2. параметриллюстрировать

Язык кода:javascript
копировать
  --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     тайм-аутпараметр

2.3. Пример выполнения

Пример 1

● Экземпляры ES не имеют аутентификации по паролю.

● Синхронизировать все индексы (за исключением системных индексов, начинающихся с .)

Язык кода:javascript
копировать
es-index-properties-sync --src_url http://10.0.10.xx:9200 --dst_url http://10.0.10.xx:9200 --indices '*,-.*'

Пример 2

● Экземпляры ES имеют аутентификацию по паролю, а имя пользователя по умолчанию является гибким.

● Синхронизировать индекс подстановочного знака, начинающийся с указанного символа.

● Удалить параметр настройки.

Язык кода:javascript
копировать
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"}]'

Пример 3

● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.

● Назначенный порт экземпляра ES.

● Синхронизировать указанные индексы.

● Удалять & Исправлять setting параметр

● Удалять & Исправлять mapping параметр

Язык кода:javascript
копировать
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"}]'

Пример 4

● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.

● Назначенный порт экземпляра ES.

● Синхронизировать указанные индексы.

Исправлять mapping параметр и значение содержит одинарные кавычки

Язык кода:javascript
копировать
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'\''"}]'

Пример 5

● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.

● Назначенный порт экземпляра ES.

● Синхронизировать указанные индексы.

Совместимость с 7–8 самостоятельно разработанными параметрами

Язык кода:javascript
копировать
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"}]'

Пример 6

● Экземпляр ES имеет аутентификацию по паролю и указывает имя пользователя.

● Назначенный порт экземпляра ES.

● Синхронизировать указанные индексы.

● Исправлять Шардингпараметр

●Укажите суффикс

Язык кода:javascript
копировать
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
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.