我的服务器版本是centos8,安装的es版本是7.4.2,es基于java先安装jdk,es下载完成后里面是包含jdk的包的。无须重复下载jdk。
elasticsearch7.4.2版本,提取码 et7y
1.下载完成后解压
tar xzvf elasticsearch-7.4.2-linux-x86_64.tar.gz
2.解压完成后进入到bin文件夹下,并启动elasticsearch
cd /usr/local/elasticsearch-7.4.2/bin/
su es # 使用创建的账户进行启动[es不能在root账户下运行]
./elasticsearch # 启动elasticsearch
可以提前创建es用户
# 创建es账户
adduser es
# 修改密码
passwd es
#输入的密码会提示不能少于8个字符,并且不能太过简单(eg:qqq231w2.)
#给es用户elasticsearch目录的授权
chown -R es /data/soft/elasticsearch-7.4.2/
添加完成后使用sudo可能会出错,需要修改修改sudoers文件
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
es ALL=(ALL) ALL #这个是新用户es
wq!强制保存关闭即可
运行es,
/data/soft/elasticsearch-7.4.2/bin/elasticsearch
可能会出现如下错误:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
这是因为jdk版本太老,需要更新jdk
1.先查看系统jdk版本:
rpm -qa|grep java
2.卸载老的jdk
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
验证一下是否还有jdk
rpm -qa|grep java
没有内容说明卸载完成,然后配置新版jdk,这里我以安装es7.4.2自带的jdk13为例
解压好的es目录如下:
红框就是自带的jdk13,将其拷贝到/data/soft目录,方便管理。
需要编辑配置文件,配置环境变量
vim /etc/profile , ~/.bashrc_profile, ~/.zshrc [这几个文件看自己使用的shell进行操作]
添加如下:
export JAVA_HOME=/data/soft/jdk # 等号后面就是你的jdk路径,可以自行修改,需要注意的是不能放在root目录下,否则es用户可能没有权限执行
export JRE_HOME=/data/soft/jdk/jre # 等号后面就是你的jdk路径,可以自行修改,需要注意的是不能放在root目录下,否则es用户可能没有权限执行
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib # 这里不用修改
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin # 这里不用修改
添加完成后需要刷新生效。执行source /etc/profile 或者 source ~/.bashrc_profile或者source ~/.zshrc
查看java安装情况:
java -version
出现下图表示成功:
再次运行es:
可能会报错
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
可以尝试修改es配置文件夹内的jvm.options文件配置,将 -XX:+UseConcMarkSweepGC 改为 -XX:+UseG1GC。并重启es。
到这一步应该会出现如下信息:
启动成功
表示启动成功,重新打开一个终端并输入:
curl http://127.0.0.1:9200
出现如下输入表示成功: 成功截图
需要注意的是如果想通过外网访问es,则需要开放9200端口[可更改],且需要修改es配置文件:
vim /data/soft/elasticsearch-7.4.2/config/elasticsearch.yml
#设定绑定的ip
network.host: 100.100.100.1【该ip为内网ip】
修改截图
保存后重启es
可能出现报错:
报错
在 elasticsearch.yml中添加配置项:bootstrap.system_call_filter为false:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
取消下面注释并保留一个节点:
cluster.initial_master_nodes: ["node-1"]
再次重启es。无报错,成功,访问es端口出现如下页面。完成:
成功页面
网友评论