Как установить и развернуть Elasticsearch?

Elasticsearch

Это 14-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления

текст

Шаг 1: Создайте обычного пользователя

Примечание. ES не может быть запущен пользователем root и должен быть установлен и запущен обычным пользователем.

Здесь мы используем пользователя hadoop для установки нашего сервиса es.

Шаг 2: Загрузите и загрузите сжатый пакет, затем разархивируйте его.

Загрузите и загрузите установочный пакет es в /opt/bigdata/soft на сервере node01. Сервер node01 использует пользователя es для выполнения следующих команд.

[hadoop@node01 ~]$ cd /opt/bigdata/soft/
[hadoop@node01 soft]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz

[hadoop@node01 soft]$ tar -zxf elasticsearch-6.7.0.tar.gz  -C /opt/bigdata/install/

Шаг 3: Измените файл конфигурации

Изменить elasticsearch.yml

Сервер node01 использует пользователя hadoop для изменения файла конфигурации.

cd /opt/bigdata/install/elasticsearch-6.7.0/config/
mkdir -p /opt/bigdata/install/elasticsearch-6.7.0/logs/
mkdir -p /opt/bigdata/install/elasticsearch-6.7.0/datas
vim elasticsearch.yml
cluster.name: myes
node.name: node01
path.data: /opt/bigdata/install/elasticsearch-6.7.0/datas
path.logs: /opt/bigdata/install/elasticsearch-6.7.0/logs
network.host: 192.168.52.100
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

Изменить jvm.option

Измените файл конфигурации jvm.option, чтобы настроить размер памяти кучи jvm. Node01 использует пользователя es для выполнения следующих команд для настройки размера памяти кучи jvm, каждый человек настраивает в соответствии с размером памяти своего собственного сервера.

cd /opt/bigdata/install/elasticsearch-6.7.0/config
vim jvm.options

-Xms2g
-Xmx2g

Шаг 4: Распространите инсталляционный пакет на другие серверы

node01 использует пользователя es для распространения установочного пакета на другие серверы.

cd /opt/bigdata/install/
scp -r elasticsearch-6.7.0/ node02:$PWD
scp -r elasticsearch-6.7.0/ node03:$PWD

Пятый шаг: node02 и node03 изменяют файл конфигурации es

Node02 и node03 также необходимо изменить файл конфигурации es Node02 использует пользователя hadoop для выполнения следующей команды для изменения файла конфигурации es.

cd /opt/bigdata/install/elasticsearch-6.7.0/config/
vim elasticsearch.yml
cluster.name: myes
node.name: node02
path.data: /opt/bigdata/install/elasticsearch-6.7.0/datas
path.logs: /opt/bigdata/install/elasticsearch-6.7.0/logs
network.host: 192.168.52.110
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

node03 использует хауп

cd /opt/bigdata/install/elasticsearch-6.7.0/config/ 
vim elasticsearch.yml
cluster.name: myes
node.name: node03
path.data: /opt/bigdata/install/elasticsearch-6.7.0/datas
path.logs: /opt/bigdata/install/elasticsearch-6.7.0/logs
network.host: 192.168.52.120
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01", "node02", "node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

Шаг 6. Измените конфигурацию системы, чтобы решить проблему при запуске

Потому что сейчас для установки службы es используются обычные пользователи, а у службы es больше требований к ресурсам на сервере, включая размер памяти, количество потоков и т.д. Так что нам нужно развязать ограничения ресурсов для обычных пользователей

Решить проблему запуска 1: Максимальное количество открытых файлов для обычных пользователей ограничено

Описание сообщения об ошибке:

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

Поскольку ES необходимо создавать большое количество индексных файлов и открывать большое количество системных файлов, нам необходимо снять ограничение на максимальное количество открытых файлов в системе Linux, иначе ES при запуске выдаст ошибку. Три машины используют пользователя es для выполнения следующих команд, чтобы снять ограничение на открытие файловых данных.

sudo vi /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

Решить проблему запуска 2: ограничить количество потоков запуска для обычных пользователей

Три машины выполняют следующие команды, чтобы открыть максимальное количество файлов

sudo vi /etc/sysctl.conf

vm.max_map_count=655360
fs.file-max=655360

Выполните следующую команду, чтобы она вступила в силу

sudo sysctl -p

Примечание. После того, как две вышеупомянутые проблемы будут изменены, обязательно повторно подключитесь к Linux, чтобы изменения вступили в силу. Закройте инструмент secureCRT или XShell, а затем снова откройте инструмент для подключения к Linux.

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

[hadoop@node01 ~]$ ulimit -Hn
131072
[hadoop@node01 ~]$ ulimit -Sn
65536
[hadoop@node01 ~]$ ulimit -Hu
4096
[hadoop@node01 ~]$ ulimit -Su
4096

Шаг 7: Запустите службу ES

Три машины используют пользователя hadoop для выполнения следующей команды для запуска службы es.

nohup /opt/bigdata/install/elasticsearch-6.7.0/bin/elasticsearch 2>&1 &

После успешного запуска jsp может увидеть сервисный процесс es и получить доступ к странице

http://node01:9200/?pretty

Может видеть некоторую информацию после запуска es

Примечание. Если какая-либо служба компьютера не запускается, перейдите по пути /opt/bigdata/install/elasticsearch-6.7.0/logs того компьютера, чтобы просмотреть журнал ошибок.