elasticsearch单机版安装及安装过程踩的坑整理
elasticsearch单机版安装及安装过程踩的坑整理
环境及版本
Linux版本:centos7.3
JDK版本:1.8
Elasticsearch版本:
Linux用户:esuser
说明:因为es不能使用root用户安装,所以我们需要创建新用户:esuser.
本文中软件:
开始安装
1:创建es用户
useradd 用户名.如创建esuser这个用户:useradd esuser
给已经创建的用户设置密码,命令:
passwd 密码。如给刚才创建esuser创建密码为123456.命令:passwd 123456
创建完成之后,需要重新设置密码。
上传es的安装包
2:Es下载:
https://www.elastic.co/guide/en/elasticsearch/reference
需要注意:es7以后需要高版本的jdk或者openJDK
下图是es7对JDK版本的要求。
因为凯哥本地的JDK是1.8,所以不能使用ES7+的
凯哥使用ES6.8的。下图是6.8对JDK的要求。
6.8下载地址:
3:上传并解压
下载后,使用esuser用户将下载的安装包上传到服务器中。
解压:tar -xzf elasticsearch-6.8.7.tar.gz
切换到解压后的目录:
4:修改配置信息
说明:以下修改都是在root用户下修改的。而不是es用户下修改的
4.1:修改外网访问:
在eshome/config下elasticsearch.yml文件
如凯哥:eshome就是:/home/esuser/esxxx6.8.7
修改:elasticsearch.yml
放开network.host。修改成0.0.0.0或者是es服务器机器ip.
network.host: 0.0.0.0
大概在55行:
说明:如果不修改的话,有可能localhost能访问,但是通过ip访问不了。
在文章后面,凯哥会记录这个坑的。
4.2:修改系统进程最大打开文件数
修改 vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
修改:
vi /etc/security/limits.d/90-nproc.conf
修改:
* soft nproc 4096
ps:因为我的报了这个错误。所以就修改成4096
修改:vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
5:启动es
切换到es的bin目录:
执行:./elasticsearch
当出现如下信息,说明启动成功了。
通过浏览器访问对应连接:
访问成功。说明配置成。
关闭es,修改成后台启动模式:./elasticsearch &
总结安装es遇到的坑。
一:ES版本与JDK版本不一致
凯哥在第一次安装ES的时候,打开ES官网看到最新版本是7.6。因为不知道ES与JDK版本有对应关系。本地1.8的JDK。安装的时候,一堆错误。然后各种搜索,查看官网才发现JDK版本不一致导致。于是果断更换ES版本。
解决办法:更换符合自己JDK版本的ES
二:启动的时候提示权限不足
在启动ES的时候提示权限不足
原因:ES不能使用root用户。
解决方法:创建es用户。
三:ES不能外网访问
更换ES之后,再次安装后,用localhost能够访问,但是通过ip+端口就不能访问了。
解决办法:elasticsearch.yml中第55行。设置host.
四:进程数量限制
错误信息1:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
或者是:
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
错误信息2:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
错误1解决:
切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误2解决:
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
附JDK安装:
编辑/etc/profile.命令;
vi /etc/profile
进入编辑模式:
命令:i
export JAVA_HOME=/root/jdk1.8.0_111
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
说明:修改JAVA_HOEM =你自己jdk路径
然后复制,到文件最后。如下图:
Esc :wq!进行保存并强制退出。
让profile立即生效命令:
source /etc/profile
输入java -version 查看版本号。
如果提示权限不足。修改:
chmod 777 /home/soft/java/bin/java
说明:/home/soft/java/ 这个目录是你自己Java安装目录哦!
赋权之后,在执行Java -vserion 就可以查看jdk版本号了
本文来自博客园,作者:kaizi1992,转载请注明原文链接:https://www.cnblogs.com/kaigejava/p/12425401.html