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 &

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

a120518129
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
jenkins Java Linux
[jenkins]简介与安装
[jenkins]简介与安装
|
6月前
|
Ubuntu 数据可视化 Docker
第4讲笔记:SecretFlow & SecretNote安装部署
安装SecretFlow需在Ubuntu虚拟机上用Anaconda创建Python 3.8环境,名称为secretflow,然后在环境中运行`conda create -n secretflow python=3.8`,`source activate secretflow`和`pip install -U secretflow`。SecretFlow部署可选仿真或生产模式。仿真模式包括单机(模拟Alice、Bob)和集群仿真,生产模式涉及多节点部署,注意各节点间的通信配置。SecretNote适合多节点代码的可视化执行,但不适用于生产环境。
118 1
|
存储 数据可视化 数据挖掘
分布式系列教程(28) -Linux环境安装Kibana
分布式系列教程(28) -Linux环境安装Kibana
190 0
|
监控 jenkins 应用服务中间件
JenKins简介及安装
JenKins简介及安装
116 0
|
jenkins Java Shell
【2023】Jenkins入门与安装
【2023】Jenkins入门与安装
642 3
|
jenkins 持续交付 数据安全/隐私保护
01-Jenkins-环境搭建
01-Jenkins-环境搭建
|
消息中间件 Kubernetes Kafka
一篇文章让你学会K8s软件安装神器Helm
下平时OS安装软件时为什么需要yum安装你可以类比到在k8s中安装 软件为什么需要helm。
273 0
|
jenkins Java 应用服务中间件
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
上一篇对jenkins有了大致了解之后,那么我们就开始来安装一下jenkins。
280 0
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
|
jenkins 持续交付 开发者
jenkins手把手教你从入门到放弃03-安装Jenkins时web界面出现该jenkins实例似乎已离线
很久没有安装jenkins了,因为之前用的的服务器一直正常使用,令人郁闷的是,之前用jenkins一直没出过这个问题。
296 0
jenkins手把手教你从入门到放弃03-安装Jenkins时web界面出现该jenkins实例似乎已离线
|
存储 监控 前端开发
jenkins手把手教你从入门到放弃01-jenkins简介(详解)
jenkins是一个可扩展的持续集成引擎。持续集成,也就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
880 0
jenkins手把手教你从入门到放弃01-jenkins简介(详解)
下一篇
DataWorks