zoukankan      html  css  js  c++  java
  • Centos 7安装和配置 ElasticSearch入门小白

    实验环境:

    操作系统:Centos 7.5

    服务器ip:192.168.1.198

    运行用户:root

    网络环境:Internet

    在企业生产环境有很多服务器的时候、很多业务模块的日志的时候运维人员需要每时每刻查看日志,这样的工作量是非常庞大的,这样就没有时间做其它的工作, Elasticsearch是个开源分布式搜索引擎,它的特点有:开源、灵活性、分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等,配置简单,一般都是结合Logstashkibana使用,现在做运维的都知道有一个ELK,就是ElasticsearchLogstashkibana的简写,使用比较广泛、功能强大,简化运维操作步骤,还可以实现有错误日志或者故障自动报警,如果服务器有故障,可以通过告警方式发送个管理员,支持企业微信、企业钉钉、短信等告警方式,大家可以尝试去部署,目前还支持docker部署。

    Elasticsearch是用来存储各类日志格式的组件;Logstash是用来收集、处理、分析日志等,并将其存储供以后使用;kibana是一个web可视化界面的日志查询组件,它可以为 Logstash  ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志展示出来。这3个组件都是开源的,而且是在Linux平台上面运行的,所以还是需要有点Linux基础才能部署,现在大型的企业一般都是在Linux部署ELK系统,如果没有Linux基础的可以去了解下Linux基础知识或者参考Linux就该这么学》网站上面的资料比较全面,直接在百度里面输入这本书的名称就能找到官网,此书名的作者是刘遄,此书比较适合企业应用,本文主要介绍在Linux操作系统下面如何安装及部署ElasticSearch组件。

    Elasticsearch非常容易上手,Elasticsearch是一个基于Apache的开源搜索引擎提供了许多合理的默认缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用(安装即可使用),只需懂点Linux基础及很少的学习既可在生产环境中使用Elasticsearch也使用Java开发并使用Lucene作为其核心架构来实现所有索引和搜索的功能性的组件,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单,比较适合于初学者

    运行环境

    JDK:1.8.0_171(JAVA_SE)

    Elasticsearch-6.3.1 (JDK只能用1.8版本)

    Logstash-6.3.1

    kibana-6.3.1

    、安装Java、Elasticsearch

    1、安装JDK

    下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;本环境下载的是64位tar.gz包,将安装包拷贝至安装服务器/usr/local目录

    [root@localhost ~]# cd /usr/local/ 

    [root@localhost local]# tar -xzvf jdk-8u171-linux-x64.tar.gz

    [root@localhost local]# mv jdk1.8.0_171 java

    2配置JDK环境变量

    方法一:

    [root@localhost local]# vim /etc/profile

    将下面的内容添加至文件末尾(假如服务器需要多个JDK版本,为了ELK不影响其它系统,也可以将环境变量的内容稍后添加到ELK的启动脚本中)

    JAVA_HOME=/usr/local/java

    JRE_HOME=/usr/local/java/jre

    CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar

    PATH=$PATH:$JAVA_HOME/bin

    [root@localhost local]# source /etc/profile

    [root@localhost local]# chmod +x /etc/rc.local

    [root@localhost local]# vim /etc/rc.local

    source /etc/profile    //添加此行

    方法二:

    直接java.sh放到/etc/profile.d/,重启系统

    [root@localhost local]# vim /etc/profile.d/java.sh

    export JAVA_HOME=/usr/local/java

    export JRE_HOME=${JAVA_HOME}/jre

    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

    [root@centos7 ~]# java -version  //查看java版本,测试JDK是否配置成功

    java version "1.8.0_171"

    Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

    Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

    配置limit相关参数

    [root@localhost local]# vim /etc/security/limits.conf

    添加以下内容

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

    ulimit -u 4096

    [root@localhost local]vim /etc/security/limits.d/20-nproc.conf 

    修改如下内容:

    * soft nproc 1024 #修改为 * soft nproc 2048  或soft nproc 4096   (根据CPU定,最低是2048)

    #vim /etc/sysctl.conf 

    //添加下面配置: v

    m.max_map_count=655360

    //并执行命令:

     #sysctl -p

    编辑elasticsearch配置文件

    #vim usr/local/elasticsearch-5.6.0/config/elasticsearch.yml

    cluster.name: nmtx-cluster

    node.name: node-1

    path.data: /usr/local/elk/data

    path.logs: /usr/local/elk/logs

    network.host: 192.168.3.104

    http.port: 9200

    创建运行ELK的用户

    [root@localhost local]# groupadd elk

    [root@localhost local]# useradd -g elk elk

    创建ELK运行目录

    [root@localhost local]# mkdir -p /usr/local/elk

    [root@localhost local]# chown -R elk:elk /usr/local/elk

    关闭防火墙:

    [root@localhost ~]# iptables -F

    以上全部是root用户完成

    3、安装ELK

    以下由elk用户操作

    elk用户登录服务器

    下载ELK安装包:https://www.elastic.co/downloads,并上传到服务器且解压,解压命令:tar -xzvf 包名

    配置Elasticsearch

    修改如下内容:

    保存退出

    启动Elasticsearch

    查看是否启动成功

    用浏览器访问:http://192.168.10.169:9200

    Elasticsearch安装完毕

    vi /etc/security/limits.conf   

    //添加如下内容:  

    * soft nofile 65536

    * hard nofile 131072

    * soft nproc 2048

    * hard nproc 4096  

    问题三:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]  

    解决:切换到root用户,进入limits.d目录下修改配置文件。

    vi /etc/security/limits.d/90-nproc.conf 

    //修改如下内容:  

    * soft nproc 1024 #修改为 * soft nproc 2048

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

    解决:切换到root用户修改配置sysctl.conf  

    vi /etc/sysctl.conf 

    //添加下面配置:

    vm.max_map_count=655360

    //并执行命令:

    sysctl -p 然后,重新启动elasticsearch,即可启动成功。

    4、测试,出现下面说明启动elasticsearch成功。

    [root@centos7 local]# curl http://127.0.0.1:9200

    {

    "name" : "pcncnlr",

    "cluster_name" : "elasticsearch",

    "cluster_uuid" : "uCqIPKYqT_au90cjmtj1rw",

    "version" : {

    "number" : "6.3.1",

    "build_flavor" : "default",

    "build_type" : "tar",

    "build_hash" : "eb782d0",

    "build_date" : "2018-06-29T21:59:26.107521Z",

    "build_snapshot" : false,

    "lucene_version" : "7.3.1",

    "minimum_wire_compatibility_version" : "5.6.0",

    "minimum_index_compatibility_version" : "5.0.0"

    },

    "tagline" : "You Know, for Search"

    }

  • 相关阅读:
    linux中的umask命令
    The meaning of the number displayed on the man page in Linux
    Runlevel in Linux
    C语言指针与指向指针的指针
    JS函数、变量作用域
    JS对象、数据类型区别、函数
    JavaScript基础
    DOM
    HTML色码表
    GIT
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/10464224.html
Copyright © 2011-2022 走看看