环境
jdk1.8 下载链接 jdk-8u191-linux-x64.tar.gz
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
elasticsearch-5.6.10 下载链接 elasticsearch-5-6-10
https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-10
elasticsearch-head-master 下载链接 elasticsearch-head
https://github.com/mobz/elasticsearch-head
kibana-5.6.10-linux-x86_64.tar.gz 下载链接 kibana-5-6-10
https://www.elastic.co/downloads/past-releases/kibana-5-6-10
1.安装elasticsearch-5.6.10
准备工作
首先需要安装好jdk,然后创建一个es用户,准备一个软件安装目录。
useradd -r -m -s /bin/bash -G sudo -p es es
给该用户创建密码,登录该用户,创建目录
sudo mkdir /usr/local/apps
安装
准备就绪后解压elasticsearch-5.6.10.tar.gz,将其放入到软件安装目录,比如/usr/local下的apps目录中
tar -zxvf elasticsearch-5.6.10.tar.gz
sudo mv elasticsearch-5.6.10/ /usr/local/apps/
打开安装目录,在config下的elasticsearch.yml文件这样配置
vim elasticsearch-5.6.10/config/elasticsearch.yml
cluster.name是你的es集群的名称,如果集群式分布式的,注意每一节点的集群名要相同
node.name是这台节点的名称,随意起
node.master: true
node.data: true
这两个配置表示这台节点既可以作为master又可以作为数据节点,如果不配置默认都为true,根据需要自行修改
path.data是数据存放目录,path.logs是日志存放目录
network.host: 0.0.0.0表示公网上开放访问端口(一般是9200),如果不希望将ES访问端口暴露在公网。可以将0.0.0.0换成内网地址或者不配置此项内容
http.port: 9200为es的访问端口
配置完成后保存退出,运行bin下的脚本,命令如下
nohup ./bin/elasticsearch > es-start.log 2>&1 & (后台运行,日志输出到es-start.log)
过程可能会报错,发现异常如下:
max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
max file descriptors为最大文件描述符,即系统能打开的最大文件数量,分为软限制和硬限制,系统默认为65535,但es启动至少需要为65536,因此需要更改。可以使用命令ulimit -Hn查看当前的系统默认值。
修改文件改动默认配置,命令如下:
sudo vim /etc/security/limits.conf
可以看到系统的默认配置如下
修改为:
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
(注意,重启之后配置才能生效)
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]这个错误是说ES可以使用虚拟内存过小,无法正常启动。配置方法:
sudo vim /etc/sysctl.conf
增加这一行:
vm.max_map_count=655360
刷新配置 sysctl -p 即可
重新启动ES,完成安装。
2.Kibana安装
解压,打开安装包,进入到config目录,配置配置文件
vim kibana.yml
配置很简单,server.port是kibanna的访问端口,server.host配置成0.0.0.0代表开启公网访问,elasticsearch.url是es的访问端口,其他选择可自行配置
启动
nohup ./bin/kibana > kibana-start.log 2>&1 &
运行即可。
3.es-head插件的安装
下载安装包并解压
下载依赖(es-head5.x以上的版本需要node.js和npm),centos下安装命令:
yum -y install node.js npm
(ubuntu系统下为
sudo apt-get install -y node.js npm
注意,需要更新到最新版本,如果安装了不是最新版本,ubuntu下的node.js更新命令如下:
sudo npm install n -g
sudo n stable
)
查看是否安装成功(版本号)
node -v
npm -v
修改配置文件
1.修改es目录下conf中的elasticsearch.yml,增加以下两行(跨越的配置)
http.cors.enabled: true
http.cors.allow-origin: "*"
修改完成后重启ES生效
2.修改es-head目录下的/Gruntfile.js,增加hostname属性,也可以自行更改监听地址
3.修改head的连接地址
在es-head的安装目录下_site/app.js,将这一行的localhost改成你的主机名或公网IP
下载依赖并启动:
在es-head的安装目录下执行
npm install
下载head需要的依赖包,如果没有报错完成后直接运行命令启动head
./node_modules/grunt/bin/grunt server (直接运行)
nohup ./node_modules/grunt/bin/grunt server > es-head-start.log 2>&1 & (后台运行)
打开9100端口即可访问