Elasticsearch部署步骤
现在官方已经出到了ES7 beta,不过现在为止用的最多也是比较稳定的是5.x。
这里我简单记录下针对5.x版本的部署配置过程,暂不考虑优化(后面再总结优化相关的笔记)。
一、环境
- Ubuntu 14.04/16、04
- JDK1.8
- Elasticsearch 5.6
二、安装JDK
1. 下载安装
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
将刚刚下载的文件拷贝到 /opt 目录下,
解压 jdk 到当前目录,使用命令 tar -zxvf jdk-8u161-linux-x64.tar.gz
修改文件名 mv jdk1.8.0_161 jdk1.8
至此,jdk1.8 已经全部安装完成了。
2. 配置环境变量
修改 vim /etc/profile
,最底部添加:
# Sun JDK profile
export JAVA_HOME=/opt/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
运行 source /etc/profile
,使 /etc/profile 文件生效。
使用 java -version
和 javac -version
命令查看 jdk 版本及其相关信息,不会出现 command not found 错误,且显示的版本信息与前面安装的一致。
echo $JAVA_HOME
, echo $CLASSPATH
, echo $PATH
,看看自己的配置是否都正确。
3. 开机设置
每次重启服务器的时候,会发现 jdk 版本不正确,或者使用 java -version
显示不是所需版本,使用 javac -version
会出现 command not found 错误。
解决方法是再次运行 source /etc/profile
,使 /etc/profile 文件生效。显然每次这么操作很麻烦。
因此我们编辑 vim ~/.bashrc
,最后加一句
source /etc/profile
三、安装Elasticsearch
1. 下载安装
登录官网 https://www.elastic.co/cn/downloads。
选择下载 elasticsearch,根据需要选择对应的安装包,这里选择 5.6 版本,下载完后得到 elasticsearch-5.6.0.tar.gz
操作系统中创建一个新用户专门用来管理 es:adduser elasticsearch
用 elasticsearch 用户将 elasticsearch-5.6.0.tar.gz 拷贝到 /opt 目录下。
解压到当前目录,使用命令 tar -zxvf elasticsearch-5.6.0.tar.gz
。
删除压缩文件,使用命令 rm -f elasticsearch-5.6.0.tar.gz
。
至此,elasticsearch 安装完成
2. ES集群需要改的系统配置
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
* soft memlock unlimited
* hard memlock unlimited
* - nofile 65536
root soft nofile 65536
root hard nofile 131072
root soft nproc 2048
root hard nproc 4096
root soft memlock unlimited
root hard memlock unlimited
root - nofile 65536
vim /etc/sysctl.conf
vm.max_map_count=655360
vm.swappiness = 0
并执行 sysctl -p
如果是 supervisor 托管的,修改 /etc/supervisord.conf 中的:
minfd = 65536
并重启 supervisor。
3. 修改ES配置文件elasticsearch.yml
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.name: elasticsearch
node.name: 192.168.10.201
node.master: true
node.data: true
http.enabled: true
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["192.168.10.198","192.168.10.201"]
http.port: 9200
script.engine.groovy.inline.update: on
script.engine.groovy.inline.search: on
script.engine.groovy.inline.aggs: on
script.max_compilations_per_minute: 10000
path.data: /data/es
action.auto_create_index: cc-*,sc-*,.nina*,.security,.monitoring*,.watches,.triggered_watches,.watcher-history*
同时也要指定一下 jvm.options(同级目录下的一个配置文件) 里的 jvm 虚拟机内存。
4. ES交给supervisor托管
[program:elasticsearch]
user = elasticsearch
startsecs = 3
autostart = true
autorestart = true
startretries = 3
stdout_logfile=NONE
stderr_logfile=NONE
environment = JAVA_HOME="/opt/jdk/", ES_JAVA_OPTS = "-Xms8g -Xmx8g"
command = /opt/elasticsearch/bin/elasticsearch
四、安装Kibana
1. 从官网下载和es一样版本的Kibana
拷贝到 /opt 目录,解压,修改配置文件 kibana.yml。
server.host: "192.168.10.201"
elasticsearch.url: "http://192.168.10.198:9200"
2. Kibana交给supervisor托管
[program:kibana]
startsecs = 3
autostart = true
autorestart = true
startretries = 3
redirect_stderr = true
command = /opt/kibana/bin/kibana
stdout_logfile = /var/log/kibana.log