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.****.net/yejingtao703/article/details/78126750【安装】
https://blog.****.net/ntc10095/article/details/73650794【遇到的问题及解决方案】