写点什么

大数据 ELK(六):安装 Elasticsearch

作者:Lansonli
  • 2022 年 9 月 28 日
    广东
  • 本文字数:2709 字

    阅读完需:约 9 分钟

大数据ELK(六):安装Elasticsearch

安装 Elasticsearch

一、创建普通用户

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

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

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

useradd lansonpasswd lanson
复制代码


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

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

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

visudo# 第100行lanson      ALL=(ALL)       ALL
复制代码


三、上传压缩包并解压

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

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


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

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

# 解压Elasticsearchcd /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/configmkdir -p /export/server/es/elasticsearch-7.6.1/logmkdir -p /export/server/es/elasticsearch-7.6.1/datarm -rf elasticsearch.yml
vim elasticsearch.ymlcluster.name: lanson-esnode.name: node1path.data: /export/server/es/elasticsearch-7.6.1/datapath.logs: /export/server/es/elasticsearch-7.6.1/lognetwork.host: node1http.port: 9200discovery.seed_hosts: ["node1", "node2", "node3"]cluster.initial_master_nodes: ["node1", "node2"]bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"
复制代码


2、修改 jvm.option

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

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

cd /export/server/es/elasticsearch-7.6.1/configvim jvm.options-Xms2g-Xmx2g
复制代码


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

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

cd /export/server/es/scp -r elasticsearch-7.6.1/ node2:$PWDscp -r elasticsearch-7.6.1/ node3:$PWD
复制代码


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

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

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

cd /export/server/es/elasticsearch-7.6.1/configmkdir -p /export/server/es/elasticsearch-7.6.1/logmkdir -p /export/server/es/elasticsearch-7.6.1/data
vim elasticsearch.ymlcluster.name: lanson-esnode.name: node2path.data: /export/server/es/elasticsearch-7.6.1/datapath.logs: /export/server/es/elasticsearch-7.6.1/lognetwork.host: node2http.port: 9200discovery.seed_hosts: ["node1", "node2", "node3"]cluster.initial_master_nodes: ["node1", "node2"]bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.cors.allow-origin: "*"
复制代码


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

cd /export/server/es/elasticsearch-7.6.1/configmkdir -p /export/server/es/elasticsearch-7.6.1/logmkdir -p /export/server/es/elasticsearch-7.6.1/data
vim elasticsearch.ymlcluster.name: lanson-esnode.name: node3path.data: /export/server/es/elasticsearch-7.6.1/datapath.logs: /export/server/es/elasticsearch-7.6.1/lognetwork.host: node3http.port: 9200discovery.seed_hosts: ["node1", "node2", "node3"]cluster.initial_master_nodes: ["node1", "node2"]bootstrap.system_call_filter: falsebootstrap.memory_lock: falsehttp.cors.enabled: truehttp.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 用户执行以下命令修改配置文件

Centos6sudo vi /etc/security/limits.d/90-nproc.confCentos7sudo 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

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

发布于: 刚刚阅读数: 7
用户头像

Lansonli

关注

微信公众号:三帮大数据 2022.07.12 加入

CSDN大数据领域博客专家,华为云享专家、阿里云专家博主、腾云先锋(TDP)核心成员、51CTO专家博主,全网六万多粉丝,知名互联网公司大数据高级开发工程师

评论

发布
暂无评论
大数据ELK(六):安装Elasticsearch_ES_Lansonli_InfoQ写作社区