• 为什么写博客,是因为遇到的坑,不希望别人在踩一遍!
  • 选择了,剩下的就是坚持和努力-------致自己!
  • 当能力达不到梦想时,更需要学习,努力,拼搏

ELK5系列日志收集平台(三) elasticsearch 安装

ELK 雪豹 5年前 (2018-02-09) 190次浏览 0个评论

images

第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

images

如果启动报错建议百度,和查看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/

images

1.1.1 查看集群elasticsearch 信息

http://172.16.1.20:9200/_cluster/health?pretty=true

images

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

images

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 &
images

查看端口是否存在

[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):                  [  确定  ]

images

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]+'

有需要可以联系微信xuebao19930721和加入微信群
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址