ElasticSearch7.3.2-кластерная конструкция

Elasticsearch

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-код моей публичной учетной записи, пожалуйста, обратите внимание.

秋夜无霜