elk5.x环境搭建与常用插件安装

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:

            ELK 5.X 环境搭建与常用插件安装

环境介绍:

ip: 192.168.250.131

os: CentOS 7.1.1503 (Core)

内存不要给的太低,至少4G吧,否则elasticsearch启动会报错。

软件及其版本 这里软件包都解压在了/opt下,注意!

logstash-5.4.0.tar.gz

elasticsearch-5.4.0.tar.gz

kibana-5.4.0-linux-x86_64.tar.gz

jdk-8u92-linux-x64.tar.gz

安装前准备:

(把jdk1.8以下的都要卸载掉,否则elasticsearch会报错的)

cat /etc/profile 添加以下内容

export jdk=/opt/jdk

export PATH=$jdk/bin:$PATH

export elasticsearch=/opt/elasticsearch

export PATH=$elasticsearch/bin:$PATH

export logstash=/opt/logstash

export PATH=$logstash/bin:$PATH

export kibana=/opt/kibana

export PATH=$kibana/bin:$PATH

环境设置

/etc/security/limits.conf 文件中添加以下内容

*               soft    nofile          65536

*               hard    nofile          65536

*               soft    memlock         unlimited

*               hard    memlock         unlimited

/etc/sysctl.conf  添加以下内容 sysctl -p 生效

fs.file-max = 183723   (l7版本中默认的)

vm.max_map_count = 262144

cat /etc/hosts

192.168.250.131 elk.cluster1.com 

192.168.250.128 elk.cluster2.com

192.168.250.127 elk.cluster3.com

一、安装部署软件,依次是elasticsearch、logstash、kibana

elasticsearch:

useradd elasticsearch

chown -R elasticsearch. elasticsearch

/opt/elasticsearch/config/elasticsearch.yml 修改配置文件(注意,“:”后必须要有空格,否则会有语法错误,vim打开写对时,会变色)

cluster.name: elk-cluster            #自定义集群名,相同集群内的节点设置相同的集群名

node.name: elk.cluster1.com          #自定义节点名,建议统一采用节点hostname

path.data: /opt/elasticsearch         #定义elasticsearch家目录

path.logs: /opt/elasticsearch/logs      #定义elasticsearch日志目录

bootstrap.memory_lock: true           #ES的mlockall属性允许ES节点不交换内存

network.host: 192.168.250.131          #es监听地址,也可采用”0.0.0.0”,允许所有设备访问

http.port: 9200                   #es监听端口,可不取消注释,默认即此端口

discovery.zen.ping.unicast.hosts: ["elk.cluster1.com","elk.cluster2.com","elk.cluster2.com","elk.cluster2.com"]  #集群节点发现列表,也可采用ip的形式

discovery.zen.minimum_master_nodes: 3    #集群可做master的最小节点数

以下两个是为安装head插件做准备:

http.cors.enabled: true             #开启跨域访问支持,默认为false

http.cors.allow-origin: "*"           #跨域访问允许的域名地址,使用正则表达式

su - elasticsearch -c "/opt/elasticsearch/bin/elasticsearch -d" 启动服务

测试是否安装成功

curl 192.168.250.131:9200

wKiom1kkZtuTTvCIAAAetNAY9Ws557.png

为elasticsearch安装head插件

yum -y install git npm xz #npm,xz在安装插件的时候会用到

1、下载插件 git clone git://github.com/mobz/elasticsearch-head.git

2、第二步,安装node

①由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)

去官网下载nodejs,https://nodejs.org/en/download/

wKioL1ksAh6QoR-XAABESI3EAM8342.png

②然后解压nodejs的安装包:在/opt下

mv node-v6.10.3-linux-x64 node

# set node environmentexport in /etc/profile

export NODE_HOME=/opt/node

export PATH=$PATH:$NODE_HOME/bin

source /etc/profile

测试一下

echo $NODE_HOME

node -v

v6.10.3

npm -v

3.10.10

安装head插件
cd /opt/elasticsearch-head

npm install

wKiom1ksBU-w7GvoAAA32v_VvVc235.png3、安装grunt

grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.X里的head插件就是通过grunt启动的。

cd /opt/elasticsearch-head/node_modules/grunt/bin

[root@elk bin]# ls

grunt

[root@elk bin]#./grunt -V

grunt-cli v1.2.0

grunt v1.0.1

备注:我们在执行npm install 的时候,默认已经安装,如果自己安装的话,需要执行npm installgrunt-cli

4、修改head源码

由于head的代码还是2.6版本的,直接执行有很多限制,比如无法跨机器访问。因此需要用户修改两个地方:

①修改服务器监听地址

vim /opt/elasticsearch-head/Gruntfile.js     #添加下面的内容


 connect: {

                        server: {

                                options: {

                                        port: 9100,

                                        hostname: "*",

                                        base: '.',

                                        keepalive: true

                                }

                        }

                }


        });

增加hostname属性,设置为*
vim /opt/elasticsearch-head/_site/app.js   #修改head的连接地址

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.250.131:9200";    ##localhost修改成你es的服务器地址

5、运行head

然后在head目录中,执行npm install 下载以来的包:

pwd

/opt/elasticsearch-head

[root@elk elasticsearch-head]# npm install

wKiom1ksCd_hCdRBAAAmUAD_wG0436.png

重启你的elasticsearch

su - elasticsearch -c "/opt/elasticsearch/bin/elasticsearch -d"

启动nodejs

cd /opt/elasticsearch-head/node_modules/grunt/bin

nohup ./grunt server &   或者 -d 选项 后台运行

这个时候,访问http://192.168.250.131:9100就可以访问head插件了.

使用RESTful API进行交互

查看当前索引和分片情况,稍后会有插件展示

curl -i -XGET 'http://192.168.3.159:9200/?pretty' -d '{

"query" {

     "match_all": {}

}

}'

wKiom1leOLGRfTyeAACZGTrOAhI792.png

logstash:


kibana:

/opt/kibana/config/kibana.yml

server.host: "192.168.250.131"

server.maxPayloadBytes: 1048576

server.name: "elk.cluster1.com"

elasticsearch.url: "http://192.168.250.131:9200"

nohup kibana -c kibana.yml &



本文转自 a120518129 51CTO博客,原文链接:http://blog.51cto.com/silencezone/1928822,如需转载请自行联系原作者

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
10月前
|
Docker 容器
docker 安装 elk
1. 使用集成镜像方式 2.使用单个镜像安装 3. 开放端口 5044 5045 5601
208 0
|
存储 数据可视化 Java
SpringBoot应用整合并使用Docker安装ELK实现日志收集
SpringBoot应用整合并使用Docker安装ELK实现日志收集
SpringBoot应用整合并使用Docker安装ELK实现日志收集
|
缓存 NoSQL JavaScript
|
网络安全 开发工具
|
应用服务中间件 开发工具 nginx
|
应用服务中间件 Linux nginx
手把手教你在CentOS上安装ELK,对服务器日志进行收集(四)
ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。
手把手教你在CentOS上安装ELK,对服务器日志进行收集(四)
|
应用服务中间件 Linux nginx
手把手教你在CentOS上安装ELK,对服务器日志进行收集(三)
ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。
手把手教你在CentOS上安装ELK,对服务器日志进行收集(三)
|
Java Linux 应用服务中间件
手把手教你在CentOS上安装ELK,对服务器日志进行收集(二)
ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。
手把手教你在CentOS上安装ELK,对服务器日志进行收集(二)
|
消息中间件 存储 NoSQL
手把手教你在CentOS上安装ELK,对服务器日志进行收集(一)
ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。
手把手教你在CentOS上安装ELK,对服务器日志进行收集(一)
|
Java Linux 开发工具