标签(空格分隔): Elasticsearch
[TOC]
1.1 安装准备
1.1.1 服务器准备
为搭建ElasticSearch集群,准备了三台服务器,主机IP分别为:
服务器IP | 系统版本 |
---|---|
192.168.6.104 | Centos6.5 |
192.168.6.105 | Centos6.5 |
192.168.6.106 | Centos6.5 |
1.1.2 新建用户
ES不支持root用户启动,分别使用root用户登录服务器新建es用户,并设置密码,然后给用户文件夹所有权
# 新增用户
useradd es
# 设置密码
passwd es
# 授权
chown es /home/es
# 新建es数据文件夹和日志文件夹
mkdir -p /opt/es/logs
mkdir -p /opt/es/data
chown es /opt/es/
chown es /opt/es/logs/
chown es /opt/es/data/
准备安装包
1、jdk-8u144-linux-x64.tar.gz
2、elasticsearch-5.6.4.tar.gz
3、kibana-5.6.4-linux-x86_64.tar.gz
1.1.3 调整系统参数
1.1.3.1 内核参数调整
vim /etc/sysctl.conf
# 增加下面的内容
fs.file-max = 65536
vm.max_map_count = 262144
# 执行命令
sysctl -p
1.1.3.2 资源参数调整
vim /etc/security/limits.conf
# 修改
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
es soft memlock unlimited
es hard memlock unlimited
1.1.3.3 调整线程数
vim /etc/security/limits.d/90-nproc.conf
找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
1.2 JDK安装
登录es用户,进入/opt文件夹,解压JDK安装包
ES5.0以上必须1.8JDK支持
cd /opt
tar -zxvf /home/es/jdk-8u144-linux-x64.tar.gz
# 设置环境变量
vim /etc/profile
#在文件最下方添加
export JAVA_HOME=/opt/jdk1.8.0_144
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jar
export PATH=.:$JAVA_HOME/bin:$PATH
1.3 ES安装及配置
1.3.1 解压缩
# 切换到es用户
cd /home/es
tar -zxvf elasticsearch-5.6.4.tar.gz
1.3.2 配置
1.3.2.1 elasticsearch.yml
# 集群名称,各个节点的值必须一致
cluster.name: elasticsearch_production
# 节点名称,区分节点,各个节点的值不能一致
node.name: node-1
# 数据文件路径
path.data: /opt/es/data
# 日志文件路径
path.logs: /opt/es/logs
# 设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,Linux下可以通过ulimit -l unlimited命令
bootstrap.memory_lock: true
# 因为Centos6不支持SecComp,而ES5.6.4默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
bootstrap.system_call_filter: false
# 本机IP
network.host: 192.168.6.104
# 单播列表
discovery.zen.ping.unicast.hosts: ["192.168.6.104", "192.168.6.105", "192.168.6.106"]
# 防止脑裂,官方推荐设置成 N/2 + 1,N是集群中master节点的数量
discovery.zen.minimum_master_nodes: 2
# 存在至少2个节点(数据节点或者 master 节点)才进行数据恢复
gateway.recover_after_nodes: 2
# 等待10分钟,或者3个节点上线后,才进行数据恢复,这取决于哪个条件先达到
gateway.expected_nodes: 3
gateway.recover_after_time: 10m
# 禁用xpack安全认证
xpack.security.enabled: false
1.3.2.2 jvm.options
# 调整内存大小根据系统资源而定,最好不要超过总资源一半
-Xms8g
-Xmx8g
1.3.2.3 elasticsearch和elasticsearch-plugin
可选步骤,如果环境变量配置JDK为1.8不需要配置,若需要多JDK共同使用则需要配置
export JAVA_HOME=/opt/jdk1.8.0_144
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jar
export PATH=.:$JAVA_HOME/bin:$PATH
1.3.3 x-pack插件安装
cd /home/es/elasticsearch-5.6.4/bin
./elasticsearch-plugin install x-pack
1.3.4 启动
cd /home/es/elasticsearch-5.6.4/bin
# 控制台启动,加 -d 参数可以后台启动
./elasticsearch
# 查看节点状态
curl -XGET '192.168.6.104:9200/_cat/nodes?v'
# 查看集群状态
curl -XGET '192.168.6.104:9200/_cat/health?v'
1.3.5 x-pack license安装
官方x-pack为收费插件,试用期一个月,可以在官网申请1年免费的BASIC版本授权
curl -XPUT 'http://192.168.6.104:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json
1.4 Kibana安装
Kibana安装在6.104上面
# 解压
cd /home/es/
tar -zxvf kibana-5.6.4-linux-x86_64.tar.gz
# 修改配置文件
vim /home/es/kibana-5.6.4-linux-x86_64/config/kibana.yml
# 本机IP
server.host: "192.168.6.104"
# 访问es的地址
elasticsearch.url: "http://192.168.6.104:9200"
# 安装x-pack插件
cd /home/es/kibana-5.6.4-linux-x86_64/bin/
./kibana-plugin install x-pack
# 启动,访问http://192.168.6.104:5601/
./kibana