第1章 yum 安装 java\ elasticsearch
提示:因为是yum 安装需要联网哦,一定记先安装完毕JAVA 后在安装elasticsearch
[root@elk1 tools]# yum install -y jre-8u144-linux-x64.rpm [root@elk1 tools]# yum install -y elasticsearch-5.4.0.rpm
2.1 安装后查看java版本
[root@elk1 tools]# java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
2.2 配置elasticsearch
[root@elk1 elasticsearch]# vim /etc/elasticsearch/elasticsearch.yml 提示:如果修改elasticsearch.yml 建议不要用默认的数据和log日志目录,建议使用自己创建的目录,如果默认的因为目录不存在,elasticsearch 服务起不来哦。 [root@elk1 elasticsearch]# egrep -v "#|^$" elasticsearch.yml # 集群名称 cluster.name: elk-cluster # 主机名 node.name: elk1 # 数据备份目录 path.data: /data/elk/elkdata # 数据log目录 path.logs: /data/elk/logs # 锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免elasticsearch使用swap交换分区,当系统进行内存交换的时候,elasticsearch的性能很差。 # 为elasticsearch设置ip绑定,修改为IP地址 network.host: 172.16.1.20 # elasticsearch有两个端口,9200对用户访问使用。 http.port: 9200 # 在elasticsearch1.x中默认使用的是组播(multicast)协议,默认会自动发现同一网段的es节点组建集群, # 在elasticsearch2.x中默认使用的是单播(unicast)协议,想要组建集群的话就需要在这指定要发现的节点信息了。 # 注意:如果是发现其他服务器中的es服务,可以不指定端口[默认9300],如果是发现同一个服务器中的elasticsearch服务,就需要指定端口了。 discovery.zen.ping.unicast.hosts: ["172.16.1.20", "172.16.1.21"] 提示:在The default list of hosts is 设置组播中需要改成IP地址,在阿里云,腾讯云等公有云不改启动不起来。
2.3 创建elasticsearch 目录和 授权
[root@elk1 elasticsearch]# mkdir /data/elk/elkdata -p [root@elk1 elasticsearch]# mkdir /data/elk/logs –p [root@elk1 elasticsearch]# id elasticsearch uid=498(elasticsearch) gid=499(elasticsearch) 组=499(elasticsearch) [root@elk1 elasticsearch]# chown -R elasticsearch.elasticsearch /data/
2.3.1.1 启动 elasticsearch (记得执行上面创建目录和授权后在重启)
[root@elk1 elasticsearch]# /etc/init.d/elasticsearch start Starting elasticsearch (via systemctl): [ 确定 ]
2.4 查看elasticsearch端口
[root@elk2 tools]# netstat -lntlup|grep 9 tcp6 0 0 172.16.1.21:9200 :::* LISTEN 2500/java tcp6 0 0 172.16.1.21:9300 :::* LISTEN 2500/java [root@elk2 tools]# ps -ef|grep elasticsearc
如果启动报错建议百度,和查看elasticsearc 日志哦。
1.1 因为搭建了两台elasticsearch elk2配置如下
[root@elk2 elasticsearch]# egrep -v "#|^$" elasticsearch.yml cluster.name: elk-cluster #其中客户端名称不同 node.name: elk2 path.data: /data/elk/elkdata path.logs: /data/elk/logs network.host: 172.16.1.21 #ip地址不同 http.port: 9200 discovery.zen.ping.unicast.hosts: ["172.16.1.20", "172.16.1.21"]
第3章 通过浏览器查看elasticsearch信息
3.1.1 查看单台elasticsearch 信息
http://172.16.1.20:9200/
1.1.1 查看集群elasticsearch 信息
http://172.16.1.20:9200/_cluster/health?pretty=true
1.1 管理插件之安装 head 插件
提示:在Elasticsearch 5.x 不至此直接安装,需要启动一个服务
git 地址:https://github.com/mobz/elasticsearch-head
在学习Elasticsearch的过程中,必不可少需要通过一些工具查看es的运行状态以及数据。如果都是通过rest请求,未免太过麻烦,而且也不够人性化。此时,head可以完美的帮助你快速学习和使用es。Head插件可以实现基本信息的查看,rest请求的模拟,数据的检索等等。
1.1.1 git 克隆 elasticsearch-head.git
[root@elk1 tools]# git clone git://github.com/mobz/elasticsearch-head.git
1.1.2 # 安装npm命令(需要先安装repo下面是centos7 的)
[root@elk1 elasticsearch-head]# sudo curl -sL -o /etc/yum.repos.d/khara-nodejs.repo https://copr.fedoraproject.org/coprs/khara/nodejs/repo/epel-7/khara-nodejs-epel-7.repo [root@elk1 elasticsearch-head]# yum install -y npm [root@elk1 elasticsearch-head]# cd /home/elasticsearch-head/ [root@elk1 elasticsearch-head]# npm install grunt –save
1.1.1 查看确定有bin 目录
[root@elk1 elasticsearch-head]# ll node_modules/grunt 总用量 20 drwxr-xr-x 2 root root 19 9月 5 22:55 bin -rw-r--r-- 1 root root 7111 4月 6 2016 CHANGELOG drwxr-xr-x 4 root root 47 9月 5 22:55 lib -rw-r--r-- 1 root root 1592 3月 23 2016 LICENSE drwxr-xr-x 4 root root 35 9月 5 22:55 node_modules -rw-r--r-- 1 root root 2477 9月 5 22:55 package.json -rw-r--r-- 1 root root 878 2月 12 2016 README.md
3.2.4 # 执行安装
[root@elk1 elasticsearch-head]# npm install
3.2.5 后台启动
[root@elk1 elasticsearch-head]# npm start &
查看端口是否存在
[root@elk1 elasticsearch-head]# netstat -lntup|grep 9100 tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 2800/grunt
1.1.1 #提示因为修改elasticsearch 才可以使用head
[root@elk1 elasticsearch-head]# vim /etc/elasticsearch/elasticsearch.yml http.cors.enabled: true http.cors.allow-origin: "*" [root@elk1 elasticsearch-head]# /etc/init.d/elasticsearch restart Restarting elasticsearch (via systemctl): [ 确定 ]
1.1 docker 安装 管理插件之head 插件
安装启动docker [root@elk2 elasticsearch]# yum install -y docker # 启动docker [root@elk2 elasticsearch]# systemctl start docker # 设置后台启动 [root@elk2 ~]# systemctl enable docker [root@elk2 elasticsearch]# docker run -p 9100:9100 mobz/elasticsearch-head:5 #查看镜像 [root@elk2 tools]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/mobz/elasticsearch-head 5 b19a5c98e43b 7 months ago 823.9 MB [root@elk2 tools]# docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head
3.4 zabbix 监控
curl http://172.16.1.20:9200/_cluster/health?pretty=true|sed -n "3p" |awk -F ":" '{print $2}'|grep -Po '[a-zA-Z]+'