es出新版了,虽然公司里仍是用的老版本,可是本地仍是有必要本身安装了玩玩java
下载地址:https://www.elastic.co/cn/downloads/elasticsearchlinux
那么通常来讲仍是建议安装到linux里,固然选择在win和mac也ok,咱们这里以linux安装为主redis
下载完毕之后上传到linux中:bootstrap
安装es以前,务必安装jdk1.8以上,官方说到openjdk也能够,可是没试过,你们能够自行尝试,如下就是官方的依赖说明,怎么安装jdk的,很少说了。。应该都会vim
解压es的tar包:安全
随后进入解压后es的目录,以下:elasticsearch
依次说一下目录结构吧:ui
bin:可执行文件在里面,运行es的命令就在这个里面spa
config:配置文件目录操作系统
lib:依赖的jar
logs:日志
modules:模块
plugins:能够本身开发的插件
data,这个目录,没有,本身新建一下:mkdir data,这个做为索引目录
随后进入conf目录,使用vim 修改 elasticearch.yml
修改集群名称,默认是elasticsearch,虽然目前是单机,可是也会有默认的
为当前的es节点取个名称,名称随意,若是在集群环境中,都要有相应的名字
这是修改数据和日志的存储目录
设置绑定的ip,和redis一个道理,设置为0.0.0.0之后就可让任何计算机节点访问到你了
设置在集群中的全部节点名称,这个节点名称就是以前所修改的,固然你也能够采用默认的也行,目前是单机,放入一个节点便可
修改完毕后,保存退出vim,随后就准备启动es了,进入到bin目录,运行es:./elasticsearch
这个时候报了一个异常:
java.lang.RuntimeException: can not run elasticsearch as root
很明显,提示说咱们没法使用root用户来运行es,这是es的设计,为了安全
那么这个时候就须要建立一个新用户,而且为这个用户添加es目录的操做权限了
切换用户之后,再次运行 ./elasticserch
此时又报错,来看一下:
java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER
其实从异常能够看出是不支持的操做系统,主要是 seccomp,那么从新进入 conf 下去配置 elasticsearch.yml
增长下面这一行配置,用于禁用seccomp
回到bin目录再次启动es,又发现以下3个错误:
ERROR: [3] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535] [2]: max number of threads [1024] for user [lee] is too low, increase to at least [4096] [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
那么依次去修改,不过得从新切换到root用户, su root
修改以下文件
添加以下:
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
vim /etc/security/limits.d/90-nproc.conf 修改此文件
改成4096
改完之后从新切换到非root用户lee下,运行es
这个时候发现已经成功启动了,以下是es的相关信息:
那么如今是前台启动方式,咱们须要改成后台启动方式来运行es,这样会更好
能看懂吧?很少说了哈
那么安装到此完毕!