郑重提示这篇文章配出来的有点问题,用eshead一直说跨域连接不上,后来直接用docker了,附赠一个网址
https://registry.hub.docker.com/_/elasticsearch
下面的内容大家自己决定看不看把,要是有大神指导我的错误原因,麻烦留言评论给我。
在官网下载压缩包
https://www.elastic.co/cn/start
解压安装
tar -xvf elasticsearch
首先需要添加elasticsearch用户,因为默认不支持rootuseradd elsearch
更改所属用户组chown -R elsearch:elsearch /root/es/
修改配置文件vim config/elasticsearch.yml
配置network.host 改为 0.0.0.0
添加跨域请求(此处可根据自己的需要决定是否添加)
http.cors.enabled: true
http.cors.allow-origin: "*"
之后还需要修改两处地方
一、这时候还要修改jvm配置,因为在elasticsearch中如果不是127.0.0.1,则会默认给一个特别高的开发环境,所以要修改两处地方,具体要修改的数值根据自己实际修改。
-Xms128m
-Xmx128m
二、配置一个进程在VMAs(虚拟内存区域)创建内存映射最大数
vim /etc/sysctl.conf
vm.max_map_count=655360
启动es服务
su - elsearch
cd bin
./elasticsearch 或 ./elasticsearch -d #后台启动
#通过访问进行测试,如果看到如下信息,就说明ES启动成功
注意:
这个时候会报错could not find java in bundled JDK at /root/es/elasticsearch-7.12.0/jdk/bin/java
这个错误是因为,解压的es目录还是在root下。于是在根目录下创建了/es目录,将文件重新解压到/es目录后,重新赋权用户组为elsearch。
之后再次启动,提示
修改系统内置,需要在root下执行
vim /etc/sysctl.conf
# 添加
vm.max_map_count = 655360
# 刷新
sysctl -p
vim /etc/security/limits.conf
添加如下内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
线程数太低
vim /etc/security/limits.d/20-nproc.conf
错误: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
修改
config/elasticsearch.yml
cluster.initial_master_nodes: ["node-1"]
最后访问
http://127.0.0.1:9200/ 出现下图表示安装成功
elasticstack-head安装
由于ES官方并没有为ES提供界面管理工具,仅仅是提供了后台的服务。elasticsearch-head是一个为ES开发的网页客户端工具,其源代码托管于GitHub,地址为:https://github.com/mobz/elasticsearch-head head提供了四种安装方式
源码安装,通过npm run start启动(不推荐)
通过docker安装(推荐)
通过chrome插件安装(推荐)
通过ES的plugin方式安装(不推荐)
docker安装
docker pull mobz/elasticsearch-head
docker run --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head
chrome插件安装
在谷歌应用商店安装