Руководство по установке Elasticsearch8.13.0
Руководство по установке Elasticsearch8.13.0

1. Загрузите установочный пакет Elasticsearch8.13.0.

Язык кода:bash
копировать
curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.0-linux-x86_64.tar.gz
curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.0-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c - 
tar -xzf elasticsearch-8.13.0-linux-x86_64.tar.gz
cd elasticsearch-8.13.0/ 

2. Настройте рабочую среду JVM.

Язык кода:bash
копировать
vi /etc/profile
#Добавляем следующие строки в профиль
export JAVA_HOME=/data/elasticsearch-8.13.0/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#Сохранить и выйти
:wq
#Компилируем файлы и обновляем конфигурации
source /etc/profile

3. Измените квоту памяти кучи JVM узла Elasticsearch.

Язык кода:bash
копировать
cd /data/elasticsearch-8.13.0
vi config/jvm.options
#Измените следующие две строки, уменьшив вдвое объем памяти узла, и установите максимум на 32 ГБ.
-Xms32g
-Xmx32g

#Сохранить и выйти
:wq

4. Настройте файл конфигурации Elasticsearch и настройте параметры работы кластера.

Язык кода:yml
копировать
#Редактировать elasticsearch.yml
vi elasticsearch.yml
#Обновите следующее содержимое конфигурации
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: es-cluster
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: DATA-01
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /esdata
#
# Path to log files:
#
path.logs: /var/log/elasticsearch
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
#
network.host: 20.20.1.1
#
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
#
http.port: 9200
transport.port: 9300
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
discovery.seed_hosts: ["20.20.1.1", "20.20.1.2", "20.20.1.2"]
discovery.find_peers_interval: 120s
action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*
node.roles: [master,data_content,data_hot,data_cold,data_warm,remote_cluster_client,ingest,transform,ml]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["DATA-01", "DATA-02", "DATA-03"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Allow wildcard deletion of indices:
#
#action.destructive_requires_name: false

#Сохранить и выйти
:wq

5. Создайте сертификат pem и настройте аутентификацию безопасности xpack.

Язык кода:yml
копировать
#использовать Elasticsearch Поставляется с инструментом генерации сертификатов для создания CA и сертификат
./bin/elasticsearch-certutil ca
#Используем сгенерированный CA Сертификат Создать сертификат для кластера
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

#Сгенерированный сертификат можно поместить в соответствующее место и обновить elasticsearch.yml в xpack.security.transport.ssl настройки, указывая на новый файл сертификата
#существовать elasticsearch.yml обновляет следующую конфигурацию безопасности:
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: /data/elasticsearch-8.13.0/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /data/elasticsearch-8.13.0/elastic-certificates.p12
xpack.security.enabled: true

Вы можете проверить правильность сертификата, используя следующую команду.

Язык кода:bash
копировать
openssl pkcs12 -info -in /data/elasticsearch-8.13.0/elastic-stack-ca.p12

6. Установите vm.max_map_count

Язык кода:bash
копировать
#Максимальное количество отображений в области виртуальной памяти системы (vm.max_map_count) Недостаточная конфигурация приводит к Elasticsearch Невозможно выделить достаточно памяти. Эластичный поиск Для правильной работы требуется большая область виртуальной памяти.
#Редактируем файл sysctl.conf
vi /etc/sysctl.conf 
#существоватьдобавлено в конце файла
vm.max_map_count=262144
#Сохранить и выйти
:wq
#Обновление конфигурации, вступает в силу немедленно
sudo sysctl -p
#Выполните следующую команду, чтобы убедиться vm.max_map_count Уже установлено на 262144
sysctl vm.max_map_count

7. Сохраните пароль сертификата в хранилище ключей Elasticsearch.

Язык кода:bash
копировать
#существоватьза единицуElasticsearchВыполните следующие две команды на узле,и введите пароль, установленный при создании сертификата
./bin/elasticsearch-keystore добавить xpack.security.transport.ssl.keystore.secure_password
./bin/elasticsearch-keystore добавить xpack.security.transport.ssl.truststore.secure_password

8. Настройте учетную запись Elasticsearch и измените соответствующие разрешения.

Язык кода:bash
копировать
useradd elasticsearch
groupadd elasticsearch
usermod -a -G elasticsearch elasticsearch
#Измените пользователя и группу пользователей в каталоге и файлах установки Elasticsearch.
chown -R elasticsearch:elasticsearch elasticsearch-8.13.0

9. Запустите Elasticsearch.

Язык кода:bash
копировать
#Учетную запись root нельзя использовать при запуске службы Elasticsearch, поэтому вам необходимо переключиться на учетную запись Elasticsearch.
su elasticsearch 
#Запустите Elasticsearch и проверьте, нормально ли он запускается и нет ли ошибок.
./bin/elasticsearch
#Если запуск проходит нормально, для запуска можно использовать процесс демона.
./bin/elasticsearch -d -p pid

10. Проверьте, успешно ли запускается Elasticsearch.

Язык кода:txt
копировать
ps -aux|grep elasticsearch

Язык кода:txt
копировать
curl -u elastic:passwd 20.20.1.1:9200

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода