1.JDK安装 因为我这里安装的ES版本是7.9.3
因为项目用的1.8的JDK, 7.9.3又兼容1.8,我在这装了1.8的JDK
支持一览表的IP 支持一览表 | Elastic
先将jdk的tar.gz 文件拷入系统
tar -zxvf jdk-8u351-linux-x64.tar.gz 解压压缩包
配置环境变量
vim /etc/profile
在最后加上
exprot JAVA_HOME=/zx/jdk1.8.0_351
export CLASSPATH=.:JAVA_HOME/lib/dt.jar;JAVA_HOME/lib/tools.jar
export PATH=PATH;JAVA_HOME/bin
键入source /etc/profile使环境变量生效
javac
java
JDK1.8安装完成
2.下载es
3.将
拷入linux
tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz 解压
先试着启动一下
运行bin目录下的elasticsearch文件
./elasticsearch-7.9.3/bin/elasticsearch
报错信息如下
即不能用root用户启动es
4.新建一个普通用户
新建一个组
groupadd group11
新建一个用户并设置组为group11,密码为password11
useradd user11 -g group11 -p password11
给用户user11只读的权限chown -R user11 /zx/elasticsearch-7.9.3
接下来用户名密码登录user11账号试一下
因为我是vagrant虚拟机默认不能使用密码登录
修改/etc/ssh/sshd_config配置文件
PassowrdAuthentication yes
将PassowrdAuthentication no改为PassowrdAuthentication yes
保存完需要重启一下才能生效
结果我用user11设置的密码password11没登录进去
我添加的组和密码好像都没什么卵用
之后我又在root权限下给user11修改密码
passwd user11
又重新登录了一次
终于user11成功登录了
5.用user11启动es
./elasticsearch
看起来没什么问题也没报错
本机访问一下
curl localhost:9200
这证明安装是没得问题的
但是在局域网的机子上
但是毛都没有,通过网络访问不到,现在需要改一下es的配置文件
配置允许外网访问
修改 /config/elasticsearch.yml文件
将network.host: 0.0.0.0
再重新启动
报错信息如下
前两条是需要改/etc/security/limits.conf文件
第一条报错对应着nofile的两条修改 进程数太少根据报错设置的大一点
第二条报错对应 nproc两条修改 线程数太少
保存后(启动es用user11用户,编辑配置文件在root权限下操作)
重启es报错信息没变
考虑一些不知道的什么东西重启一下linux
reboot
之后报错信息如下
证明前两条报错信息修改的没有问题
在修改这两条
第一条
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
需要去修改 /etc/sysctl.conf
vim /etc/sysctl.conf
在最底下添加一行
修改完
sysctl -p
至此这一条报错应该没问题了
在修改第二条
去 /config/elaticsearch.yml
修改添加一条
cluster.initial_master_nodes: ["node-1"]
保存之后重启一下es(重复一遍,es启动都是只读权限的user11用户,编辑配置文件使用root权限)
修改这个文件(/config/elasticsearch.yml)是要小心格式
我暂时发现了这些,反正这个文件小心点不然就会报
这样子的错误
我改好格式后,重启es
正常启动
再去另一台机子上访问一下
安装成功