Linux下安装ElasticSearch5.5.0 搜索引擎 (实操成功)

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

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

2、修改/bin/elasticsearch【这个没有用到,记录之】

ES_JAVA_OPTS="-Xms512m -Xmx512m"

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

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

top -c(查看当前那些程序占用的内存很大。这边我装了jenkins,还有一个jar包跑了我500m的内存,都关掉之后,内存空出来了)

再次启动:报错

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

【解释下面的命令:

创建用户组elsearch

创建用户elsearch 属于elsearch 组 

进入到你安装elasticsearch的目录下

把elasticsearch-5.5.0/ 授权给用户elsearch

切换elsearch用户 】

groupadd elsearch

useradd elsearch -g elsearch -p elsearch

cd /usr/software/el

chown -R elsearch:elsearch elasticsearch 

su elsearch

再次启动:报错

切换到root用户下

su root

1、vi /etc/security/limits.conf

在最后添加下面内容,已经有了的话就覆盖

* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096

然后

2、vi /etc/security/limits.d/90-nproc.conf 【这里我是20-nproc.conf】

修改如下内容: * soft nproc 1024 #修改为 * soft nproc 2048

3、vi /etc/sysctl.conf

添加

vm.max_map_count=655360

最后

4、sysctl -p

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

因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

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

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

应该就可以了。

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

进入到bin目录下

./elasticsearch -d

查看启动是否成功

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

curl localhost:9200

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

如果需要kill整个服务

使用ps -ef | grep elasticsearch

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

 

之后在浏览器上访问:你的服务器ip:9200,无法访问,查看阿里云服务器安全组是否开启端口号,如果没有开启,先开启,之后还是无法访问的话

进入config目录,修改elasticsearch.yml

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

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

如果出现

 

则表示Elasticsearch安装成功

之后你需要通过什么语言去做这个实现搜索的功能。再去百度找吧

【这边提一句:注意,如果使用Java语言的话,使用jar包的话,客户端需要和服务端的版本一致才行,而且lucene的版本这里也有,需要注意版本需一致

使用maven的命令查看项目jar包之间的版本关系:

Ctrl+R,输入cmd,进入到项目的目录下,使用maven的命令:mvn dependency:tree >list.tx

之后找这个文件即可】

借鉴:

https://blog.csdn.net/yejingtao703/article/details/78126750【安装】

https://blog.csdn.net/ntc10095/article/details/73650794【遇到的问题及解决方案】

 

 

展开阅读全文

没有更多推荐了,返回首页