linux安装Elasticsearch5.6.x详细步骤以及问题解决⽅案
在⽹上有很多那种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-x6
4.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 ⽂件下,执⾏ l 命令,如图所⽰,本⼈没有配置集,只是简单的配置了⼀下;详细说明可以参考官⽹;
关于上⾯的警告都忽略了,然后直接就执⾏命令
3.2.6 执⾏ES⽂件,进⼊到bin ⽬录下执⾏ ./elasticsearch 命令就可以了,执⾏ ./elasticesrarch -d 是后台运⾏
如果没有什么问题话,就可以安全⽣成了;然后执⾏curl '⾃⼰配置的IP地址:9200/' 命令,就出现下⾯的结果
第四步:问题
4.1 1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是说你的进程不够⽤了
解决⽅案:切到root ⽤户:进⼊到security⽬录下的f;执⾏命令 vim /etc/f 在⽂件的末尾添加下⾯的参数值:
* 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⽤户修改配置f 增加配置值: vm.max_map_count=655360
执⾏命令 sysctl -p 这样就可以了,然后重新启动ES服务就可以了
第五步:安装head 插件
5.1 下载head安装包,下载地址:github/mobz/elasticsearch-head/archive/master.zip 这是接从git 上下载下来,然后上传到虚拟机上的;由于head 插件不能放在elasticsearch-5.
6.3
⽂件夹⾥,head 插件需要单独放,单独去执⾏;所以在elasticsearch-5.6.3 同级⽬录下解压了 head 插件;解压出来的⽂件名字,如图
5.2 执⾏head 插件,需要node.js 的⽀持,所以,下⾯先安装⼀node.js
5.2.1 执⾏命令⼀:curl -sL desource/setup_8.x | bash -
命令⼆:yum install -y nodejs
OK,执⾏完成后,可以使⽤命令 node -v 验证是否安装成功,同时npm 也安装成功了;执⾏命令 npm -v 也是可以验证的。
5.3 安装grunt ,由于head 插件的执⾏⽂件是有grunt 命令来执⾏的,所以这个命令必须安装
5.3.1 安装命令⼀:npm install grunt --save-devcurl是什么命令
命令⼆:npm install
5.3.2 修改配置⽂件,cd 进⼊elasticsearch-head-master ⽂件夹下,执⾏命令vim Gruntfile.js⽂件:增加hostname属性,设置为*;如图:
5.3.3 修改 vim _site/app.js ⽂件:修改head的连接地址:,如图所⽰:
5.3.4 最后⼀个命令: grunt server & 执⾏完成后就OK了
5.3.5 涉及到的问题,在⽹页上⽆法正常访问;查看防⽕墙是否关闭
5.3.5.1 执⾏命令service iptables status 查看状态;直接将防⽕墙关闭就好了执⾏命令service iptables stop
最后执⾏的结果是这样的,我没有配置集:注意下⾯使⽤的端⼝号,不在是9200 了⽽是head 插件中的 9100 了
看到上⾯的出现的健康值了吗,说明的连接还是有问题的,解决⽅案是修改 cd 命令进⼊到elasticsearch-5.6.3 /config ⽂件中 l ⽂件下添加:
然后重新执⾏ES ./elasticsearch 成功起来就可以了,执⾏结果就是这样的
欢迎各位朋友拍砖,相互学习!!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论