Centos 7安装和配置 ElasticSearch入门小白
实验环境:
操作系统:Centos 7.5
服务器ip:192.168.1.198
运行用户:root
网络环境:Internet
在企业生产环境有很多服务器的时候、很多业务模块的日志的时候运维人员需要每时每刻查看日志,这样的工作量是非常庞大的,这样就没有时间做其它的工作, Elasticsearch是个开源分布式搜索引擎,它的特点有:开源、灵活性、分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等,配置简单,一般都是结合Logstash、kibana使用,现在做运维的都知道有一个ELK,就是Elasticsearch、Logstash、kibana的简写,使用比较广泛、功能强大,简化运维操作步骤,还可以实现有错误日志或者故障自动报警,如果服务器有故障,可以通过告警方式发送个管理员,支持企业微信、企业钉钉、短信等告警方式,大家可以尝试去部署,目前还支持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"
}
Centos 7安装和配置 ElasticSearch入门小白的更多相关文章
- 在 CentOS 上安装和配置 OpenNebula
转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...
- CentOS 7 安装 Nginx 配置反向代理
Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Ngi ...
- 阿里云CentOs服务器 安装与配置mysql数据库
阿里云CentOs服务器 安装与配置mysql数据库 以上为Linux安装mysql数据库 Linux 安装mysql 数据库 一下为mysql 安装教程 Using username "r ...
- CentOS 7 安装、配置、使用 PostgreSQL 9.5及PostGIS2.2
学习CentOS下安装使用PostgreSQL [安装过程] 1.添加RPM yum install https://download.postgresql.org/pub/repos/yum/ ...
- Mahout学习之Mahout简介、安装、配置、入门程序测试
一.Mahout简介 查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个 ...
- CentOS SSH安装与配置
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议. 传 统的网络服务程序, ...
- centos下安装并配置tomcat
1,安装jdk,centos默认安装了java-openjdk的环境,但是不带JDK,运行 yum install java-1.7.0-openjdk java-1.7.0-openjdk-deve ...
- CentOS7下 简单安装和配置Elasticsearch Kibana Filebeat 快速搭建集群日志收集平台
目录 1.添加elasticsearch官网的yum源 2.Elasticsearch 安装elasticsearch 配置elasticsearch 启动elasticsearch并设为开机启动 3 ...
- CentOS 7 安装、配置、使用 PostgreSQL 10 安装及基础配置
官网安装方法:https://www.postgresql.org/download/linux/redhat/ 卸载的话使用 yum remove 相应的安装 Install the reposit ...
随机推荐
- IntelliJ IDEA 破解方法
2017版破解方法: 1. 到网站http://idea.lanyus.com/,按要求修改电脑HOST,获取注册码: 使用前请将“0.0.0.0 account.jetbrains.com”添加到h ...
- 从.Net框架Bug的提交到修复代码成功合并到.NET CoreFX主线
从发现.NET Framework中SmtpClient的Bug并拿出解决方案,然后给微软开发者社区提交Bug开始,总共耗时一个多月,对Bug修复的代码最终被采纳,现已合并到.NET Core Lib ...
- Kafka 入门三问
目录 1 Kafka 是什么? 1.1 背景 1.2 定位 1.3 产生的原因 1.4 Kafka 有哪些特征 消息和批次 模式 主题和分区 生产者和消费者 broker 和 集群 1.5 Kafka ...
- Python网络爬虫实战:根据天猫胸罩销售数据分析中国女性胸部大小分布
本文实现一个非常有趣的项目,这个项目是关于胸罩销售数据分析的.是网络爬虫和数据分析的综合应用项目.本项目会从天猫抓取胸罩销售数据,并将这些数据保存到SQLite数据库中,然后对数据进行清洗,最后通过S ...
- k8s
https://www.cnblogs.com/sheng-jie/p/10591794.html
- CSS 伪类 (Pseudo-classes)实例
CSS 伪类 (Pseudo-classes)实例CSS 伪类用于向某些选择器添加特殊的效果在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访 ...
- 一次掌握 React 与 React Native 两个框架
此系列文章将整合我的 React 视频教程与 React Native 书籍中的精华部分,给大家介绍 React 与 React Native 结合学习的方法. 1. 软件开发语言与框架的学习本质 我 ...
- Python_复习_34
+# 函数 —— 2天 # 函数的定义和调用 # def 函数名(形参): #函数体 #return 返回值 #调用 函数名(实参) # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱), ...
- NFV论文集(三)综述
一 文章名称:Dependability of the NFV Orchestrator: State of the Art and Research Challenges 发表时间:2018 期刊来 ...
- shell脚本--操作MySQL数据库
其实就是一个很简单的套路,和其他语言差不多,首先连接数据库,然后在进行其他操作. 套路如下: #!/bin/bash mysql="mysql -uroot -proot" #连接 ...