1. Подготовка окружающей среды
Мы выбираем установку и развертывание на основе версии 7.3.2, на основе развертывания кластера, при условии, что у нас есть три виртуальных машины.node1-192.168.1.1
,node2-192.168.1.2
,node3-192.168.1.3
.
1.1, скачать и распаковать
Под пользователем root
su root
mkdir /opt/elastic
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar.gz
tar zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz
mv elasticsearch-7.3.2 elastic
1.2. Создайте гибкого пользователя и авторизуйте права доступа к каталогу.
На основе пользователя root создайте эластичную группу пользователей, добавьте эластичную пользовательскую и установите эластичную пароль.
groupadd elastic
useradd elastic -g elastic
passwd elastic
chown -R elastic:elastic /opt/elastic
chown -R elastic:elastic /var/elastic
2. Конфигурация параметров
2.1, конфигурация elasticsearch.yml
vim /opt/elastic/config/elasticsearch.yml
Больше конфигурации:woohoo.elastic.co/expensive/en/bad…
Введите одну из этих виртуальных машин (192.168.1.1), эталонная конфигурация выглядит следующим образом:
cluster.name: my-elasticsearch
node.name: node1
path.data: [/var/elastic/data]
path.logs: [/var/elastic/logs]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
network.host: 192.168.1.1
http.host: 192.168.1.1
transport.bind_host: 192.168.1.1
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9300","192.168.1.2:9300","192.168.1.3:9300"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: ["node1","node2","node3"]
node.master: true
node.data: true
http.cors.enabled : true
http.cors.allow-origin : "*"
http.max_initial_line_length: 12kb
http.cors.allow-credentials: true
http.cors.allow-headers: WWW-Authenticate,X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
Затем скопируйте на другие виртуальные машины (192.168.1.2, 192.168.1.3)
scp -P 22 ./elastic root@192.168.1.2:/opt/elastic
scp -P 22 ./elastic root@192.168.1.3:/opt/elastic
Измените конфигурацию elasticsearch.yml виртуальной машины (192.168.1.2) следующим образом.
cluster.name: my-elasticsearch
node.name: node2
path.data: [/var/elastic/data]
path.logs: [/var/elastic/logs]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
network.host: 192.168.1.2
http.host: 192.168.1.2
transport.bind_host: 192.168.1.2
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9300","192.168.1.2:9300","192.168.1.3:9300"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: ["node1","node2","node3"]
node.master: true
node.data: true
http.cors.enabled : true
http.cors.allow-origin : "*"
http.max_initial_line_length: 12kb
http.cors.allow-credentials: true
http.cors.allow-headers: WWW-Authenticate,X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
Измените конфигурацию elasticsearch.yml виртуальной машины (192.168.1.3) следующим образом.
cluster.name: my-elasticsearch
node.name: node3
path.data: [/var/elastic/data]
path.logs: [/var/elastic/logs]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
network.host: 192.168.1.3
http.host: 192.168.1.3
transport.bind_host: 192.168.1.3
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9300","192.168.1.2:9300","192.168.1.3:9300"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: ["node1","node2","node3"]
node.master: true
node.data: true
http.cors.enabled : true
http.cors.allow-origin : "*"
http.max_initial_line_length: 12kb
http.cors.allow-credentials: true
http.cors.allow-headers: WWW-Authenticate,X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
3. Конфигурация JVM
Поскольку ElasticSearch поставляется с виртуальной машиной, вам нужно установить размер кучи, просто нужно
vim /opt/elastic/config/jvm.options
Измените следующую конфигурацию
-Xms4g
-Xmx4g
4, начало
Основываясь на эластичном пользователе, последовательно запустите три узла.
su elastic
nohup /opt/elastic/bin/elasticsearch > /var/elastic/es.log >&1 &
Вы можете просмотреть журнал запуска
tail -200f /var/elastic/es.log
5. Установка Кибаны
Kibana эквивалентна navicat mysql, который является клиентом, мы можем установить его на одну из виртуальных машин.
5.1, скачать и распаковать
下载到
tar zxvf kibana-7.3.2-linux-x86_64.tar.gz
mv kibana-7.3.2 kibana
5.2, конфигурация параметров
vim /opt/kibana/config/kibana.yml
Конфигурация выглядит следующим образом:
server.port: 5601
server.host: 192.168.1.1
elasticsearch.hosts: ["http://192.168.1.1:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "elastic"
5.3, начало
nohup /opt/kibana/bin/kibana &
6. Возникшие проблемы
vm.max_map_count
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Перевод проблемы таков: права доступа к памяти, принадлежащие пользователю elasticsearch, слишком малы, по крайней мере, 262144;
решить:
переключиться на пользователя root
Выполнение заказа:sysctl -w vm.max_map_count=262144
Посмотреть Результаты:sysctl -a|grep vm.max_map_count
показывать:vm.max_map_count = 262144
После изменения вышеуказанного метода, если виртуальная машина будет перезапущена, она будет недействительной, поэтому:
Решение:
существует/etc/sysctl.conf
Добавить строку в конец файлаvm.max_map_count=262144
Ниже приведен QR-код моей публичной учетной записи, пожалуйста, обратите внимание.