2021年大数据ELK:安装Elasticsearch

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年大数据ELK:安装Elasticsearch相关的知识,希望对你有一定的参考价值。

全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 

新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。

目录

系列历史文章

安装Elasticsearch

一、创建普通用户

二、为普通用户添加sudo权限

三、上传压缩包并解压

四、修改配置文件

1、修改elasticsearch.yml

2、修改jvm.option

五、将安装包分发到其他服务器上面

六、node2与node3修改es配置文件

七、修改系统配置,解决启动时候的问题

1、普通用户打开文件的最大数限制

2、普通用户启动线程数限制

3、普通用户调大虚拟内存

八、启动ES服务


系列历史文章

2021年大数据ELK(六):安装Elasticsearch

2021年大数据ELK(五):Elasticsearch中的核心概念

2021年大数据ELK(四):Lucene的美文搜索案例

2021年大数据ELK(三):Lucene全文检索库介绍

2021年大数据ELK(二): Elasticsearch简单介绍

2021年大数据ELK(一):集中式日志协议栈Elastic Stack简介

安装Elasticsearch

一、创建普通用户

ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等。

创建一个es专门的用户(必须

# 使用root用户在三台机器执行以下命令

useradd lanson
passwd lanson

二、为普通用户添加sudo权限

为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作

三台机器使用root用户执行visudo命令然后为es用户添加权限

visudo
# 第100行
lanson      ALL=(ALL)       ALL

三、上传压缩包并解压

以下操作 使用root用户es的相关的目录, 三台虚拟机都需要创建

# 在node1、node2、node3创建es文件夹,并修改owner为lanson用户
mkdir -p /export/server/es
chown -R lanson:lanson /export/server/es

将es的安装包下载并上传到node1.服务器的/export/software路径下,然后进行解压

使用lanson用户来执行以下操作,将es安装包上传到node1服务器,并使用es用户执行以下命令解压。

# 解压Elasticsearch
cd /export/software/ 
tar -zvxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /export/server/es/

四、修改配置文件

1、修改elasticsearch.yml

node1服务器使用lanson用户来修改配置文件

cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
rm -rf elasticsearch.yml

vim elasticsearch.yml
cluster.name: lanson-es
node.name: node1
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node1
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

2、修改jvm.option

修改jvm.option配置文件,调整jvm堆内存大小

node1使用lanson用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整。

cd /export/server/es/elasticsearch-7.6.1/config
vim jvm.options
-Xms2g
-Xmx2g

五、将安装包分发到其他服务器上面

node1使用lanson用户将安装包分发到其他服务器上面去

cd /export/server/es/
scp -r elasticsearch-7.6.1/ node2:$PWD
scp -r elasticsearch-7.6.1/ node3:$PWD

六、node2与node3修改es配置文件

node与node3也需要修改es配置文件

node2使用lanson用户执行以下命令修改es配置文件

cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data

vim elasticsearch.yml
cluster.name: lanson-es
node.name: node2
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node2
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

node3使用lanson用户执行以下命令修改配置文件

cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data

vim elasticsearch.yml
cluster.name: lanson-es
node.name: node3
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node3
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

七、修改系统配置,解决启动时候的问题

由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚

1、​​​​​​​普通用户打开文件的最大数限制

问题错误信息描述

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

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

三台机器使用lanson用户执行以下命令解除打开文件数据的限制

sudo vi /etc/security/limits.conf

添加如下内容: 注意*不要去掉了

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

此文件修改后需要重新登录用户,才会生效

2、普通用户启动线程数限制

问题错误信息描述

max number of threads [1024] for user [es] likely too low, increase to at least [4096]

修改普通用户可以创建的最大线程数

max number of threads [1024] for user [es] likely too low, increase to at least [4096]
原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:修改90-nproc.conf 配置文件。

三台机器使用lanson用户执行以下命令修改配置文件

Centos6
sudo vi /etc/security/limits.d/90-nproc.conf
Centos7
sudo vi /etc/security/limits.d/20-nproc.conf

找到如下内容:

* soft nproc 1024
#修改为

* soft nproc 4096

3、普通用户调大虚拟内存

错误信息描述:

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

调大系统的虚拟内存

原因:最大虚拟内存太小

每次启动机器都手动执行下。

三台机器执行以下命令

第一种调整: 临时调整, 退出会话 重新登录 就会失效的 (测试环境下配置)

sudo  sysctl -w vm.max_map_count=262144    

第二种: 永久有效  (生产中配置)

sudo vim /etc/sysctl.conf

在最后添加一行

vm.max_map_count=262144  

备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效

八、​​​​​​​启动ES服务

三台机器使用lanson用户执行以下命令启动es服务

nohup /export/server/es/elasticsearch-7.6.1/bin/elasticsearch 2>&1 &

启动成功之后jsp即可看到es的服务进程,并且访问页面

http://node1:9200/?pretty

http://node2:9200/?pretty

http://node3:9200/?pretty

能够看到es启动之后的一些信息

注意:如果哪一台机器服务启动失败,那么就到哪一台机器的

/export/server/es/elasticsearch-7.6.1/log

这个路径下面去查看错误日志


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢大数据系列文章会每天更新,停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于2021年大数据ELK:安装Elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章

2021年大数据ELK(二十四):安装Kibana

2021年大数据ELK(二十一):Logstash简介和安装

2021年大数据ELK:安装Elasticsearch-head插件

2021年大数据ELK:安装Elasticsearch-head插件

2021年大数据ELK:Elasticsearch安装IK分词器插件

2021年大数据ELK:Elasticsearch安装IK分词器插件