Elasticsearch-Linux CentOS7下安装

1、下载elasticsearch-5.5.0.zip

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip

2、解压

unzip elasticsearch-5.5.0.zip

3、移动到固定的目录

mv /elasticsearch-5.5.0 /usr/software/el

4、el属于开箱即用,进入目录,运行

cd elasticsearch-5.5.0/bin ./elasticsearch


很可能报错:

报错:默认配置的内存是2G,修改配置为512m

Elasticsearch-Linux CentOS7下安装

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N

Killed

这种属于内存不足的情况,进入到config目录

1、cd elasticsearch-5.5.0/config

修改jvm.options

-Xms2g 变成这样--------------> -Xms512m 

-Xmx2g 变成这样--------------> -Xms512m

Elasticsearch-Linux CentOS7下安装 

2、修改/bin/elasticsearch

ES_JAVA_OPTS="-Xms512m -Xmx512m"


Elasticsearch-Linux CentOS7下安装

3、这样就可以把内存变成512M了,重新进去bin目录下去启动服务,还是启动就Killed的话,查看机子内存使用命令:

free -m(查看内存使用情况)

Elasticsearch-Linux CentOS7下安装

top -c(查看当前那些程序占用的内存很大。)

再次启动:报错

Elasticsearch-Linux CentOS7下安装

意思是说不能在root用户下启动,这个时候就需要新建一个用户 :

groupadd elsearch  --创建用户组elsearch

useradd elsearch -g elsearch -p elsearch  --创建用户elsearch 属于elsearch 组 

cd /usr/software/el  --进入到你安装elasticsearch的目录下

chown -R elsearch:elsearch elasticsearch  --把elasticsearch-5.5.0/ 授权给用户elsearch

su elsearch --切换elsearch用户

再次启动:报错 

Elasticsearch-Linux CentOS7下安装

切换到root用户下

su root

修改

1.vi /etc/security/limits.conf
在文档最下面增加如下
* soft nofile 65536
* hard nofile 65536

2.vim /etc/security/limits.d/20-nproc.conf 
修改为:
es-user soft nproc 4096

3.vim /etc/sysctl.conf  
#增加:

vm.max_map_count=65536

使这个命令生效:  sysctl -p

再次启动:报错 ERROR: bootstrap checks failed 

进入elasticsearch.yml文件,找到这个注释,然后改成

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

Elasticsearch-Linux CentOS7下安装

顺便说一下,-d表示在后台启动服务,要不然当前窗口关闭之后服务就停掉了

进入到bin目录下

./elasticsearch -d

查看启动是否成功

如还有错误,

##启动报错--failed to obtain node locks, tried [[/usr/local/elasticsearch-5.5.0/data/elasticsearch]] with lock id [0];
##maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?

进入elasticsearch.yml文件,增加如下

node.max_local_storage_nodes: 2

Elasticsearch-Linux CentOS7下安装

到此,输入下面命令行检查是否真的成功启动

curl localhost:9200

如果得到下面的东西,就说明服务启动成功了

Elasticsearch-Linux CentOS7下安装

es的关闭和重启

使用ps -ef | grep elasticsearch

找到进程 kill -9 4448【kill -9 表示强制杀死某个进程】

Elasticsearch-Linux CentOS7下安装

es在外网的访问

在浏览器*问:你的服务器ip:9200,无法访问

1.开放9200端口,2.可以关闭防火墙,3.进入config目录,修改elasticsearch.yml

#network.host: 192.168.0.1 
改成
network.host: 0.0.0.0

之后重启服务,在浏览器上输入你的服务器ip:9200

如果出现

Elasticsearch-Linux CentOS7下安装

说明es启动成功!