在网上有很多那种ES步骤和问题的解决 方案的,不过没有一个详细的整合,和问题的梳理;我就想着闲暇之余,来记录一下自己安装的过程以及碰到的问题和心得;有什么不对的和问题希望及时拍砖。
第一步:环境
linux 系统 Java 1.8.0_151 elasticsearch-5.6.3
第二步:下载
2.1 JDK的下载可以去官网上直接下载,再次声明一下不要下载最新版本 JAVA 9 版本本人在次已经踩过坑了
2.2 ES 去官网直接下载,本人使用的是 5.6.3 版本;因为版本的不同安装head插件的时候安装步骤不同;好像是从5.0 以后的版本安装head 插件的步骤就不一样了;下面会详细介绍。
第三步:安装
3.1安装JDK环境
前提:查看该系统是否安装过Java 环境,如果安装过将其卸载安装最新的版本,更换Java 的版本也可以这样去操作。
3.1.1 执行命令 rpm -qa|grep jdk 如果安装过将会列出相应的版本,如果没有什么都不会输出。如果安装过使用rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 使用这个命令需要注意的就是,列出多少个版本插件就要卸载几个插件;执行完成后;在使用 rpm -qa|grep jdk 去查看一下是否有遗漏的插件没有卸载。
3.1.2 直接将下载好的jdk-8u151-linux-x64.rpm 安装包 ;上传到自己创建好的JAVA文件下;cd 命令进入到JAVA文件下使用rpm 命令进行安装 rpm -ivh jdk-8u131-linux-x64.rpm 安装完成后执行 java -version 命令查看安装是否成功
3.1.3 查看安装目录命令,
命令一:which java
命令二:ls -lrt /usr/bin/java
命令三:ls -lrt /etc/alternatives/java
最后将会得出这样的目录 /usr/java/jdk1.8.0_151/jre/bin/java
3.1.4 配置环境变量,执行命令 vi /etc/profile;然后进入编辑模式,在文件的最后添加下面的配置,如图
JAVA_HOME=/usr/javajdk1.8.0_151
JRE_HOME=/usr/java/jdk1.8.0_151/jre
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
修改完配置后,使用Esc 键退出,输入:wq 保存并退出
3.1.5 执行命令 source /etc/profile 使用环境变量生效
3.1.6 验证环境变量是否生效,分别执行下面的命令echo $JAVA_HOME echo $CLASSPATH echo $PATH
OK,JDK就这样安装好了。
3.2安装ES
3.2.1 下载ES安装包elasticsearch-5.6.3.zip 在usr 目录下创建了es文件夹,将安装包上传到里面,解压 unzip elasticsearch-5.6.3.zip cd 进入 elasticsearch-5.6.3 文件里面
3.2.2 创建ES用户和组(创建elsearch用户组及elsearch用户),因为使用root用户执行ES程序,将会出现错误;所以这里需要创建单独的用户去执行ES 文件;命令如下:
命令一:groupadd elsearch
命令二:useradd elsearch -g elsearch
命令三:chown -R elsearch:elsearch elasticsearch-5.6.3 该命令是更改该文件夹下所属的用户组的权限
3.2.3 修改host 文件,执行命令 vi /etc/hosts ,如图
3.2.4 创建ES数据文件和日志文件,直接在root用户根目录一下创建就可以了
执行命令:mkdir /data
命令二:chown -R elsearch:elsearch /data/
命令三:su - elsearch 切换用户
命令四:mkdir -p es/data
命令五:mkdir -p es/logs
3.2.5 修改ES配置文件,使用cd命令进入到config 文件下,执行 vi elasticsearch.yml 命令,如图所示,本人没有配置集群,只是简单的配置了一下;详细说明可以参考官网;
关于上面的警告都忽略了,然后直接就执行命令
3.2.6 执行ES文件,进入到bin 目录下执行 ./elasticsearch 命令就可以了,执行 ./elasticesrarch -d 是后台运行
如果没有什么问题话,就可以安全生成了;然后执行curl 'http://自己配置的IP地址:9200/' 命令,就出现下面的结果
第四步:问题
4.1 1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是说你的进程不够用了
解决方案: 切到root 用户:进入到security目录下的limits.conf;执行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的参数值:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
前面的*符号必须带上,然后重新启动就可以了。执行完成后可以使用命令 ulimit -n 查看进程数
2.[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 需要修改系统变量的最大值了
解决方案:切换到root用户修改配置sysctl.conf 增加配置值: vm.max_map_count=655360
执行命令 sysctl -p 这样就可以了,然后重新启动ES服务 就可以了
------------------------结合推荐系统项目进行单机安装