需求:
最近在搭建自己的博客网站,然后东西多了之后就有了搜索了的需求。百度了一下,发现基于elsearchstatic的搜索引擎被各个大牛力荐,于是乎准备在阿里云上搞一个。既然是搜索引擎,使用场景肯定是发布上线后进行使用的场景居多,那就干脆在直接在linux上搞一个(我用的是阿里云)。由于经济窘迫,我买的阿里云是1cpu1G内存的廉价难民版,这里我只想说穷逼玩云服务器都快玩不起了。好在功夫不负有心人,还是被我搞定了。好了,废话不说了,开始进入正题:
参照阮一峰老师的教程《全文搜索引擎 Elasticsearch 入门教程》一步一步来。
1.安装java(elstaticsearch需要java环境)
wget https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz?AuthParam=1540641365_882bd48f7d43c5f008668ed26e37f588
不知道为啥,我直接下载不行,然后我就本地window下载好后,winscp直接拖进阿里云的服务器了,然后解压到你想要的目录。
接着配置环境变量:
vim ~/.bashrc
在最后一行 输入 export PATH=<java bin 所在的目录>:$PATH
然后保存退出,重新登录shell(我用的是xshell)即可生效。
你也可以像window下安装java一样,输入java -version查看结果。
2.安装elstaticserach 6.4.0
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz //下载
tar -XZVF elasticsearch-6.4.2.tar.gz //解压
敲黑板了:
elstaticsearch的启动对环境要求很高,我手里的这台难民级服务器完全达不到要求,运行elasticsearch时(./bin/elasticsearch)会出现种种问题:
问题一: 服务器的内存不够
解决方案:
参照我这篇文章
问题二: 不能以root用户运行
解决方案:
建议创建一个单独的用户用来运行ElasticSearch
1.创建elsearch用户组及elsearch用户
2.把elasticsearch安装目录复制到/home/elsearch/下(便于访问)
3.修该elasticsearch安装目录所属用户和用户组
4.都搞定了之后切换用户
5.启动
groupadd elsearch //创建用户组
useradd elsearch -g elsearch -p elasticsearch //创建用户名和密码
chown -R elsearch:elsearch <elasticsearch安装目录> //改变文件夹所属用户组
su elsearch //都搞定了之后切换用户
./bin/elasticsearch //启动
问题三: 配置不够

在图1.1中可以看到启动后报错。
解决方案:
切换到root用户
vim /etc/security/limits.conf
- soft nofile 65536
- hard nofile 131072
- soft nproc 2048
- hard nproc 4096
vim /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
保存退出后并执行命令:
sysctl -p
最后,重新启动elasticsearch,即可启动成功。(注:上面那些值你看之前启动elasticsearch时提示<at least后面那个值>你最少修改多,你就改成提示的值即可)
补充:
1.后台启动elasticsearch
./bin/elasticsearch -d
2.执行netstat -ntlp 如果看到9200端口说明elasticsearch启动成功
网友评论