1.名词解释:
名词解释,使用操作等请参阅官方文档:
https://www.elastic.co/cn/webinars/getting-started-elasticsearch?baymax=rtp&elektra=docs-en&storm=sidebar1
2.采用三台Centos7.9
系统 | 节点名称 | ip地址 |
Centos7.9 | master01 | 192.168.1.6 |
Centos7.9 | master02 | 192.168.1.16 |
Centos7.9 | master03 | 192.168.1.26 |
3.禁用selinux、swap
#
swapoff -a
vi /etc/fstab
注释掉下面一行
# /dev/mapper/centos-swap swap
#检查
swapon -s
vi /etc/selinux/config
# set SELINUX=disabled
SELINUX=disabled
# 重启
reboot
#检查
sestatus
SELinux status: disabled
4.创建elasticsearch用户,因为ElasticSearch不支持root用户启动
# 创建用户组
groupadd elasticsearch
# 创建用户并添加至用户组
useradd elasticsearch -g elasticsearch
# 更改用户密码(输入 123123)
passwd elasticsearch
5.下载elasticsearch解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz
#解压:放在你要安装的位置
tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz
6.为elasticsearch用户授权操作目录
chown -R elasticsearch:elasticsearch /home/elasticsearch/*
7.配置 elasticsearch
vim /home/elasticsearch/config/elasticsearch.yml
cluster.name: dx-es # 集群名称
node.name: master03 # 节点名称,仅仅是描述名称,用于在日志中区分
path.data: /home/elasticsearch/data # 数据的默认存放路径
path.logs: /opt/elasticsearch/log # 日志的默认存放路径
network.host: 192.168.3.26 # 当前节点的IP地址
http.port: 9200 # 对外提供服务的端口,9300为集群服务的端口
#添加如下内容
discovery.seed_hosts: ["192.168.1.26", "192.168.1.16","192.168.1.6"]
cluster.initial_master_nodes: ["master03", "master02","master01"]
#9300为集群服务默认端口,重写可以查看官方文档设置部分
# 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析
8.设置elasticsearch开机启动(13以后再设置,先启动看有没有错误)
在 /etc/init.d 目录下,创建脚本文件 elasticsearch
# cd /etc/init.d/
# vim elasticsearch
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
#java
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#es
export ES_JAVA_HOME=/home/elasticsearch/jdk
export CLASSPATH=.:${ES_JAVA_HOME}/lib
export PATH=${ES_JAVA_HOME}/bin:$PATH
export ES_HOME=/home/elasticsearch
export PATH=${ES_HOME}/bin:$PATH
case "$1" in
start)
su - elasticsearch<<!
cd /home/elasticsearch
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su - elasticsearch<<!
cd /home/elasticsearch
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
# 设置文件权限
chmod +x elasticsearch
#添加开机启动
chkconfig --add elasticsearch
#重启机器,检测elasticsearch是否自启
ps -ef|grep elasticsearch
9.设置jvm.option
vim /home/elasticsearch/config/jvm.options
-Xms1g
-Xmx1g
#注意前面不能有空格,大小根据使用环境设置默认为2g
10.设置/etc/security/limits.conf,行尾追加以下内容,设置后需要重新登录用户
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
#如果没有添加启动报错
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
11.设置/etc/sysctl.conf,行尾追加以下内容
vi /etc/sysctl.conf
vm.max_map_count=262144
#立即生效
sysctl -p
#如果没有设置启动报错
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
12.设置环境变量
#java
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#es
export ES_JAVA_HOME=/home/elasticsearch/jdk
export CLASSPATH=.:${ES_JAVA_HOME}/lib
export PATH=${ES_JAVA_HOME}/bin:$PATH
export ES_HOME=/home/elasticsearch
export PATH=${ES_HOME}/bin:$PATH
#刷新配置
source /etc/profile
13.切换用户启动服务
# 需切换为es用户
su elasticsearch
cd /home/elasticsearch
./bin/elasticsearch
#
防火墙开启对应端口9200 9300
curl -i "http://192.168.3.16:9200"
如果以上命令可以执行,其他命令如
curl -X GET "192.168.3.36:9200/_cat/health?v&pretty"执行时报错503删除数据文件目录nodes,如:/home/elasticsearch/data