一、Elasticsearch搭建
1、官网版本下载 https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-5-2
根据情况选择自己需要的版本
2、root用户默认不能启动,可添加新用户和用户组
创建用户组 groupadd dev
给该用户组添加用户 useradd dev_chen -g dev
修改该用户密码 passwd dev_chen
修改es启动执行的权限 chown -R dev_chen:dev elasticsearch-5.5.2
3、解压安装
cd elasticsearch-5.5.2/
./bin/elasticsearch 前台启动
./bin/elasticsearch -d 后台启动方式
重新启动的方式:查询进程号并kill掉
ps aux|grep elasticsearch 或者用 jps 命令
kill -9 xxxx
4、本地测试
curl localhost:9200
......
5、注意
<1> 前提安装java环境变量
<2> 如果es和es_head都是域名情况需要解决连接跨域问题,在elasticsearch.yml文件中加配置
http.cors.enabled: true
http.cors.allow-origin: "*"
再重启即可,解决跨域后截图如下:
6、启动报错分析elasticsearch.yml文件的配置举例
network.host: 127.0.0.1
<1>然后域名解析+反向代理的方式,对外仅暴漏80端口,相当于本地访问127.0.0.1:9200
<2>但是如果用域名或者公网ip的方式,出现Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400]
Caused by: java.net.BindException: 无法指定被请求的地址这样的错误
分析 :这时就相当于 www.baidu.com:9200 或 公网ip:9200 进行 transport,但是对外一般仅开放80端口,9200会被拦截,所以出现这样的问题(仅个人观点)。
二、Kibana搭建并对接es
1、注意事项
<a> 下载的版本要与es下载的版本对应上,不然可能会出现问题。
2、下载
https://www.elastic.co/cn/downloads/past-releases/kibana-5-5-2
根据情况选择自己需要的版本
3、解压配置安装
--配置文件主要配置 config/kibana.yml
server.port: 5601
server.host: "127.0.0.1"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
说明:port为web访问的端口,host为本地,localhost不一定有效,无效的情况下可以在/etc/hosts文件中添加一行localhost的映射,或者采用当前方法。
最后为es的hosts地址,目前单机版,集群版本可设置多个,由于当前环境是域名解析加上反向代理,此处都设置成了127.0.0.1,具体根据当前环境进行设置。
4、启动 在bin目录下
nohup ./kibana & >> ./logs 后台启动
下图端口表示启动成功(可用命令netstat -nltp查看),最后加上域名解析和nginx反向代理这个端口即可
三、安装 elasticsearch-head对接es
1、yum源中找自己需要的node.js版本进行安装
https://nodejs.org/dist
2、安装
wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
xz –d node-v10.16.3-linux-x64.tar.xz
tar -xvf node-v10.16.3-linux-x64.tar
3、解压后根据自己安装路径配置环境变量
4、安装head插件
git clone https://github.com/mobz/elasticsearch-head.git
没有则先安装git这个命令:yum -y install git
<1> 进入目录并安装grunt注册中心设置
cd elasticsearch-head
npm install -g grunt --registry=https://registry.npm.taobao.org
<2> 安装插件
npm install
在elasticsearch-head目录下node_modules/grunt下如果没有grunt二进制程序,需要执行:
npm install grunt --save
5、修改配置
<1>根据情况修改配置 elasticsearch-head下Gruntfile.js文件(保守可忽略这一步)
vim Gruntfile.js
大概95行的样子,如下:
默认应该是localhost,具体的配置是(根据情况修改hostname)
server: {
options: {
hostname: '127.0.0.1',
port: 9100,
base: '.',
keepalive: true
}
}
<2> 修改_site/app.js文件
vim _site/app.js
配置主要如下(根据自身情况配置):
6、后台运行(在安装目录下执行)
node_modules/grunt/bin/grunt server & 后台运行 关闭窗口后端口断开
nohup grunt server &exit 后台运行 关闭窗口后端口不断开
结果见第一张图。
后续补充ELK日志分析…