什么是elasticsearch?
elasticsearch是一个分布式的开源搜索和分析引擎。它速度快,搜索功能强大,常用于数据量大,需求复杂的搜索场景。非常适合大型商城的搜索。
更多介绍请看官方介绍文档:
https://www.elastic.co/cn/wha...
https://www.elastic.co/guide/...
怎么安装?
elasticsearch的安装非常简单,只需要下载,解压就行了。
1 下载并解压包
官网下载地址: elastic.co/downloads/elasticsearch
2 cd到解压的elasticsearch目录
3 运行(启动):
./bin/elasticsearch
如果希望关闭终端后elasticsearch仍然运行可以添加 -d 参数:
./bin/elasticsearch -d
curl 127.0.0.1:9200
5 如果启动其他机器也能访问此服务,需要修改elasticsearch.yml文件(在安装目录的config文件夹中),添加如下代码
network.host: 0.0.0.0
然后重新启动就可以了
安装过程可能遇到的问题及处理方法
解决:先执行命令 free -m 查看内存是不是还有 最主要的是 看有没有交换空间 swap (这很重要)如果没有交换空间 或者交换空间比较小 要先安装交换空间 或者增大空间
- 创建swapfile:dd if=/dev/zero of=swapfile bs=1024 count=500000
- 将swapfile设置为swap空间(第二步:把这个文件变成swap文件)
mkswap swapfile
- 启用交换空间(第三步:启用这个swap文件)
swapon swapfile (删除交换空间是swapoff swapfile)至此增加交换空间的操作结束了。
可以使用free命令查看swap空间大小是否发生变化;
https://blog.csdn.net/weixin_44105991/article/details/91320644
原因:可能是内存不够了
解决:修改ES中config目录下的jvm.options文件vim jvm.options 将
-Xms1g
-Xmx1g
改为
-Xms512m
-Xmx512m
问题三:can not run elasticsearch as root
解决:
原文:https://www.cnblogs.com/gcgc/p/10297563.html
1、创建用户:elsearch
[root@iZbp1bb2egi7w0ueys548pZ bin]# adduser elsearch
2、创建用户密码,需要输入两次
[root@iZbp1bb2egi7w0ueys548pZ bin]# passwd elsearch
3、将对应的文件夹权限赋给该用户
[root@iZbp1bb2egi7w0ueys548pZ local]# chown -R elsearch elasticsearch-7.7.0
4、切换至elsearch用户
[root@iZbp1bb2egi7w0ueys548pZ etc]# su elsearch
5、进入启动目录启动 /usr/local/elasticsearch-6.0.0/bin 使用后台启动方式:./elasticsearch -d
[elasticsearch@vmt10003 bin]$ ./elasticsearch -d
6、启动后测试
输入curl ip:9200,如果返回一个json数据说明启动成功
这里创建了个新用户 elsearch 密码:12345abc321
启动后访问ip:9200没有显示json
[root@iZbp1bb2egi7w0ueys548qZ ~]# curl 10.132.131.51:9200 curl: (7) Failed connect to 10.132.131.51:9200; Connection refused
解决:修改elasticsearch.yml文件,添加
network.host: 0.0.0.0
再次启动就可以了
错误5:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
elasticsearch启动时遇到的错误
问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;
解决:切换到root用户,执行命令:
sysctl -w vm.max_map_count=262144
查看结果:
sysctl -a|grep vm.max_map_count
显示:
vm.max_map_count = 262144
上述方法修改之后,如果重启虚拟机将失效,所以:
解决办法:
在 /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
即可永久修改
错误6:
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
原文:https://blog.csdn.net/happyzx...
解决:修改elasticsearch.yml,取消注释(保留一个节点)
cluster.initial_master_nodes: ["node-1"]