环境要求java
· Linux(Centos 7)linux
· ElasticSerach 6.6.1浏览器
ES下载elasticsearch
· 下载地址:https://www.elastic.co/cn/downloads/elasticsearchtcp
ES安装工具
· 进入Linux系统,切换到 /opt 目录下:加密
· 在opt目录下,建立elasticsearch文件夹,并进入文件夹内:日志
· 获取elasticearch安装包:code
o 方法1:可使用在线下载命令,下载安装包:进程
下载命令: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz
方法2:能够将以前已经下载好的安装包上传到当前目录下:
使用WinSCP工具,将下载到本地的安装包,上传到linux目录下
· 解压elasticsearch安装包
tar -zvxf elasticsearch-6.6.1.tar.gz
· 进入elasticsearch-6.6.1/config文件夹内,修改配置文件:
cd elasticsearch-6.6.1/config/
定位到#network.host: 192.168.0.1位置,在下面增长一行: network.host: 0.0.0.0
保存并退出(先按esc键,输入:wq!,按回车键便可)
启动
· 启动elasticsearch为后台进程服务:
切换到bin目录下,执行以下命令:
启动命令:./elasticsearch -d
问题1:could not find java; set JAVA_HOME or ensure java is in PATH
解决方案:须要系统搭建Java环境
搭建完毕以后,再次执行命令:./elasticsearch -d
· 判断是否启动成功,可执行以下命令,查看是否启用9200端口便可
ss -tanl
发现没有启用9200,则表明es启动失败,须要查看具体缘由:
接下来,则须要查看启动日志,切换到日志logs目录下
执行以下命令便可: more elasticsearch.log
经过日志分析所得,启动es服务的时候,是不容许使用超级管理员root帐户 那么接下来,咱们须要建立一个普通用户likang
使用普通用户(likang)启动es服务便可,以下命令: 第一步:liunx建立新用户 adduser likang
而后给建立的用户加密码 passwd likang 输入两次密码.
第二步:给新建的XXX赋权限,chown -R likang /opt/elasticsearch/
第三步:切换到likang普通用户下,执行启动命令
· 再次验证es是否启动成功,发现仍是失败,再次查看日志,分析如图:
问题:max file descriptors [4096] for elasticsearch process is too low,
increase to at least [65536] 缘由:每一个进程最大同时打开文件数过小 查看当前系统同时打开进程数的默认值: ulimit -Hn ulimit -Sn
解决方案:切换到root帐户,修改/etc/security/limits.conf文件,
增长配置,用户退出后从新登陆生效 su root 输入密码 vi /etc/security/limits.conf 在文件最后,增长以下配置: likang hard nofile 65536 likang soft nofile 65536 * soft nproc 4096 * hard nproc 4096
· 再次启动验证,发现还有问题,以下:
问题:max virtual memory areas vm.max_map_count [65530] is too low,
increase to at least [262144] 缘由:elasticsearch用户拥有的内存权限过小,至少须要262144 解决:切换到root用户,在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完毕以后,执行命令: sysctl -p
· 再次切换到likang普通用户,从新启动es服务。
远程访问
· 开启9200端口号访问
/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
· 可在浏览器中输入以下地址:http://192.168.73.131:9200/
· 若是显示如上信息,则表明Linux下ES已经搭建完毕(单机)
中止
· 如果es的前台运行,则用ctrl + c 来中止。
· 如果es的后台运行,则用kill -9 进程号 来中止。(可经过jps命令,查看es进程号)