一、环境安装
- 安装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
- 同上下载、上传、解压
- https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-10-0
- 直接运行 ./elasticsearch 会有各种问题,下面就我出的问题一个一个解决
启动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
- 运行elasticsearch./elasticsearch
- 后面加-d 可以后台运行,可以用 ps aux |grep elasticsearch 命令进行查询详情
- 关闭
- 前台运行直接用“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关闭某个节点