安装配置elasticsearch 7.5.1群集

本博文只用于实现简单群集配置,更深入的资料可以参考官方文档

一、安装前准备

环境如下:

系统版本 IP 角色
centos 7.5 192.168.20.2 ES 01、logstash、ES-Head、logstash、kibana
centos 7.5 192.168.20.7 ES 02
centos 7.5 192.168.20.8 ES 03

注:文中用到的所有软件包,均可在我的网盘链接中下载,或者去es中文社区下载es相关组件。

1、配置域名解析

[[email protected] src]# cat > /etc/hosts << EOF
> 192.168.20.2    node01
> 192.168.20.7    node02
> 192.168.20.8    node03
> EOF
> #将hosts文件发送到其他节点
[[email protected] src]# scp /etc/hosts [email protected]:/etc/hosts
[[email protected] src]# scp /etc/hosts [email protected]:/etc/hosts

2、配置java环境

注:以下操作需要在所有节点上进行配置。

JDK官方下载地址

#卸载自带的java环境
[[email protected] src]# rpm -qa | grep jdk
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
copy-jdk-configs-3.3-2.el7.noarch
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
[[email protected] src]# rpm -e java-1.8.0-openjdk-headless --nodeps
[[email protected] src]# rpm -e java-1.7.0-openjdk-headless --nodeps
#配置jdk环境
[[email protected] src]# tail -4 /etc/profile   #追加内容如下
export JAVA_HOME=/usr/local/jdk1.8.0_241
export JRE_HOME=/usr/local/jdk1.8.0_241/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#刷新配置并查看配置是否正确
[[email protected] src]# . /etc/profile
[[email protected] src]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

二、配置ELK群集

1、下载es的rpm安装包

注:下载安装的操作需要再所有节点上执行

#下载并安装elasticsearch
[[email protected] src]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-x86_64.rpm
[[email protected] src]# rpm -ivh elasticsearch-7.5.1-x86_64.rpm
#设置开机自启动
[[email protected] src]# systemctl daemon-reload
[[email protected] src]# systemctl enable elasticsearch.service

2、优化es(可跳过)

1)修改其默认使用内存大小

#查看elasticsearch的配置文件目录
[[email protected] elasticsearch]# pwd
/etc/elasticsearch
[[email protected] elasticsearch]# ls
elasticsearch.keystore  jvm.options        role_mapping.yml  users
elasticsearch.yml       log4j2.properties  roles.yml         users_roles
#elasticsearch默认内存使用为1G,可以更改如下配置,修改其默认使用内存
[[email protected] elasticsearch]# cat jvm.options
-Xms1g
-Xmx1g

2)修改其打开文件数的大小

如果服务器文件数上线和线程上线较低,就会产生如下异常:

1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]每个进程最大同时打开文件数太小

2. max number of threads [3818] for user [es] is too low, increase to at least [4096]最大线程个数太低

可以进行以下修改,以便修改可打开文件数的大小

[[email protected] elasticsearch]# vim /etc/security/limits.conf
*               soft    nofile          65536
*               hard    nofile          65536
*               soft    nproc           4096
*               hard    nproc           4096
#注:修改上述配置后,需要退出当前用户再重新登录才可生效
#重新登录后,可以使用以下命令查看是否生效
#查看最大线程个数
[[email protected] elasticsearch]# ulimit -Hu
4096
[[email protected] elasticsearch]# ulimit -Su
4096
#查看每个进程最大同时打开文件数
[[email protected] elasticsearch]# ulimit -Sn
65536
[[email protected] elasticsearch]# ulimit -Hn
65536

3、配置es集群

1)node01配置如下

[[email protected] ~]# vim /etc/elasticsearch/elasticsearch.yml     #修改es主配置文件
cluster.name: my-es       #群集名称
node.name: node01        #es节点名称
bootstrap.memory_lock: false      #启动时不锁定内存
network.host: 0.0.0.0           #监听地址
http.port: 9200                 #监听端口
discovery.seed_hosts: ["node01", "node02", "node03"]    #这里指定参与集群的主机节点
cluster.initial_master_nodes: ["node01", "node02", "node03"]     #同上
#在配置文件末尾添加以下内容,后面es-head连接es群集时需要
http.cors.enabled: true                #添加该行,开启跨域访问支持
http.cors.allow-origin: "*"            #添加该行,跨域访问允许的域名地址
#启动服务,并将修改好的配置文件发送到其他节点
[[email protected] ~]# systemctl start elasticsearch
[[email protected] ~]# scp /etc/elasticsearch/elasticsearch.yml [email protected]:/etc/elasticsearch/
[[email protected] ~]# scp /etc/elasticsearch/elasticsearch.yml [email protected]:/etc/elasticsearch/

2)配置其他节点

#node02节点配置如下(修改节点名称即可)
[[email protected] ~]# sed -i ‘s#node.name: node01#node.name: node02#g‘ /etc/elasticsearch/elasticsearch.yml
[[email protected] ~]# systemctl start elasticsearch
#node03节点配置如下
[[email protected] ~]# sed -i ‘s#node.name: node01#node.name: node03#g‘ /etc/elasticsearch/elasticsearch.yml
[[email protected] ~]# systemctl start elasticsearch

3)查看群集是否配置成功

访问各个节点的9200端口,即可看到如下页面:

4、配置elasticsearch Head

谷歌提供的有elasticsearch head插件,在应用商店搜索如下即可安装:

虽然可以使用chrome的插件,但是每个使用者都需要安装chrome,并安装ElasticSearch head插件。由于目前google被国内限制的缘故,安装chrome比较麻烦。作为替代方案,我们可以在linux服务器安装ElasticSearch Head应用。

该插件在github存在,可以参考安装。

注:以下配置在其中一个节点进行即可

[[email protected] ~]# git clone git://github.com/mobz/elasticsearch-head.git
[[email protected] ~]# cd elasticsearch-head/
#安装epel源及更新openssl
[[email protected] elasticsearch-head]# yum -y install epel-release
[[email protected] elasticsearch-head]# yum -y update openssl
#安装npm(注:必须安装epel源才可安装npm)
[[email protected] elasticsearch-head]# yum -y install npm
[[email protected] elasticsearch-head]# npm install

注:如果在执行npm install命令时,长时间停留在如下界面,或者报错,只需Ctrl+c终止后重新运行该命令即可。

后台启动elasticsearch head,否则会一直占用当前终端:

[[email protected] elasticsearch-head]# npm run start &   #后台启动
[[email protected] ~]# ss -lnp | grep 9100          #确定9100端口在监听

浏览器访问elasticsearch head所在主机的9100端口,并连接到es群集的9200端口,即可在浏览器查看群集状态,如下:

注:Elasticsearch默认不允许第三方接入,可以修改Elasticsearch的配置文件elasticsearch.yml,添加如下所示配置(我在第一次修改配置文件时,已经增加了如下配置):

http.cors.enabled: true
http.cors.allow-origin: "*"

5、安装kibana

1)下载并安装kibana

[[email protected] ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-7.5.1-x86_64.rpm
[[email protected] src]# rpm -ivh kibana-7.5.1-x86_64.rpm

2)配置kibana

[[email protected] ~]# vim /etc/kibana/kibana.yml       #编辑主配置文件
server.host: "0.0.0.0"         #指定kibana监听地址
elasticsearch.hosts: ["http://192.168.20.2:9200","http://192.168.20.7:9200","http://192.168.20.8:9200"]
#指定es监听地址,可以写群集中的某一个节点监听地址
kibana.index: ".kibana"             #在elasticsearch中添加.kibana索引
#设置开机自启并启动kibana
[[email protected] ~]# systemctl enable kibana
[[email protected] ~]# systemctl start kibana
[[email protected] ~]# ss -lnp | grep 5601          #确定kibana端口在监听
tcp    LISTEN     0      128       *:5601                  *:*                   users:(("node",pid=2593,fd=28))

2)汉化kibana(可选)

由于kibana 7之前的版本,官方并没有支持中文,需要另外下载补丁包。
地址:https://github.com/anbai-inc/Kibana_Hanization

kibana 7的版本,官方加入了中文的选项,只需要修改kibana的配置文件即可,如下:

[[email protected] bin]# sed -i ‘s/#i18n.locale: "en"/i18n.locale: "zh-CN"/g‘ /etc/kibana/kibana.yml

注:修改配置文件后,记得重启生效哦!

启动完成后,访问主机的5601端口,即可看到如下界面:

6、安装logstash收集日志

在实际生产环境中,大多中小架构可能是这样的:filebeat===》kafka===》logstash===》elasticsearch===》kibana。我这里只是想将新版的某些组件安装配置一下,所以省略了前两个,直接用logstash来收集主机日志了。

注:下面收集的有nginx的日志,请自行配置nginx。


#下载logstash并安装
[[email protected] src]# wget https://artifacts.elastic.co/downloads/logstash/logstash-7.5.1.rpm
[[email protected] src]# rpm -ivh logstash-7.5.1.rpm
#设置开机自启
[[email protected] src]# systemctl daemon-reload
[[email protected] src]# systemctl enable logstash.service
#编辑配置文件,收集日志
[[email protected] src]# cd /etc/logstash/conf.d/
[[email protected] conf.d]# vim nginx_log.conf
input {
    file{
      path => "/var/log/messages"
      type => "system"
      start_position => "beginning"
        }
    file{
       path => "/var/log/nginx/access.log"
       type => "access"
       start_position => "beginning"
        }
    file{
       path => "/var/log/nginx/error.log"
       type => "error"
       start_position => "beginning"
        }
    }

output {
    if [type] == "system" {
        elasticsearch {
            hosts => ["192.168.20.2:9200"]
            index => "system-%{+YYYY.MM.dd}"
            }
            }
    if [type] == "access" {
        elasticsearch {
            hosts => ["192.168.20.2:9200"]
            index => "access-%{+YYYY.MM.dd}"
            }
            }

    if [type] == "error" {
        elasticsearch {
            hosts => ["192.168.20.2:9200"]
            index => "error-%{+YYYY.MM.dd}"
            }
            }
}
[[email protected] conf.d]# chmod +r /var/log/messages       #赋予该目录其他人的读权限
[[email protected] conf.d]# ln -sf /usr/share/logstash/bin/logstash /usr/local/bin/    #对命令做软连接
[[email protected] conf.d]# systemctl start logstash     #启动服务
[[email protected] conf.d]# logstash -f nginx_log.conf &    #放入后台运行

7、登录es查看是否创建索引

显示如下,表示正常:

好了,至于kibana如何添加索引,自行研究吧,没有耐心写了,可以参考我之前的博文来进行添加kibana上的索引。

原文地址:https://blog.51cto.com/14154700/2468544

时间: 2024-10-08 20:24:59

安装配置elasticsearch 7.5.1群集的相关文章

ubuntu安装配置elasticSearch

##markdown在ubuntu安装配置### ####安装jdk#### > sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer sudo update-alternatives --config java #####安装elasti

Centos7下安装配置Elasticsearch 6及相关问题的处理

1.安装步骤省略,这里可以在官网直接下载tar包解压即可使用 2.修改配置文件操作(主上面的操作): [[email protected] ~]# vim /usr/local/elk/elasticsearch-6.2.4/config/elasticsearch.yml cluster.name: Jiang     #添加集群的名字 node.name: jiang        #添加节点名字,和主机名一致便可 node.master: true       #打开主节点 node.da

安装配置elasticsearch

一.安装elasticsearch 获取elasticsearch的rpm:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.1.rpm 具体版本在es官网获取:https://www.elastic.co/downloads/past-releases 二.yum安装 yum -y install elasticsearch-6.4.1.rpm 三.配置 vim /etc/elasticsea

ElasticSearch 安装配置

1.   Elasticsearch5.5.2安装 1.1.Elasticsearch安装步骤 #安装之前需安装java 环境,并配置JAVA_HOME环境变量 #直接下载Elasticsearch-5.5.2 稳定版的.tar.gz包 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz #下载完成后,发布SHA签名 sha1sum elasticsearch-5.5.2.tar

分布式搜索引擎Elasticsearch安装配置

分布式搜索引擎Elasticsearch 介绍 Elasticsearch是一个基于Lucene的开源分布式搜索引擎,具有分布式多用户能力.Elasticsearch是用java开发,提供Restful接口,能够达到实时搜索.高性能计算:同时Elasticsearch的横向扩展能力非常强,不需要重启服务,基本上达到了零配置.但是目前来说相关资料很少,同时版本更新很快,bug存在,API繁多并且变化. 概念和设计 索引 索引(index)是Elasticsearch存放数据的地方.如果你熟悉关系型

Elasticsearch笔记(一)—Elasticsearch安装配置

原文链接:https://my.oschina.net/jhao104/blog/644909 摘要: ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 一.安装Elasticsearch ·安装Elasticsearch唯

linux上Elasticsearch 安装配置、网页访问

一.ElasticSearch简述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的.我们希望搜索解决方案要运行速度快,我们希望能有一个零配

Windows 2008群集与SQL Server 2008群集安装配置

一.摘要: 本文主要讲述如何在windows server 2008 R2 系统上安装 SQL server 2008 的集群配置. 二.准备: 最少事先需准备三台服务器(理由看这里https://support.microsoft.com/zh-cn/kb/2795523),我此次的实验是在台式机电脑上面安装的,系统安装这里不讲.如果没有主机设备的,此实验可在vmware虚拟机上面安装实现.基本上大同小异,虚拟机这块我在这就不讲了. 因为手上没有存储服务器,所有只能用微软的iscsiTarge

elasticsearch的安装配置以及初步使用

elasticsearch 是一个全文搜索引擎,支持分布式.搜索速度非常快速. 本文主要进行了 elasticsearch  的安装 配置 以及初步的使用功能: -- 下载 放到 /data/soft 目录 wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.1.0/elasticsearch-2.1.0.tar.gz--