0
点赞
收藏
分享

微信扫一扫

ElasticSearch集群安装

左手梦圆 2023-05-15 阅读 100

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

 

 

举报

相关推荐

0 条评论