一、环境安装

  • 安装JDK

版本选择:JDK8、11或者14

JDK兼容性:https://www.elastic.co/cn/support/matrix#matrix_jvm 

操作系统兼容性:https://www.elastic.co/cn/support/matrix 

自身兼容性:https://www.elastic.co/cn/support/matrix#matrix_compatibility 

Elasticsearch环境

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

    http://www.elastic.show:9084/download/Elasticsearch/ 

虚拟机cenOS7 jdk11 elasticsearch7.10.0

  • 使用jdk11
  • 官网下载openJDK11 (需注册oracle账号)

https://www.oracle.com/java/technologies/downloads/#java11

  • filezilla 上传到linux   直接解压tar xf jdk-11.0.18_linux-x64_bin.tar.gz
  • 9以上版本需要手动生成jre,在解压后的jdk-11.0.18目录下执行bin/jlink --module-path jmods --add-modules java.desktop --output jre
  • 配置java环境变量 vi /etc/profile 添加JAVA_HOME=/www/server/jdk-11.0.18

     JAVA_JRE= $JAVA_HOME/jre

     PATH=$PATH:$JAVA_HOME/bin

     export JAVA_HOME

           export PATH

     export JAVA_JRE

     记得保存之后source /etc/profile

cenOS7本机自带jdk1.8,无法切换到jdk11  

  • 可以用 java -version  which java 两个命令确认本机环境
  • 通过cd命令进入 /usr/bin ,执行sudo rm -rf java (删除默认的java)
  • 执行sudo ln -s $JAVA_HOME/bin/java /usr/bin/java (将自己安装的java链接到默认java安装路径下);
  • sudo rm -rf javac (删除默认的javac)
  • 执行sudo ln -s $JAVA_HOME/bin/javac /usr/bin/javac (将自己安装的javac链接到默认javac安装路径下)

或者直接使用jenv管理多jdk环境,更加的方便

具体可参考cenOS多版本jdk管理

  • 安装elasticsearch7.10.0

启动elasticserch直接卡住,出现killed

解决办法:vi /config/jvm.options

将-Xms1g及-Xmx1g

改为-Xms512m -Xmx512m

max file descriptiors [4096] for elasticsearch process is too low,...

解决办法:vi /etc/security/limits.conf 添加

* soft nofile 65536

* hard nofile 65536

max virtual memory areas vm.max_map_count[65530] is too low,...

解决办法: vi /etc/sysctl.conf 添加

vm.max_map_count=262144

保存之后执行 sysctl -p

上面都是在root用户下进行,

第一次安装es因为安全问题会拒绝使用root用户启动

解决办法:添加用户组es,用户es,设置密码XXX,再添加es用户对目录拥有权限即可

groupadd es

useradd es -g es -p XXX

chown es:es -R elasticsearch-7.10.0/

注意:下面可以切换到es用户

the default discovery settings are unsuitable for production use...

解决办法:vi config/elasticsearch.yml 添加配置

discovery.seed_hosts: [127.0.0.1]

cluster.initial_master_nodes: ["node-1"]

启动后外部网络无法访问解决办法:vi config/elasticsearch.yml 添加配置   

network.host: 0.0.0.0表示所有外部网络都可以访问该es

上面全部执行完之后终于可以安心的启动关闭elasticsearch

  1. 运行elasticsearch./elasticsearch
  • 后面加-d 可以后台运行,可以用 ps aux |grep elasticsearch 命令进行查询详情
  1. 关闭
  • 前台运行直接用“CTRL+C”停止运行
  • 后台运行,可以jps 命令查出pid,然后用kill -9 pid直接杀进程
  • 还可以用rest api接口:

curl -XPOST http://主机ip:9200/_cluster/nodes/_shutdown关闭整个集群

curl -XPOST http://主机ip:9200/_cluster/node-1/_shutdown关闭某个节点