elasticsearch 大数据分析(大数据ELK六)

#创作挑战赛#

安装 Elasticsearch

elasticsearch 大数据分析(大数据ELK六)(1)

一、创建普通用户

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

elasticsearch 大数据分析(大数据ELK六)(2)

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

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

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

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页