CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

这篇具有很好参考价值的文章主要介绍了CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

CentOS 7下安装ElasticSearch7.6.1详细教程
ElasticSearch客户端Kibana7.6.1安装教程
ElasticSearch分词器IK安装教程
Elasticsearch-head插件安装教程

想要学习ElasticSearch技术,需要在服务器搭建ElasticSearch环境。

一、安装Elasticsearch

1、版本声明

CenOS:7;
JDK:1.8;
Elasticsearch:7.6.1;
CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

2、创建普通用户

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

使用root用户在服务器执行以下命令。

先创建组, 再创建用户:
1)创建 elasticsearch 用户组

[root@localhost ~] groupadd elasticsearch

2)创建用户 shcms 并设置密码

[root@localhost ~] useradd shcms
[root@localhost ~] passwd shcms

3) 创建es文件夹,并修改owner为cms用户

[root@localhost ~] mkdir -p /opt/es

4)用户es 添加到 elasticsearch 用户组

[root@localhost ~] usermod -G elasticsearch shcms
# 此处我们需要先到/opt/es目录下创建elasticsearch-7.6.1目录,然后才能执行下面的命令
[root@localhost ~] chown -R shcms /opt/es/elasticsearch-7.6.1

5)设置sudo权限

#为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
#三台机器使用root用户执行visudo命令然后为es用户添加权限
[root@localhost ~] visudo

#在root ALL=(ALL) ALL 一行下面添加一行:shcms ALL=(ALL) ALL

CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

6)添加成功保存后切换到shcms用户操作

[root@localhost ~] su shcms
[shcms@localhost root]$

3、上传压缩包并解压

使用【shcms】用户来执行以下操作:

  1. 将es安装包上传到指定服务器
  2. 并使用es用户(shcms)执行以下命令解压。

1) 上传压缩包

[root@localhost ~] su root
[root@localhost ~] rz -be 

CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

2 ) 解压Elasticsearch

[root@localhost ~] su shcms
[shcms@localhost root]$

3 ) 由于我们前面创建了elasticsearch-7.6.1目录,此处我们直接解压覆盖这个目录即可

[shcms@localhost root] tar -zvxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /opt/es/

CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

4、修改配置文件

4.1 修改elasticsearch.yml

1)在/opt/es/elasticsearch-7.6.1/下创建data和log目录

[shcms@localhost root] mkdir -p /opt/es/elasticsearch-7.6.1/log
[shcms@localhost root] mkdir -p /opt/es/elasticsearch-7.6.1/data

2)进入服务器使用shcms用户来修改配置文件

[root@localhost ~] su shcms
[shcms@localhost root]$
[shcms@localhost root] cd /opt/es/elasticsearch-7.6.1/config
[shcms@localhost config] rm -rf elasticsearch.yml
[shcms@localhost config] vim elasticsearch.yml

3)讲以下配置复制到elasticsearch.yml中

# 集群名称, 处于同一个集群所有节点,该名称必须相同
cluster.name: cms-es-cluster

# 节点名称. 三台机器名字必须都不一样
node.name: node1

path.data: /opt/es/elasticsearch-7.6.1/data
path.logs: /opt/es/elasticsearch-7.6.1/log

# 网络绑定,这里我绑定 0.0.0.0,支持外网访问
network.host: 0.0.0.0
# 设置对外服务的http端口,默认为9200
http.port: 9200


# 集群发现。 集群配置:["192.168.43.10","192.168.43.11","192.168.43.12"]
discovery.seed_hosts: ["127.0.0.1"]
# 手动指定可以成为 master 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算。 集群配置:["node1","node2","node3"]
cluster.initial_master_nodes: ["node1"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false

# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"

4.2 修改jvm.option

修改jvm.option配置文件,调整jvm堆内存大小。
node1.shcms.cn使用shcms用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整。

[root@localhost ~] su shcms
[shcms@localhost root]$
[shcms@localhost root] cd /opt/es/elasticsearch-7.6.1/config
[shcms@localhost config] vim jvm.options

-Xms2g
-Xmx2g

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

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

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

问题错误信息描述:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

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

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

[root@localhost ~] su shcms
[shcms@localhost root]$
[shcms@localhost root]sudo vi /etc/security/limits.conf

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

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

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

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

问题错误信息描述:
max number of threads [1024] for user [es] likely too low, increase to at least [4096]

原因:
无法创建本地线程问题, 用户最大可创建线程数太小。

解决方案:
修改90-nproc.conf 配置文件(修改普通用户可以创建的最大线程数)。

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

[root@localhost ~] su shcms
[shcms@localhost root]$

# Centos6
[shcms@localhost root] sudo vi /etc/security/limits.d/90-nproc.conf
# Centos7(我的是7)
[shcms@localhost root] 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]

原因:
最大虚拟内存太小(调大系统的虚拟内存)。

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

三台机器执行以下命令 :
1)切换root用户

[root@localhost ~] su 
[root@localhost root]$

2)编辑 /etc/sysctl.conf,追加以下内容:vm.max_map_count=262144

3)保存后,执行:sysctl -p

4、重新连接

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

三、启动ES服务

1、开放服务器端口

对于我而言,我是把远程服务器防火墙永久关闭了的,所以外界可以访问我服务器任意端口(包括ES的9200端口)。

关闭Linux防火墙:

永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

2、启动ES

三台机器使用shcms用户执行以下命令启动es服务。
1、切换shcms用户:

su shcms

2、

后台启动ES 进入bin目录 ./elasticsearch -d

CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

3、启动成功之后jsp即可看到es的服务进程:
CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

4、并且访问页面http://192.168.43.10:9200/?pretty ,能够看到es启动之后的一些信息:
CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

3、常见错误分析

问题1:
如果哪一台机器服务启动失败,那么就到哪一台机器的/opt/es/elasticsearch-7.6.1/log这个路径下面去查看错误日志;

问题2:
如果服务端ES启动成功,但是客户端访问不了ES,则可能是服务器端没有开放端口。可以尝试关闭Linux防火墙:

永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

问题3:
如果启动ES的时候出现 Permission denied则可能是当前的用户没有对XX文件或目录的操作权限;

四、ES集群配置

1、准备三台虚拟机

IP分别是:192.168.43.10、192.168.43.11、192.168.43.12.

2、删除nodes文件

如果前面已经搭建了单机的es,现在准备讲该服务器的es当中集群中的一个节点,那么该目录下的nodes必须删掉,删掉之后再重启es。否则集群节点启动的时候会发现:es1启动,es2启动后es1终止,es3启动后es2终止。
CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

3、修改配置

搭建es集群的步骤和上面搭建es单机的步骤是一样的。

  1. 唯一需要修改的地方是elasticsearch.yml文件中的:node.name、discovery.seed_hosts、cluster.initial_master_nodes三项。具体的修改我已在上面的elasticsearch.yml文件注释中写了;
    CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

  2. kibana只需要在一台es机器中安装就行了;

当然,如果嫌弃需要在每台机器重复配置ES,我们可以直接对虚拟机进行【克隆】,然后对克隆后的机器分别修改elasticsearch.yml。虽然,三台机器都有kibana,但是实际上我们只需要启动一个kibana即可(克隆后机器的kibana配置文件中host指向需要指向新机器IP)。

4、启动

  1. 分别启动三台机器的ES;
  2. 启动kibana(我只在192.168.43.10机器上启动kibana)

5、通过kibana访问es

http://192.168.43.10:5601/app/kibana#/dev_tools/console
CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

带“ * ”表示主机。文章来源地址https://www.toymoban.com/news/detail-407045.html

到了这里,关于CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos7.6部署ELK集群(一)之elasticsearch7.7.0集群部署

    32.3. 部署es7.7.0 32.3.1. 下载es(各节点都做) wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz 32.3.2. 解压至安装目录(各节点都做) tar -xvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /vmdata/ 32.3.3. 创建es用户并设置密码(各节点都做) ES 7.x 开始不再允许以任何方

    2023年04月17日
    浏览(31)
  • CentOS7(Linux)详细安装教程(手把手图文详解版)_centos7安装教程

    3、选择合适版本的镜像进行下载 选择合适的存放地址(这里的地址包含中文名称我用起来好像也没出啥问题,如果怕出错的同学可以使用全英文) 1、打开我们的虚拟机(VMware Workstation),点击文件进行新建 2、选择典型之后,下一步 3、选择稍会安装操作系统 4、因为安装的

    2024年04月29日
    浏览(38)
  • Centos7超详细安装教程

    Centos 7适合初入门的带图形化的界面系统安装 本文是基于VMware虚拟机,centos7 64位安装教学 一、软件准备 VMware 虚拟机安装 官网下载链接:VMware pro 17 下载链接 vm安装教学就不在细说,纯傻瓜式安装 Centos 7镜像文件下载 下载地址:清华大学镜像下载地址 阿里云镜像下载地址

    2024年02月16日
    浏览(28)
  • CentOS7图文详细安装教程

    点击创建新的虚拟机 选择自定义高级 默认选择即可 稍后安装操作系统 选择linux-CentOS 7 64位 输入虚拟机名称和选择要安装的位置 根据电脑配置和用途选择合适的核心数 根据电脑配置和用途选择合适的内存 我这里选择模式为NAT,根据实际情况选择即可 IO和磁盘我都默认 这里

    2024年02月04日
    浏览(37)
  • Centos7安装docker详细教程

    一、安装docker 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本 2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 3、卸载旧版本(如果安装过旧版本的话) 4、安装需要的软件

    2024年02月12日
    浏览(33)
  • Centos7 安装Redis详细教程

    本文主要介绍如果在Centos7下安装Redis。         redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装: 如果没有安装则通过以下命令安装: 官网下载地址:Download | Redis 5.1 直接启动(不建议启动) 5.2 通过守护进程方式

    2023年04月26日
    浏览(52)
  • CentOS7源码安装MySQL详细教程

    😊 @ 作者: Eric 💖 @ 主页: https://blog.csdn.net/weixin_47316183?type=blog 🎉 @ 主题: CentOS7源码安装MySQL详细教程 ⏱️ @ 创作时间: 2023年08月014日 安装方式 特点 rmp 安装简单、灵活性差、无法灵活选择版本、升级 rpm repository 安装包极小,版本安装简单灵活,升级方便,需要联网安

    2024年02月12日
    浏览(27)
  • centos安装elasticsearch7.9

    下载地址如下,版本号可以替换成自己想要的。 这里需要注意一点,需要根据你服务器的内核来进行选择,如下图所示,我就应该选择aarch64版本的,否则运行的时候会报错cannot execute binary file: Exec format error https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-aarch64.

    2024年02月12日
    浏览(32)
  • VMware Centos7下载安装教程(超详细)

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 点击进入 清华大学开源软件镜像站 1)点击【创建新的虚拟机】,或点击左上角【文件】-【新建虚拟机】 2)勾选【典型】,点击下一步 3)勾选【稍后安装操

    2024年04月08日
    浏览(64)
  • Centos7 安装MySQL 5.7图文详细教程

    检查当前系统是否安装过mysql 执行安装命令前,先执行查询命令 1. CentOS6 如果存在mysql-libs的旧版本包如下: 请先执行卸载命令: rpm -e --nodeps mysql-libs 2. CentOS7 先执行查询: rpm -qa|grep mariadb 如果存在mariadb执行删除: rpm -e --nodeps mariadb-libs 1. 将压缩包传到服务器 我这里用的是

    2024年02月04日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包